Home | History | Annotate | Download | only in VerifierDeps
      1 # Copyright (C) 2016 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 LMain;
     16 .super LMyThreadSet;
     17 
     18 .method public static ArgumentType_ResolvedClass(Ljava/lang/Thread;)V
     19   .registers 1
     20   return-void
     21 .end method
     22 
     23 .method public static ArgumentType_ResolvedReferenceArray([Ljava/lang/Thread;)V
     24   .registers 1
     25   return-void
     26 .end method
     27 
     28 .method public static ArgumentType_ResolvedPrimitiveArray([B)V
     29   .registers 1
     30   return-void
     31 .end method
     32 
     33 .method public static ArgumentType_UnresolvedClass(LUnresolvedClass;)V
     34   .registers 1
     35   return-void
     36 .end method
     37 
     38 .method public static ArgumentType_UnresolvedSuper(LMySetWithUnresolvedSuper;)V
     39   .registers 1
     40   return-void
     41 .end method
     42 
     43 .method public static ReturnType_Reference(Ljava/lang/IllegalStateException;)Ljava/lang/Throwable;
     44   .registers 1
     45   return-object p0
     46 .end method
     47 
     48 .method public static ReturnType_Array([Ljava/lang/IllegalStateException;)[Ljava/lang/Integer;
     49   .registers 1
     50   return-object p0
     51 .end method
     52 
     53 .method public static InvokeArgumentType(Ljava/text/SimpleDateFormat;Ljava/util/SimpleTimeZone;)V
     54   .registers 2
     55   invoke-virtual {p0, p1}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
     56   return-void
     57 .end method
     58 
     59 .method public static MergeTypes_RegisterLines(Z)Ljava/lang/Object;
     60   .registers 2
     61   if-eqz p0, :else
     62 
     63   new-instance v0, LMySocketTimeoutException;
     64   invoke-direct {v0}, LMySocketTimeoutException;-><init>()V
     65   goto :merge
     66 
     67   :else
     68   new-instance v0, Ljava/util/concurrent/TimeoutException;
     69   invoke-direct {v0}, Ljava/util/concurrent/TimeoutException;-><init>()V
     70   goto :merge
     71 
     72   :merge
     73   return-object v0
     74 .end method
     75 
     76 .method public static MergeTypes_IfInstanceOf(Ljava/net/SocketTimeoutException;)V
     77   .registers 2
     78   instance-of v0, p0, Ljava/util/concurrent/TimeoutException;
     79   if-eqz v0, :else
     80   return-void
     81   :else
     82   return-void
     83 .end method
     84 
     85 .method public static MergeTypes_Unresolved(ZZLUnresolvedClassA;)Ljava/lang/Object;
     86   .registers 5
     87   if-eqz p0, :else1
     88 
     89   move-object v0, p2
     90   goto :merge
     91 
     92   :else1
     93   if-eqz p1, :else2
     94 
     95   new-instance v0, Ljava/util/concurrent/TimeoutException;
     96   invoke-direct {v0}, Ljava/util/concurrent/TimeoutException;-><init>()V
     97   goto :merge
     98 
     99   :else2
    100   new-instance v0, Ljava/net/SocketTimeoutException;
    101   invoke-direct {v0}, Ljava/net/SocketTimeoutException;-><init>()V
    102   goto :merge
    103 
    104   :merge
    105   return-object v0
    106 .end method
    107 
    108 .method public static ConstClass_Resolved()V
    109   .registers 1
    110   const-class v0, Ljava/lang/IllegalStateException;
    111   return-void
    112 .end method
    113 
    114 .method public static ConstClass_Unresolved()V
    115   .registers 1
    116   const-class v0, LUnresolvedClass;
    117   return-void
    118 .end method
    119 
    120 .method public static CheckCast_Resolved(Ljava/lang/Object;)V
    121   .registers 1
    122   check-cast p0, Ljava/lang/IllegalStateException;
    123   return-void
    124 .end method
    125 
    126 .method public static CheckCast_Unresolved(Ljava/lang/Object;)V
    127   .registers 1
    128   check-cast p0, LUnresolvedClass;
    129   return-void
    130 .end method
    131 
    132 .method public static InstanceOf_Resolved(Ljava/lang/Object;)Z
    133   .registers 1
    134   instance-of p0, p0, Ljava/lang/IllegalStateException;
    135   return p0
    136 .end method
    137 
    138 .method public static InstanceOf_Unresolved(Ljava/lang/Object;)Z
    139   .registers 1
    140   instance-of p0, p0, LUnresolvedClass;
    141   return p0
    142 .end method
    143 
    144 .method public static NewInstance_Resolved()V
    145   .registers 1
    146   new-instance v0, Ljava/lang/IllegalStateException;
    147   return-void
    148 .end method
    149 
    150 .method public static NewInstance_Unresolved()V
    151   .registers 1
    152   new-instance v0, LUnresolvedClass;
    153   return-void
    154 .end method
    155 
    156 .method public static NewArray_Resolved()V
    157   .registers 1
    158   const/4 v0, 0x1
    159   new-array v0, v0, [Ljava/lang/IllegalStateException;
    160   return-void
    161 .end method
    162 
    163 .method public static NewArray_Unresolved()V
    164   .registers 2
    165   const/4 v0, 0x1
    166   new-array v0, v0, [LUnresolvedClass;
    167   return-void
    168 .end method
    169 
    170 .method public static Throw(Ljava/lang/IllegalStateException;)V
    171   .registers 2
    172   throw p0
    173 .end method
    174 
    175 .method public static MoveException_Resolved()Ljava/lang/Object;
    176   .registers 1
    177   :try_start
    178   invoke-static {}, Ljava/lang/System;->nanoTime()J
    179   :try_end
    180   .catch Ljava/net/SocketTimeoutException; {:try_start .. :try_end} :catch_block
    181   .catch Ljava/io/InterruptedIOException; {:try_start .. :try_end} :catch_block
    182   .catch Ljava/util/zip/ZipException; {:try_start .. :try_end} :catch_block
    183   const/4 v0, 0x0
    184   return-object v0
    185 
    186   :catch_block
    187   move-exception v0
    188   return-object v0
    189 .end method
    190 
    191 .method public static MoveException_Unresolved()Ljava/lang/Object;
    192   .registers 1
    193   :try_start
    194   invoke-static {}, Ljava/lang/System;->nanoTime()J
    195   :try_end
    196   .catch LUnresolvedException; {:try_start .. :try_end} :catch_block
    197   const/4 v0, 0x0
    198   return-object v0
    199 
    200   :catch_block
    201   move-exception v0
    202   return-object v0
    203 .end method
    204 
    205 .method public static StaticField_Resolved_DeclaredInReferenced()V
    206   .registers 1
    207   sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
    208   return-void
    209 .end method
    210 
    211 .method public static StaticField_Resolved_DeclaredInSuperclass1()V
    212   .registers 1
    213   sget v0, Ljava/util/SimpleTimeZone;->LONG:I
    214   return-void
    215 .end method
    216 
    217 .method public static StaticField_Resolved_DeclaredInSuperclass2()V
    218   .registers 1
    219   sget v0, LMySimpleTimeZone;->SHORT:I
    220   return-void
    221 .end method
    222 
    223 .method public static StaticField_Resolved_DeclaredInInterface1()V
    224   .registers 1
    225   # Case 1: DOMResult implements Result
    226   sget-object v0, Ljavax/xml/transform/dom/DOMResult;->PI_ENABLE_OUTPUT_ESCAPING:Ljava/lang/String;
    227   return-void
    228 .end method
    229 
    230 .method public static StaticField_Resolved_DeclaredInInterface2()V
    231   .registers 1
    232   # Case 2: MyDOMResult extends DOMResult, DOMResult implements Result
    233   sget-object v0, LMyDOMResult;->PI_ENABLE_OUTPUT_ESCAPING:Ljava/lang/String;
    234   return-void
    235 .end method
    236 
    237 .method public static StaticField_Resolved_DeclaredInInterface3()V
    238   .registers 1
    239   # Case 3: MyResult implements Result
    240   sget-object v0, LMyResult;->PI_ENABLE_OUTPUT_ESCAPING:Ljava/lang/String;
    241   return-void
    242 .end method
    243 
    244 .method public static StaticField_Resolved_DeclaredInInterface4()V
    245   .registers 1
    246   # Case 4: MyDocument implements Document, Document extends Node
    247   sget-short v0, LMyDocument;->ELEMENT_NODE:S
    248   return-void
    249 .end method
    250 
    251 .method public static StaticField_Unresolved_ReferrerInBoot()V
    252   .registers 1
    253   sget v0, Ljava/util/TimeZone;->x:I
    254   return-void
    255 .end method
    256 
    257 .method public static StaticField_Unresolved_ReferrerInDex()V
    258   .registers 1
    259   sget v0, LMyThreadSet;->x:I
    260   return-void
    261 .end method
    262 
    263 .method public static InstanceField_Resolved_DeclaredInReferenced(LMySocketTimeoutException;)V
    264   .registers 1
    265   iget v0, p0, Ljava/io/InterruptedIOException;->bytesTransferred:I
    266   return-void
    267 .end method
    268 
    269 .method public static InstanceField_Resolved_DeclaredInSuperclass1(LMySocketTimeoutException;)V
    270   .registers 1
    271   iget v0, p0, Ljava/net/SocketTimeoutException;->bytesTransferred:I
    272   return-void
    273 .end method
    274 
    275 .method public static InstanceField_Resolved_DeclaredInSuperclass2(LMySocketTimeoutException;)V
    276   .registers 1
    277   iget v0, p0, LMySocketTimeoutException;->bytesTransferred:I
    278   return-void
    279 .end method
    280 
    281 .method public static InstanceField_Unresolved_ReferrerInBoot(LMySocketTimeoutException;)V
    282   .registers 1
    283   iget v0, p0, Ljava/io/InterruptedIOException;->x:I
    284   return-void
    285 .end method
    286 
    287 .method public static InstanceField_Unresolved_ReferrerInDex(LMyThreadSet;)V
    288   .registers 1
    289   iget v0, p0, LMyThreadSet;->x:I
    290   return-void
    291 .end method
    292 
    293 .method public static InvokeStatic_Resolved_DeclaredInReferenced()V
    294   .registers 1
    295   const v0, 0x0
    296   invoke-static {v0}, Ljava/net/Socket;->setSocketImplFactory(Ljava/net/SocketImplFactory;)V
    297   return-void
    298 .end method
    299 
    300 .method public static InvokeStatic_Resolved_DeclaredInSuperclass1()V
    301   .registers 1
    302   const v0, 0x0
    303   invoke-static {v0}, Ljavax/net/ssl/SSLSocket;->setSocketImplFactory(Ljava/net/SocketImplFactory;)V
    304   return-void
    305 .end method
    306 
    307 .method public static InvokeStatic_Resolved_DeclaredInSuperclass2()V
    308   .registers 1
    309   const v0, 0x0
    310   invoke-static {v0}, LMySSLSocket;->setSocketImplFactory(Ljava/net/SocketImplFactory;)V
    311   return-void
    312 .end method
    313 
    314 .method public static InvokeStatic_DeclaredInInterface1()V
    315   .registers 1
    316   invoke-static {}, Ljava/util/Map$Entry;->comparingByKey()Ljava/util/Comparator;
    317   return-void
    318 .end method
    319 
    320 .method public static InvokeStatic_DeclaredInInterface2()V
    321   .registers 1
    322   # AbstractMap$SimpleEntry implements Map$Entry
    323   # INVOKE_STATIC does not resolve to methods in superinterfaces. This will
    324   # therefore result in an unresolved method.
    325   invoke-static {}, Ljava/util/AbstractMap$SimpleEntry;->comparingByKey()Ljava/util/Comparator;
    326   return-void
    327 .end method
    328 
    329 .method public static InvokeStatic_Unresolved1()V
    330   .registers 1
    331   invoke-static {}, Ljavax/net/ssl/SSLSocket;->x()V
    332   return-void
    333 .end method
    334 
    335 .method public static InvokeStatic_Unresolved2()V
    336   .registers 1
    337   invoke-static {}, LMySSLSocket;->x()V
    338   return-void
    339 .end method
    340 
    341 .method public static InvokeDirect_Resolved_DeclaredInReferenced()V
    342   .registers 1
    343   new-instance v0, Ljava/net/Socket;
    344   invoke-direct {v0}, Ljava/net/Socket;-><init>()V
    345   return-void
    346 .end method
    347 
    348 .method public static InvokeDirect_Resolved_DeclaredInSuperclass1(LMySSLSocket;)V
    349   .registers 1
    350   invoke-direct {p0}, Ljavax/net/ssl/SSLSocket;->checkOldImpl()V
    351   return-void
    352 .end method
    353 
    354 .method public static InvokeDirect_Resolved_DeclaredInSuperclass2(LMySSLSocket;)V
    355   .registers 1
    356   invoke-direct {p0}, LMySSLSocket;->checkOldImpl()V
    357   return-void
    358 .end method
    359 
    360 .method public static InvokeDirect_Unresolved1(LMySSLSocket;)V
    361   .registers 1
    362   invoke-direct {p0}, Ljavax/net/ssl/SSLSocket;->x()V
    363   return-void
    364 .end method
    365 
    366 .method public static InvokeDirect_Unresolved2(LMySSLSocket;)V
    367   .registers 1
    368   invoke-direct {p0}, LMySSLSocket;->x()V
    369   return-void
    370 .end method
    371 
    372 .method public static InvokeVirtual_Resolved_DeclaredInReferenced(LMySocketTimeoutException;)V
    373   .registers 1
    374   invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
    375   return-void
    376 .end method
    377 
    378 .method public static InvokeVirtual_Resolved_DeclaredInSuperclass1(LMySocketTimeoutException;)V
    379   .registers 1
    380   invoke-virtual {p0}, Ljava/io/InterruptedIOException;->getMessage()Ljava/lang/String;
    381   return-void
    382 .end method
    383 
    384 .method public static InvokeVirtual_Resolved_DeclaredInSuperclass2(LMySocketTimeoutException;)V
    385   .registers 1
    386   invoke-virtual {p0}, LMySocketTimeoutException;->getMessage()Ljava/lang/String;
    387   return-void
    388 .end method
    389 
    390 .method public static InvokeVirtual_Resolved_DeclaredInSuperinterface(LMyThreadSet;)V
    391   .registers 1
    392   invoke-virtual {p0}, LMyThreadSet;->size()I
    393   return-void
    394 .end method
    395 
    396 .method public static InvokeVirtual_Unresolved1(LMySocketTimeoutException;)V
    397   .registers 1
    398   invoke-virtual {p0}, Ljava/io/InterruptedIOException;->x()V
    399   return-void
    400 .end method
    401 
    402 .method public static InvokeVirtual_Unresolved2(LMySocketTimeoutException;)V
    403   .registers 1
    404   invoke-virtual {p0}, LMySocketTimeoutException;->x()V
    405   return-void
    406 .end method
    407 
    408 .method public static InvokeVirtual_ActuallyDirect(LMyThread;)V
    409   .registers 1
    410   invoke-virtual {p0}, LMyThread;->activeCount()I
    411   return-void
    412 .end method
    413 
    414 .method public static InvokeInterface_Resolved_DeclaredInReferenced(LMyThread;)V
    415   .registers 1
    416   invoke-interface {p0}, Ljava/lang/Runnable;->run()V
    417   return-void
    418 .end method
    419 
    420 .method public static InvokeInterface_Resolved_DeclaredInSuperclass(LMyThread;)V
    421   .registers 1
    422   # Method join() is declared in the superclass of MyThread. As such, it should
    423   # be called with invoke-virtual and will not be resolved here.
    424   invoke-interface {p0}, LMyThread;->join()V
    425   return-void
    426 .end method
    427 
    428 .method public static InvokeInterface_Resolved_DeclaredInSuperinterface1(LMyThreadSet;)V
    429   .registers 1
    430   # Verification will fail because the referring class is not an interface.
    431   invoke-interface {p0}, LMyThreadSet;->run()V
    432   return-void
    433 .end method
    434 
    435 .method public static InvokeInterface_Resolved_DeclaredInSuperinterface2(LMyThreadSet;)V
    436   .registers 1
    437   # Verification will fail because the referring class is not an interface.
    438   invoke-interface {p0}, LMyThreadSet;->isEmpty()Z
    439   return-void
    440 .end method
    441 
    442 .method public static InvokeInterface_Unresolved1(LMyThread;)V
    443   .registers 1
    444   invoke-interface {p0}, Ljava/lang/Runnable;->x()V
    445   return-void
    446 .end method
    447 
    448 .method public static InvokeInterface_Unresolved2(LMyThread;)V
    449   .registers 1
    450   invoke-interface {p0}, LMyThreadSet;->x()V
    451   return-void
    452 .end method
    453 
    454 .method public static InvokeSuper_ThisAssignable(Ljava/lang/Thread;)V
    455   .registers 1
    456   invoke-super {p0}, Ljava/lang/Runnable;->run()V
    457   return-void
    458 .end method
    459 
    460 .method public static InvokeSuper_ThisNotAssignable(Ljava/lang/Integer;)V
    461   .registers 1
    462   invoke-super {p0}, Ljava/lang/Integer;->intValue()I
    463   return-void
    464 .end method
    465