summaryrefslogtreecommitdiff
path: root/valid/code-0002.smali
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2025-08-04 19:53:58 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2025-08-04 19:53:58 (GMT)
commit1c7c6cdeae20e824ad8447daec4dc12b3b286def (patch)
tree41e2a3e9e4fa5b10306bae6d565f0f2db5980982 /valid/code-0002.smali
Initial version.
Diffstat (limited to 'valid/code-0002.smali')
-rw-r--r--valid/code-0002.smali107
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