Home | History | Annotate | Download | only in smali
      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