diff options
| author | Amaan Qureshi <amaanq12@gmail.com> | 2023-04-24 19:12:06 -0400 |
|---|---|---|
| committer | Amaan Qureshi <amaanq12@gmail.com> | 2023-04-25 02:37:31 -0400 |
| commit | b39e6bd61590e429b6fd42734f1485b94335af5f (patch) | |
| tree | 941510a65aa47b6456a1cfaf678a03afaeacf942 /tests/query | |
| parent | feat(smali): update queries from upstream parser (diff) | |
| download | nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar.gz nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar.bz2 nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar.lz nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar.xz nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.tar.zst nvim-treesitter-b39e6bd61590e429b6fd42734f1485b94335af5f.zip | |
chore(smali): add tests
Diffstat (limited to 'tests/query')
| -rw-r--r-- | tests/query/highlights/smali/baksmali_test_class.smali | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/tests/query/highlights/smali/baksmali_test_class.smali b/tests/query/highlights/smali/baksmali_test_class.smali new file mode 100644 index 000000000..77eb0c83b --- /dev/null +++ b/tests/query/highlights/smali/baksmali_test_class.smali @@ -0,0 +1,261 @@ +.class public Lbaksmali/test/class; +# <- @keyword +# ^^^^^^ @type.qualifier +.super Ljava/lang/Object; +# ^ @character.special +# ^^^^ @type.builtin +# ^ @punctuation.delimiter + +.source "baksmali_test_class.smali" +# <- @include + +.implements Lsome/interface; +.implements Lsome/other/interface; + + +.annotation build Lsome/annotation; +# ^^^^^ @storageclass +# ^^^^ @type +# ^ @punctuation.delimiter + value1 = "test" +# ^^^^^^ @field +# ^ @operator +# ^^^^^^ @string + value2 = .subannotation Lsome/annotation; + value1 = "test2" + value2 = Lsome/enum; + .end subannotation +.end annotation + +.annotation system Lsome/annotation; +.end annotation + + + +.field public static aStaticFieldWithoutAnInitializer:I +# ^ @punctuation.delimiter +# ^ @type.builtin + +.field public static longStaticField:J = 0x300000000L +# ^^^^^^^^^^^^ @number +.field public static longNegStaticField:J = -0x300000000L + +.field public static intStaticField:I = 0x70000000 +.field public static intNegStaticField:I = -500 + +.field public static shortStaticField:S = 500s +.field public static shortNegStaticField:S = -500s + +.field public static byteStaticField:B = 123t +.field public static byteNegStaticField:B = 0xAAt + +.field public static floatStaticField:F = 3.1415926f +# ^^^^^^^^^^ @float + +.field public static doubleStaticField:D = 3.141592653589793 + +.field public static charStaticField:C = 'a' +# ^^^ @character +.field public static charEscapedStaticField:C = '\n' +# ^^ @string.escape + +.field public static boolTrueStaticField:Z = true +# ^^^^ @boolean +.field public static boolFalseStaticField:Z = false + +.field public static typeStaticField:Ljava/lang/Class; = Lbaksmali/test/class; + +.field public static stringStaticField:Ljava/lang/String; = "test" +.field public static stringEscapedStaticField:Ljava/lang/String; = "test\ntest" + + +.field public static fieldStaticField:Ljava/lang/reflect/Field; = Lbaksmali/test/class;->fieldStaticField:Ljava/lang/reflect/Field; + +.field public static methodStaticField:Ljava/lang/reflect/Method; = Lbaksmali/test/class;->testMethod(ILjava/lang/String;)Ljava/lang/String; +# ^^ @punctuation.delimiter +# ^^^^^^^^^^ @method.call + +.field public static arrayStaticField:[I = {1, 2, 3, {1, 2, 3, 4}} +# ^ @punctuation.special +# ^ @punctuation.bracket +# ^ @punctuation.delimiter + +.field public static enumStaticField:Lsome/enum; = .enum Lsome/enum;->someEnumValue:Lsome/enum; +# ^^^^^^^^^^^^^ @field + +.field public static annotationStaticField:Lsome/annotation; = .subannotation Lsome/annotation; + value1 = "test" + value2 = .subannotation Lsome/annotation; + value1 = "test2" + value2 = Lsome/enum; + .end subannotation +.end subannotation + +.field public static staticFieldWithAnnotation:I + .annotation runtime La/field/annotation; +# ^^^^^^^ @storageclass + this = "is" + a = "test" + .end annotation + .annotation runtime Lorg/junit/Test; + .end annotation +.end field + +.field public instanceField:Ljava/lang/String; + + + +.method public constructor <init>()V +# <- @keyword.function +# ^^^^^^^^^^^ @constructor +# ^^^^^^ @constructor + .registers 1 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V +# ^^^^^^^^^^^^^ @keyword.operator +# ^^ @parameter.builtin + return-void +# ^^^^^^^^^^^ @keyword.return +.end method + +.method public testMethod(ILjava/lang/String;)Ljava/lang/String; +# ^^^^^^^^^^ @method + .registers 3 + .annotation runtime Lorg/junit/Test; + .end annotation + .annotation system Lyet/another/annotation; + somevalue = 1234 + anothervalue = 3.14159 + .end annotation + + const-string v0, "testing\n123" +# ^^ @variable.builtin + + goto switch: +# ^^^^^^^ @label + + sget v0, Lbaksmali/test/class;->staticField:I + + switch: + packed-switch v0, pswitch: + + try_start: + const/4 v0, 7 + const v0, 10 + nop + try_end: + .catch Ljava/lang/Exception; {try_start: .. try_end:} handler: +# ^^^^^^ @exception + .catchall {try_start: .. try_end:} handler2: +# ^^^^^^^^^ @exception +# ^^ @operator + + handler: + + Label10: + Label11: + Label12: + Label13: + return-object v0 + + + + .array-data 4 + 1 2 3 4 5 6 200 + .end array-data + + pswitch: + .packed-switch 10 + Label10: + Label11: + Label12: + Label13: + .end packed-switch + + handler2: + + return-void + +.end method + +.method public abstract testMethod2()V + .annotation runtime Lsome/annotation; + subannotation = .subannotation Lsome/other/annotation; + value = "value" + .end subannotation + .end annotation + .annotation runtime Lorg/junit/Test; + .end annotation +.end method + + +.method public tryTest()V + .registers 1 + + handler: + nop + + + try_start: + const/4 v0, 7 + const v0, 10 + nop + try_end: + .catch Ljava/lang/Exception; {try_start: .. try_end:} handler: +.end method + + +.method public debugTest(IIIII)V + .registers 10 + + .parameter "Blah" + .parameter + .parameter "BlahWithAnnotations" + .annotation runtime Lsome/annotation; + something = "some value" + somethingelse = 1234 + .end annotation + .annotation runtime La/second/annotation; + .end annotation + .end parameter + .parameter + .annotation runtime Lsome/annotation; + something = "some value" + somethingelse = 1234 + .end annotation + .end parameter + .parameter "LastParam" + + .prologue +# ^^^^^^^^^ @keyword + + nop + nop + + .source "somefile.java" +# ^^^^^^^ @include + .line 101 +# ^^^ @text.literal + + nop + + + .line 50 + + .local v0, aNumber:I +# ^^^^^^^ @variable + const v0, 1234 + .end local v0 + + .source "someotherfile.java" + .line 900 + + const-string v0, "1234" + + .restart local v0 + const v0, 6789 + .end local v0 + + .epilogue +# ^^^^^^^^^ @keyword + +.end method |
