| // Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| package com.android.tools.r8.graph.invokesuper; |
| |
| import com.android.tools.r8.errors.Unreachable; |
| |
| /** |
| * This class is a stub class needed to compile the dependent Java classes. The actual |
| * implementation that will be used at runtime is generated by {@link InvokerClassDump} and {@link |
| * InvokerClassFailingDump}. |
| */ |
| public class InvokerClass extends SubLevel2 { |
| |
| public void invokeSuperMethodOnSubLevel2() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSuperMethodOnSubLevel1() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSuperMethodOnSuper() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSubLevel1MethodOnSubLevel2() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSubLevel1MethodOnSubLevel1() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSubLevel1MethodOnSuper() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSubLevel2MethodOnSubLevel2() { |
| stubIsUnreachable(); |
| } |
| |
| public void invokeSubLevel2MethodOnSubClassOfInvokerClass() { |
| stubIsUnreachable(); |
| } |
| |
| private static void stubIsUnreachable() { |
| throw new Unreachable("Stub should never be called."); |
| } |
| } |