• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.class public Lmain;
2
3.super Ljava/lang/Object;
4
5.method public static main([Ljava/lang/String;)V
6    .registers 6
7
8    const v2, 0
9
10
11    const v3, 1
12    const v4, 0
13    new-array v1, v3, [Lsubclass1;
14    new-instance v0, Lsubclass1;
15    invoke-direct {v0}, Lsubclass1;-><init>()V
16    aput-object v0, v1, v4
17
18    goto :here2
19
20    :here
21    const v2, 1
22
23    :here2
24
25    #this is tricky, because it has to merge two array types, [Lsubclass1; and [Lsubclass2
26    #which should result in [Lsuperclass;. However, this dex file won't have a reference
27    #to [Lsuperclass;
28    aget-object v5, v1, v4
29
30    invoke-virtual {v5}, Lsupersuperclass;->somemethod()V
31
32
33    new-array v1, v3, [Lsubclass2;
34    new-instance v0, Lsubclass2;
35    invoke-direct {v0}, Lsubclass2;-><init>()V
36    aput-object v0, v1, v4
37
38    if-eqz v2, :here
39
40    return-void
41.end method