xref: /aosp_15_r20/external/google-smali/examples/MethodOverloading/Main.smali (revision 37f5703ca959d1ce24046e7595880d209e15c133)
1*37f5703cSAndroid Build Coastguard Worker.class public LMain;
2*37f5703cSAndroid Build Coastguard Worker.super Ljava/lang/Object;
3*37f5703cSAndroid Build Coastguard Worker
4*37f5703cSAndroid Build Coastguard Worker#expected output:
5*37f5703cSAndroid Build Coastguard Worker#returning a string
6*37f5703cSAndroid Build Coastguard Worker#42
7*37f5703cSAndroid Build Coastguard Worker
8*37f5703cSAndroid Build Coastguard Worker.method public constructor <init>()V
9*37f5703cSAndroid Build Coastguard Worker    .registers 1
10*37f5703cSAndroid Build Coastguard Worker    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11*37f5703cSAndroid Build Coastguard Worker    return-void
12*37f5703cSAndroid Build Coastguard Worker.end method
13*37f5703cSAndroid Build Coastguard Worker
14*37f5703cSAndroid Build Coastguard Worker.method public static main([Ljava/lang/String;)V
15*37f5703cSAndroid Build Coastguard Worker    .registers 4
16*37f5703cSAndroid Build Coastguard Worker
17*37f5703cSAndroid Build Coastguard Worker    sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
18*37f5703cSAndroid Build Coastguard Worker
19*37f5703cSAndroid Build Coastguard Worker    new-instance v1, LMain;
20*37f5703cSAndroid Build Coastguard Worker    invoke-direct {v1}, LMain;-><init>()V
21*37f5703cSAndroid Build Coastguard Worker    invoke-virtual {v1}, LMain;->overloadTest()Ljava/lang/String;
22*37f5703cSAndroid Build Coastguard Worker    move-result-object v2
23*37f5703cSAndroid Build Coastguard Worker
24*37f5703cSAndroid Build Coastguard Worker    invoke-virtual {v0, v2}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V
25*37f5703cSAndroid Build Coastguard Worker
26*37f5703cSAndroid Build Coastguard Worker    invoke-virtual {v1}, LMain;->overloadTest()I
27*37f5703cSAndroid Build Coastguard Worker    move-result v2
28*37f5703cSAndroid Build Coastguard Worker
29*37f5703cSAndroid Build Coastguard Worker    invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
30*37f5703cSAndroid Build Coastguard Worker    move-result-object v2
31*37f5703cSAndroid Build Coastguard Worker
32*37f5703cSAndroid Build Coastguard Worker    invoke-virtual {v0, v2}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V
33*37f5703cSAndroid Build Coastguard Worker
34*37f5703cSAndroid Build Coastguard Worker    return-void
35*37f5703cSAndroid Build Coastguard Worker.end method
36*37f5703cSAndroid Build Coastguard Worker
37*37f5703cSAndroid Build Coastguard Worker
38*37f5703cSAndroid Build Coastguard Worker.method public overloadTest()Ljava/lang/String;
39*37f5703cSAndroid Build Coastguard Worker    .registers 1
40*37f5703cSAndroid Build Coastguard Worker
41*37f5703cSAndroid Build Coastguard Worker    const-string v0, "returning a string"
42*37f5703cSAndroid Build Coastguard Worker    return-object v0
43*37f5703cSAndroid Build Coastguard Worker.end method
44*37f5703cSAndroid Build Coastguard Worker
45*37f5703cSAndroid Build Coastguard Worker.method public overloadTest()I
46*37f5703cSAndroid Build Coastguard Worker    .registers 1
47*37f5703cSAndroid Build Coastguard Worker
48*37f5703cSAndroid Build Coastguard Worker    const v0, 42
49*37f5703cSAndroid Build Coastguard Worker    return v0
50*37f5703cSAndroid Build Coastguard Worker.end method