1smali.FILE
2  SmaliClass(CLASS)
3    SmaliExtendsList(EXTENDS_LIST)
4      <empty list>
5    SmaliImplementsList(IMPLEMENTS_LIST)
6      <empty list>
7    SmaliMethod(METHOD)
8      SmaliThrowsList(THROWS_LIST)
9        <empty list>
10      PsiElement(METHOD_DIRECTIVE)('.method')
11      PsiWhiteSpace(' ')
12      SmaliModifierList(MODIFIER_LIST)
13        <empty list>
14      PsiElement(MEMBER_NAME)
15        PsiElement(SIMPLE_NAME)('blah')
16      SmaliMethodPrototype(METHOD_PROTOTYPE)
17        PsiElement(OPEN_PAREN)('(')
18        SmaliMethodParamList(METHOD_PARAM_LIST)
19          <empty list>
20        PsiElement(CLOSE_PAREN)(')')
21        PsiElement(VOID_TYPE)
22          PsiElement(VOID_TYPE)('V')
23      PsiWhiteSpace('\n')
24      PsiElement(REGISTERS_STATEMENT)
25        PsiElement(REGISTERS_DIRECTIVE)('.registers')
26        PsiWhiteSpace(' ')
27        PsiElement(LITERAL)
28          PsiElement(POSITIVE_INTEGER_LITERAL)('1')
29      PsiWhiteSpace('\n')
30      PsiElement(INSTRUCTION)
31        PsiElement(INSTRUCTION_FORMAT35c_METHOD)('invoke-virtual')
32        PsiWhiteSpace(' ')
33        PsiErrorElement:mismatched input '.blah' expecting OPEN_BRACE
34          PsiElement(BAD_CHARACTER)('.blah')
35        PsiWhiteSpace(' ')
36        PsiElement(REGISTER_REFERENCE)
37          PsiElement(REGISTER)('v0')
38        PsiElement(CLOSE_BRACE)('}')
39        PsiElement(COMMA)(',')
40        PsiWhiteSpace(' ')
41        PsiElement(METHOD_REFERENCE)
42          PsiElement(CLASS_TYPE)
43            PsiElement(CLASS_DESCRIPTOR)('Lblah;')
44          PsiElement(ARROW)('->')
45          PsiElement(MEMBER_NAME)
46            PsiElement(SIMPLE_NAME)('blah')
47          PsiElement(OPEN_PAREN)('(')
48          PsiElement(METHOD_REFERENCE_PARAM_LIST)
49            <empty list>
50          PsiElement(CLOSE_PAREN)(')')
51          PsiElement(VOID_TYPE)
52            PsiElement(VOID_TYPE)('V')
53      PsiWhiteSpace('\n')
54      PsiElement(END_METHOD_DIRECTIVE)('.end method')
55    PsiWhiteSpace('\n\n')
56    SmaliMethod(METHOD)
57      SmaliThrowsList(THROWS_LIST)
58        <empty list>
59      PsiElement(METHOD_DIRECTIVE)('.method')
60      PsiWhiteSpace(' ')
61      SmaliModifierList(MODIFIER_LIST)
62        <empty list>
63      PsiElement(MEMBER_NAME)
64        PsiElement(SIMPLE_NAME)('blah2')
65      SmaliMethodPrototype(METHOD_PROTOTYPE)
66        PsiElement(OPEN_PAREN)('(')
67        SmaliMethodParamList(METHOD_PARAM_LIST)
68          <empty list>
69        PsiElement(CLOSE_PAREN)(')')
70        PsiElement(VOID_TYPE)
71          PsiElement(VOID_TYPE)('V')
72      PsiWhiteSpace('\n')
73      PsiElement(REGISTERS_STATEMENT)
74        PsiElement(REGISTERS_DIRECTIVE)('.registers')
75        PsiWhiteSpace(' ')
76        PsiElement(LITERAL)
77          PsiElement(POSITIVE_INTEGER_LITERAL)('1')
78      PsiWhiteSpace('\n')
79      PsiElement(INSTRUCTION)
80        PsiElement(INSTRUCTION_FORMAT35c_METHOD)('invoke-virtual')
81        PsiWhiteSpace(' ')
82        PsiElement(OPEN_BRACE)('{')
83        PsiElement(REGISTER_REFERENCE)
84          PsiElement(REGISTER)('v1')
85        PsiElement(COMMA)(',')
86        PsiWhiteSpace(' ')
87        PsiElement(REGISTER_REFERENCE)
88          PsiElement(REGISTER)('v2')
89        PsiElement(CLOSE_BRACE)('}')
90        PsiWhiteSpace(' ')
91        PsiErrorElement:mismatched input '.blah' expecting COMMA
92          PsiElement(BAD_CHARACTER)('.blah')
93        PsiWhiteSpace(' ')
94        PsiElement(METHOD_REFERENCE)
95          PsiElement(CLASS_TYPE)
96            PsiElement(CLASS_DESCRIPTOR)('Lblah;')
97          PsiElement(ARROW)('->')
98          PsiElement(MEMBER_NAME)
99            PsiElement(SIMPLE_NAME)('blah')
100          PsiElement(OPEN_PAREN)('(')
101          PsiElement(METHOD_REFERENCE_PARAM_LIST)
102            <empty list>
103          PsiElement(CLOSE_PAREN)(')')
104          PsiElement(VOID_TYPE)
105            PsiElement(VOID_TYPE)('V')
106      PsiWhiteSpace('\n')
107      PsiElement(END_METHOD_DIRECTIVE)('.end method')
108    PsiWhiteSpace('\n\n')
109    SmaliMethod(METHOD)
110      SmaliThrowsList(THROWS_LIST)
111        <empty list>
112      PsiElement(METHOD_DIRECTIVE)('.method')
113      PsiWhiteSpace(' ')
114      SmaliModifierList(MODIFIER_LIST)
115        <empty list>
116      PsiElement(MEMBER_NAME)
117        PsiElement(SIMPLE_NAME)('blah3')
118      SmaliMethodPrototype(METHOD_PROTOTYPE)
119        PsiElement(OPEN_PAREN)('(')
120        SmaliMethodParamList(METHOD_PARAM_LIST)
121          <empty list>
122        PsiElement(CLOSE_PAREN)(')')
123        PsiElement(VOID_TYPE)
124          PsiElement(VOID_TYPE)('V')
125      PsiWhiteSpace('\n  ')
126      PsiElement(INSTRUCTION)
127        PsiElement(ARRAY_DATA_DIRECTIVE)('.array-data')
128        PsiWhiteSpace(' ')
129        PsiElement(LITERAL)
130          PsiElement(POSITIVE_INTEGER_LITERAL)('4')
131        PsiWhiteSpace('\n    ')
132        PsiElement(ARRAY_DATA_ELEMENT)
133          PsiElement(LITERAL)
134            PsiElement(POSITIVE_INTEGER_LITERAL)('1')
135        PsiWhiteSpace('\n    ')
136        PsiElement(ARRAY_DATA_ELEMENT)
137          PsiElement(LITERAL)
138            PsiElement(POSITIVE_INTEGER_LITERAL)('2')
139        PsiWhiteSpace('\n  ')
140        PsiErrorElement:mismatched input '.blah' expecting END_ARRAY_DATA_DIRECTIVE
141          PsiElement(BAD_CHARACTER)('.blah')
142      PsiWhiteSpace('\n')
143      PsiElement(END_METHOD_DIRECTIVE)('.end method')
144    PsiWhiteSpace('\n\n')
145    SmaliMethod(METHOD)
146      SmaliThrowsList(THROWS_LIST)
147        <empty list>
148      PsiElement(METHOD_DIRECTIVE)('.method')
149      PsiWhiteSpace(' ')
150      SmaliModifierList(MODIFIER_LIST)
151        <empty list>
152      PsiElement(MEMBER_NAME)
153        PsiElement(SIMPLE_NAME)('blah4')
154      SmaliMethodPrototype(METHOD_PROTOTYPE)
155        PsiElement(OPEN_PAREN)('(')
156        SmaliMethodParamList(METHOD_PARAM_LIST)
157          <empty list>
158        PsiElement(CLOSE_PAREN)(')')
159        PsiElement(VOID_TYPE)
160          PsiElement(VOID_TYPE)('V')
161      PsiWhiteSpace('\n  ')
162      PsiElement(INSTRUCTION)
163        PsiElement(PACKED_SWITCH_DIRECTIVE)('.packed-switch')
164        PsiWhiteSpace(' ')
165        PsiElement(LITERAL)
166          PsiElement(POSITIVE_INTEGER_LITERAL)('1')
167        PsiWhiteSpace('\n    ')
168        PsiElement(PACKED_SWITCH_ELEMENT)
169          PsiElement(LABEL_REFERENCE)
170            PsiElement(COLON)(':')
171            PsiElement(SIMPLE_NAME)('blah')
172        PsiWhiteSpace('\n    ')
173        PsiElement(PACKED_SWITCH_ELEMENT)
174          PsiElement(LABEL_REFERENCE)
175            PsiElement(COLON)(':')
176            PsiElement(SIMPLE_NAME)('blah2')
177        PsiWhiteSpace('\n  ')
178        PsiErrorElement:mismatched input '.blah' expecting END_PACKED_SWITCH_DIRECTIVE
179          PsiElement(BAD_CHARACTER)('.blah')
180      PsiWhiteSpace('\n')
181      PsiElement(END_METHOD_DIRECTIVE)('.end method')
182    PsiWhiteSpace('\n\n')
183    SmaliMethod(METHOD)
184      SmaliThrowsList(THROWS_LIST)
185        <empty list>
186      PsiElement(METHOD_DIRECTIVE)('.method')
187      PsiWhiteSpace(' ')
188      SmaliModifierList(MODIFIER_LIST)
189        <empty list>
190      PsiElement(MEMBER_NAME)
191        PsiElement(SIMPLE_NAME)('blah5')
192      SmaliMethodPrototype(METHOD_PROTOTYPE)
193        PsiElement(OPEN_PAREN)('(')
194        SmaliMethodParamList(METHOD_PARAM_LIST)
195          <empty list>
196        PsiElement(CLOSE_PAREN)(')')
197        PsiElement(VOID_TYPE)
198          PsiElement(VOID_TYPE)('V')
199      PsiWhiteSpace('\n  ')
200      PsiElement(INSTRUCTION)
201        PsiElement(SPARSE_SWITCH_DIRECTIVE)('.sparse-switch')
202        PsiWhiteSpace('\n    ')
203        PsiElement(SPARSE_SWITCH_ELEMENT)
204          PsiElement(LITERAL)
205            PsiElement(POSITIVE_INTEGER_LITERAL)('1')
206          PsiWhiteSpace(' ')
207          PsiElement(ARROW)('->')
208          PsiWhiteSpace(' ')
209          PsiElement(LABEL_REFERENCE)
210            PsiElement(COLON)(':')
211            PsiElement(SIMPLE_NAME)('blah')
212        PsiWhiteSpace('\n    ')
213        PsiElement(SPARSE_SWITCH_ELEMENT)
214          PsiElement(LITERAL)
215            PsiElement(POSITIVE_INTEGER_LITERAL)('3')
216          PsiWhiteSpace(' ')
217          PsiElement(ARROW)('->')
218          PsiWhiteSpace(' ')
219          PsiElement(LABEL_REFERENCE)
220            PsiElement(COLON)(':')
221            PsiElement(SIMPLE_NAME)('blah2')
222        PsiWhiteSpace('\n    ')
223        PsiElement(SPARSE_SWITCH_ELEMENT)
224          PsiElement(LITERAL)
225            PsiElement(POSITIVE_INTEGER_LITERAL)('5')
226          PsiWhiteSpace(' ')
227          PsiElement(ARROW)('->')
228          PsiWhiteSpace(' ')
229          PsiElement(LABEL_REFERENCE)
230            PsiElement(COLON)(':')
231            PsiElement(SIMPLE_NAME)('blah3')
232        PsiWhiteSpace('\n  ')
233        PsiErrorElement:mismatched input '.blah' expecting END_SPARSE_SWITCH_DIRECTIVE
234          PsiElement(BAD_CHARACTER)('.blah')
235      PsiWhiteSpace('\n')
236      PsiElement(END_METHOD_DIRECTIVE)('.end method')