summaryrefslogtreecommitdiff
path: root/valid/code-0012.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-0012.smali
Initial version.
Diffstat (limited to 'valid/code-0012.smali')
-rw-r--r--valid/code-0012.smali105
1 files changed, 105 insertions, 0 deletions
diff --git a/valid/code-0012.smali b/valid/code-0012.smali
new file mode 100644
index 0000000..a0f18ec
--- /dev/null
+++ b/valid/code-0012.smali
@@ -0,0 +1,105 @@
+
+.class public LDalvikDemo;
+.super Ljava/lang/Object;
+
+.method public constructor <init>()V
+ .locals 1
+
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Hello from Dalvik!"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+.end method
+
+.method public dataHandling()V
+ .locals 3
+
+ const/16 v0, 0x10
+ sput-object v0, LDalvikDemo;->dataField:Ljava/lang/Object;
+
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ sget-object v1, LDalvikDemo;->dataField:Ljava/lang/Object;
+ check-cast v1, Ljava/lang/String;
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+
+ const-string v0, "Hello"
+ sput-object v0, LDalvikDemo;->dataField:Ljava/lang/Object;
+
+ sget-object v0, LDalvikDemo;->dataField:Ljava/lang/Object;
+ check-cast v0, Ljava/lang/String;
+ invoke-virtual {v0}, Ljava/lang/String;->length()I
+ move-result v1
+
+ const/4 v2, 0x5
+ if-lt v1, v2, :if_0
+ return-void
+
+ :if_0
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Data is less than expected"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+.end method
+
+.method public arithmeticOperations()V
+ .locals 3
+
+ sget-object v0, LDalvikDemo;->numField:I
+ const/4 v1, 0x2
+ add-int v0, v0, v1
+ move-result v0
+
+ sput v0, LDalvikDemo;->numField:I
+
+ sget v0, LDalvikDemo;->numField:I
+ const/4 v1, 0x3
+ mul-int/lit8 v0, v0, 0x5
+ move-result v0
+
+ sput v0, LDalvikDemo;->numField:I
+
+ return-void
+.end method
+
+.method public controlFlowOperations()V
+ .locals 2
+
+ sget v0, LDalvikDemo;->controlField:I
+ const/4 v1, 0x1
+ if-eqz v0, :if_0
+
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Control flow is working"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+
+ :if_0
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Control flow failed"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+.end method
+
+.method public highestDexVersion()V
+ .locals 2
+
+ sget v0, LDalvikDemo;->highestField:I
+ const/4 v1, 0x5
+ if-lt v0, v1, :if_0
+
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Highest Dex version is reached"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+
+ :if_0
+ sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
+ const-string v1, "Highest Dex version is not reached"
+ invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ return-void
+.end method
+
+.field private dataField:Ljava/lang/Object;
+.field private numField:I
+.field private controlField:I
+.field private highestField:I