diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2025-08-04 19:53:58 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2025-08-04 19:53:58 (GMT) |
commit | 1c7c6cdeae20e824ad8447daec4dc12b3b286def (patch) | |
tree | 41e2a3e9e4fa5b10306bae6d565f0f2db5980982 /valid/code-0002.smali |
Initial version.
Diffstat (limited to 'valid/code-0002.smali')
-rw-r--r-- | valid/code-0002.smali | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/valid/code-0002.smali b/valid/code-0002.smali new file mode 100644 index 0000000..592c3ce --- /dev/null +++ b/valid/code-0002.smali @@ -0,0 +1,107 @@ + +.class public LSmaliDemo; +.super Ljava/lang/Object; + +.method static public main([Ljava/lang/String;)V + .locals 4 + + sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; + + const-string v1, "Hello, Dalvik!" + invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V + + new-instance v2, Ljava/util/ArrayList; + invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V + sput-object v2, LSmaliDemo;->list:Ljava/util/ArrayList; + + const/4 v3, 0x1 + invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(I)V + + return-void +.end method + +.method public test_data_handling()V + .locals 5 + + new-instance v0, LSmaliDemo; + invoke-direct {v0}, LSmaliDemo;-><init>()V + + const/16 v1, 0x10 + iput v1, v0, LSmaliDemo;->dataField:I + + iget v2, v0, LSmaliDemo;->dataField:I + add-int/lit8 v3, v2, 0x2 + iput v3, v0, LSmaliDemo;->dataField:I + + return-void +.end method + +.method public test_arithmetic_logic_operations()V + .locals 4 + + new-instance v0, LSmaliDemo; + invoke-direct {v0}, LSmaliDemo;-><init>()V + + const/4 v1, 0x5 + const/4 v2, 0x3 + invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I + move-result v3 + iput v3, v0, LSmaliDemo;->resultField:I + + return-void +.end method + +.method public test_control_flow_operations()V + .locals 3 + + new-instance v0, LSmaliDemo; + invoke-direct {v0}, LSmaliDemo;-><init>()V + + const/4 v1, 0x1 + if-eqz v1, :cond_true + goto :cond_false + + :cond_true + sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream; + const-string v3, "Condition is true" + invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V + goto :end_if + + :cond_false + sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream; + const-string v3, "Condition is false" + invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V + + :end_if + return-void +.end method + +.method public test_high_dex_instructions()V + .locals 4 + + new-instance v0, LSmaliDemo; + invoke-direct {v0}, LSmaliDemo;-><init>()V + + const-string v1, "Hello" + invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; + move-result-object v2 + iput-object v2, v0, LSmaliDemo;->stringField:Ljava/lang/String; + + const/4 v3, 0x3 + if-eqz v3, :cond_true_2 + goto :cond_false_2 + + :cond_true_2 + sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream; + const-string v2, "True branch" + invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V + goto :end_if_2 + + :cond_false_2 + sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream; + const-string v2, "False branch" + invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V + + :end_if_2 + return-void +.end method |