17cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray/* 27cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * Copyright (C) 2015 The Android Open Source Project 37cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * 47cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * Licensed under the Apache License, Version 2.0 (the "License"); 57cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * you may not use this file except in compliance with the License. 67cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * You may obtain a copy of the License at 77cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * 87cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * http://www.apache.org/licenses/LICENSE-2.0 97cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * 107cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * Unless required by applicable law or agreed to in writing, software 117cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * distributed under the License is distributed on an "AS IS" BASIS, 127cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * See the License for the specific language governing permissions and 147cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray * limitations under the License. 157cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray */ 167cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray 177cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffrayinterface Itf { 187cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray} 197cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray 207cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffrayclass Foo { 217cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray} 227cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray 237cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffrayclass Main extends Foo implements Itf { 247cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray public static void main(String[] args) { 257cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray Itf parent = getParent(); 267cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray if (!(parent instanceof Foo)) { 277cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray throw new Error("Instanceof should have succeeded"); 287cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray } 297cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray } 307cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray 317cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray static Itf getParent() { return new Main(); } 327cb499b1af1575c854860b0d6a103c4a2a59a569Nicolas Geoffray} 33