diff --git a/examples/Interface/Interface.smali b/examples/Interface/Interface.smali new file mode 100644 index 00000000..2c5d1548 --- /dev/null +++ b/examples/Interface/Interface.smali @@ -0,0 +1,5 @@ +.class public abstract interface LInterface; +.super Ljava/lang/Object; + +.method public abstract interfaceMethod()Ljava/lang/String; +.end method \ No newline at end of file diff --git a/examples/Interface/Main.smali b/examples/Interface/Main.smali new file mode 100644 index 00000000..f2f69f87 --- /dev/null +++ b/examples/Interface/Main.smali @@ -0,0 +1,35 @@ +.class public LMain; +.super Ljava/lang/Object; +.implements LInterface; + +#expected output: +#in interfaceMethod() + +.method public constructor ()V + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + return-void +.end method + +.method public static main([Ljava/lang/String;)V + .registers 3 + + sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; + + new-instance v1, LMain; + invoke-direct {v1}, LMain;->()V + invoke-interface {v1}, LInterface;->interfaceMethod()Ljava/lang/String; + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V + + return-void +.end method + + +.method public interfaceMethod()Ljava/lang/String; + .registers 1 + + const-string v0, "in interfaceMethod()" + return-object v0 +.end method \ No newline at end of file