1; Copyright (C) 2019 The Android Open Source Project 2; 3; Licensed under the Apache License, Version 2.0 (the "License"); 4; you may not use this file except in compliance with the License. 5; You may obtain a copy of the License at 6; 7; http://www.apache.org/licenses/LICENSE-2.0 8; 9; Unless required by applicable law or agreed to in writing, software 10; distributed under the License is distributed on an "AS IS" BASIS, 11; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12; See the License for the specific language governing permissions and 13; limitations under the License. 14 15.class public art_test/TestCases1966 16.super java/lang/Object 17.inner class public static TestClass1 inner art/Test1966$TestClass1 outer art/Test1966 18.inner interface public static abstract TestInterface inner art/Test1966$TestInterface outer art/Test1966 19 20.method public <init>()V 21 .limit stack 1 22 .limit locals 1 23 0: aload_0 24 1: invokespecial java/lang/Object/<init>()V 25 4: return 26.end method 27 28.method public static PrimitiveMethod(Ljava/util/function/IntConsumer;)V 29 .limit stack 2 30 .limit locals 2 31 0: bipush 42 32 2: istore_1 33 3: aload_0 34 4: sipush 1 35 7: invokeinterface java/util/function/IntConsumer/accept(I)V 2 36 12: iload_1 37 13: invokestatic java/lang/Integer/valueOf(I)Ljava/lang/Integer; 38 16: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 39 19: return 40.end method 41 42.method public static CastInterfaceMethod(Ljava/util/function/IntConsumer;)V 43 .limit stack 2 44 .limit locals 3 45 0: ldc "ObjectMethod" 46 2: invokestatic art/Test1966$TestClass1/create(Ljava/lang/String;)Ljava/lang/Object; 47 5: astore_1 48 6: aload_1 49 7: checkcast art/Test1966$TestClass1 50 10: astore_2 51 11: aload_0 52 12: sipush 2 53 15: invokeinterface java/util/function/IntConsumer/accept(I)V 2 54 20: aload_2 55 21: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 56 24: return 57.end method 58 59.method public static CastExactMethod(Ljava/util/function/IntConsumer;)V 60 .limit stack 2 61 .limit locals 3 62 0: ldc "ObjectMethod" 63 2: invokestatic art/Test1966$TestClass1/create(Ljava/lang/String;)Ljava/lang/Object; 64 5: astore_1 65 6: aload_1 66 7: checkcast art/Test1966$TestClass1 67 10: astore_2 68 11: aload_0 69 12: sipush 2 70 15: invokeinterface java/util/function/IntConsumer/accept(I)V 2 71 20: aload_2 72 21: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 73 24: return 74.end method 75 76.method public static ObjectMethod(Ljava/util/function/IntConsumer;)V 77 .limit stack 2 78 .limit locals 2 79 0: ldc "ObjectMethod" 80 2: invokestatic art/Test1966$TestClass1/create(Ljava/lang/String;)Ljava/lang/Object; 81 5: astore_1 82 6: aload_0 83 7: sipush 1 84 10: invokeinterface java/util/function/IntConsumer/accept(I)V 2 85 15: aload_1 86 16: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 87 19: return 88.end method 89 90.method public static InterfaceMethod(Ljava/util/function/IntConsumer;)V 91 .limit stack 2 92 .limit locals 2 93 0: ldc "InterfaceMethod" 94 2: invokestatic art/Test1966$TestClass1/createInterface(Ljava/lang/String;)Lart/Test1966$TestInterface; 95 5: astore_1 96 6: aload_0 97 7: sipush 1 98 10: invokeinterface java/util/function/IntConsumer/accept(I)V 2 99 15: aload_1 100 16: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 101 19: return 102.end method 103 104.method public static ExactClassMethod(Ljava/util/function/IntConsumer;)V 105 .limit stack 2 106 .limit locals 2 107 0: ldc "SpecificClassMethod" 108 2: invokestatic art/Test1966$TestClass1/createExact(Ljava/lang/String;)Lart/Test1966$TestClass1; 109 5: astore_1 110 6: aload_0 111 7: sipush 1 112 10: invokeinterface java/util/function/IntConsumer/accept(I)V 2 113 15: aload_1 114 16: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 115 19: return 116.end method 117 118.method public static CastExactNullMethod(Ljava/util/function/IntConsumer;)V 119 .limit stack 2 120 .limit locals 3 121 0: aconst_null 122 1: astore_1 123 2: aload_1 124 3: checkcast art/Test1966$TestClass1 125 6: astore_2 126 7: aload_0 127 8: sipush 2 128 11: invokeinterface java/util/function/IntConsumer/accept(I)V 2 129 16: aload_2 130 17: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 131 20: return 132.end method 133 134.method public static CastInterfaceNullMethod(Ljava/util/function/IntConsumer;)V 135 .limit stack 2 136 .limit locals 3 137 0: aconst_null 138 1: astore_1 139 2: aload_1 140 3: checkcast art/Test1966$TestInterface 141 6: astore_2 142 7: aload_0 143 8: sipush 2 144 11: invokeinterface java/util/function/IntConsumer/accept(I)V 2 145 16: aload_2 146 17: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 147 20: return 148.end method 149 150.method public static NullMethod(Ljava/util/function/IntConsumer;)V 151 .limit stack 2 152 .limit locals 2 153 0: aconst_null 154 1: astore_1 155 2: aload_0 156 3: sipush 1 157 6: invokeinterface java/util/function/IntConsumer/accept(I)V 2 158 11: aload_1 159 12: invokestatic art/Test1966/reportValue(Ljava/lang/Object;)V 160 15: return 161.end method 162