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