-
Notifications
You must be signed in to change notification settings - Fork 1
/
java-bytecode-custom.tmLanguage
144 lines (144 loc) · 4.21 KB
/
java-bytecode-custom.tmLanguage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string></string>
</array>
<key>name</key>
<string>Java Bytecode (Custom highlighting)</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(new|newarray)\b</string>
<key>name</key>
<string>bytecode.new</string>
</dict>
<dict>
<key>match</key>
<string>\b(anewarray|arraylength|athrow|bipush|breakpoint|checkcast|d2f|d2i|d2l|dadd|dcmpg|dcmpl|ddiv|dmul|dneg|drem|dsub|dup|dup2|dup2_x1|dup2_x2|dup_x1|dup_x2|f2d|f2i|f2l|fadd|fcmpg|fcmpl|fdiv|fmul|fneg|frem|fsub|goto|goto_w|i2b|i2c|i2d|i2f|i2l|i2s|iadd|iand|idiv|if_acmpeq|if_acmpne|if_icmpeq|if_icmpge|if_icmpgt|if_icmple|if_icmplt|if_icmpne|ifeq|ifge|ifgt|ifle|iflt|ifne|ifnonnull|ifnull|iinc|impdep1|impdep2|imul|ineg|instanceof|ior|irem|ishl|ishr|isub|iushr|ixor|jsr|jsr_w|l2d|l2f|l2i|ladd|land|lcmp|ldc|ldc_w|ldc2_w|ldiv|lmul|lneg|lookupswitch|lor|lrem|lshl|lshr|lsub|lushr|lxor|monitorenter|monitorexit|multianewarray|pop|pop2|sipush|swap|tableswitch|wide)\b</string>
<key>name</key>
<string>keyword</string>
</dict>
<dict>
<key>match</key>
<string>\b(class|private|public|protected|static|void|int|double|float|byte|char|abstract|interface|short)\b</string>
<key>name</key>
<string>bytecode.javakeyword</string>
</dict>
<dict>
<key>match</key>
<string>\b(areturn|return|dreturn|freturn|ireturn|lreturn|ret)\b</string>
<key>name</key>
<string>bytecode.return</string>
</dict>
<dict>
<key>match</key>
<string>\b(getfield|getstatic|putfield|putstatic)\b</string>
<key>name</key>
<string>bytecode.fieldaccessor</string>
</dict>
<dict>
<key>match</key>
<string>\b(aastore|bastore|castore|dastore|fastore|iastore|lastore|sastore|astore(?:_\d)?|dstore(?:_\d)?|istore(?:_\d)?|lstore(?:_\d)?|fstore(?:_\d)?)\b</string>
<key>name</key>
<string>bytecode.fieldstore</string>
</dict>
<dict>
<key>match</key>
<string>\b(iconst_m1|aconst_null|iconst_\d|lconst_\d|fconst_\d|dconst_\d)\b</string>
<key>name</key>
<string>bytecode.constant</string>
</dict>
<dict>
<key>match</key>
<string>\b(aaload|baload|caload|daload|faload|fload(?:_\d)?|iaload|laload|saload|lload(?:_\d)?|iload(?:_\d)?|dload(?:_\d)?|aload(?:_\d)?)\b</string>
<key>name</key>
<string>bytecode.load</string>
</dict>
<dict>
<key>match</key>
<string>\b(invokeinterface|invokespecial|invokestatic|invokevirtual)\b</string>
<key>name</key>
<string>bytecode.invoke</string>
</dict>
<dict>
<key>match</key>
<string>Code(?::)</string>
<key>name</key>
<string>comment.code</string>
</dict>
<dict>
<key>match</key>
<string>nop</string>
<key>name</key>
<string>bytecode.nop</string>
</dict>
<dict>
<key>match</key>
<string>\d+(:)</string>
<key>name</key>
<string>bytecode.linenumber</string>
</dict>
<dict>
<key>match</key>
<string>//.*$</string>
<key>name</key>
<string>comment.ordinary</string>
</dict>
<dict>
<key>match</key>
<string>\b(\d+|#\d+)\b</string>
<key>name</key>
<string>bytecode.opcodearg</string>
</dict>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>bytecode.functionname</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>bytecode.parameter</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>bytecode.returntype</string>
</dict>
</dict>
<key>match</key>
<string>\b(\w+(?:\/[\w\<\>]+)+)(?:\(([\w\/]*);?\))?([^;]*)</string>
<key>name</key>
<string>classmatcher</string>
</dict>
<dict>
<key>begin</key>
<string>\"</string>
<key>end</key>
<string>\"</string>
<key>name</key>
<string>string.quoted.double</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\\.</string>
<key>name</key>
<string>constant.character.escape.untitled</string>
</dict>
</array>
</dict>
</array>
<key>scopeName</key>
<string>source.java.bytecode</string>
<key>uuid</key>
<string>63357d86-fa78-4c49-867c-819f38185648</string>
</dict>
</plist>