1 # /* 2 # * Copyright (C) 2015 The Android Open Source Project 3 # * 4 # * Licensed under the Apache License, Version 2.0 (the "License"); 5 # * you may not use this file except in compliance with the License. 6 # * You may obtain a copy of the License at 7 # * 8 # * http://www.apache.org/licenses/LICENSE-2.0 9 # * 10 # * Unless required by applicable law or agreed to in writing, software 11 # * distributed under the License is distributed on an "AS IS" BASIS, 12 # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # * See the License for the specific language governing permissions and 14 # * limitations under the License. 15 # */ 16 # 17 # // Methods are sorted in alphabetical order in dex file. We need 10 padding 18 # // methods to ensure the 11'th target lines up to the same vtable slot as the 19 # // first Subtype virtual method (the other 10 are the java/lang/Object; 20 # // methods). 21 # interface Iface { 22 # public default void fakeMethod_A() {} 23 # public default void fakeMethod_B() {} 24 # public default void fakeMethod_C() {} 25 # public default void fakeMethod_D() {} 26 # public default void fakeMethod_E() {} 27 # public default void fakeMethod_F() {} 28 # public default void fakeMethod_G() {} 29 # public default void fakeMethod_H() {} 30 # public default void fakeMethod_I() {} 31 # public default void fakeMethod_J() {} 32 # public default void fakeMethod_K() {} 33 # public default void fakeMethod_Target() {} 34 # } 35 36 .class public abstract interface LIface; 37 38 .super Ljava/lang/Object; 39 40 # // 1 41 .method public fakeMethod_A()V 42 .locals 0 43 return-void 44 .end method 45 46 # // 2 47 .method public fakeMethod_B()V 48 .locals 0 49 return-void 50 .end method 51 52 # // 3 53 .method public fakeMethod_C()V 54 .locals 0 55 return-void 56 .end method 57 58 # // 4 59 .method public fakeMethod_D()V 60 .locals 0 61 return-void 62 .end method 63 64 # // 5 65 .method public fakeMethod_E()V 66 .locals 0 67 return-void 68 .end method 69 70 # // 5 71 .method public fakeMethod_F()V 72 .locals 0 73 return-void 74 .end method 75 76 # // 6 77 .method public fakeMethod_G()V 78 .locals 0 79 return-void 80 .end method 81 82 # // 7 83 .method public fakeMethod_H()V 84 .locals 0 85 return-void 86 .end method 87 88 # // 8 89 .method public fakeMethod_I()V 90 .locals 0 91 return-void 92 .end method 93 94 # // 9 95 .method public fakeMethod_J()V 96 .locals 0 97 return-void 98 .end method 99 100 # // 10 101 .method public fakeMethod_K()V 102 .locals 0 103 return-void 104 .end method 105 106 # // 11 107 .method public fakeMethod_Target()V 108 .locals 0 109 return-void 110 .end method 111