• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // $ANTLR 3.5 /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g 2015-02-19 13:37:39
2 
3 package org.jf.smali;
4 
5 import com.google.common.collect.ImmutableSet;
6 import com.google.common.collect.Iterables;
7 import com.google.common.collect.Lists;
8 import com.google.common.collect.Maps;
9 import org.antlr.runtime.BitSet;
10 import org.antlr.runtime.*;
11 import org.antlr.runtime.tree.CommonTree;
12 import org.antlr.runtime.tree.TreeNodeStream;
13 import org.antlr.runtime.tree.TreeParser;
14 import org.antlr.runtime.tree.TreeRuleReturnScope;
15 import org.jf.dexlib2.*;
16 import org.jf.dexlib2.builder.Label;
17 import org.jf.dexlib2.builder.MethodImplementationBuilder;
18 import org.jf.dexlib2.builder.SwitchLabelElement;
19 import org.jf.dexlib2.builder.instruction.*;
20 import org.jf.dexlib2.iface.Annotation;
21 import org.jf.dexlib2.iface.AnnotationElement;
22 import org.jf.dexlib2.iface.ClassDef;
23 import org.jf.dexlib2.iface.MethodImplementation;
24 import org.jf.dexlib2.iface.reference.FieldReference;
25 import org.jf.dexlib2.iface.reference.MethodReference;
26 import org.jf.dexlib2.iface.value.EncodedValue;
27 import org.jf.dexlib2.immutable.ImmutableAnnotation;
28 import org.jf.dexlib2.immutable.ImmutableAnnotationElement;
29 import org.jf.dexlib2.immutable.reference.ImmutableFieldReference;
30 import org.jf.dexlib2.immutable.reference.ImmutableMethodReference;
31 import org.jf.dexlib2.immutable.reference.ImmutableReference;
32 import org.jf.dexlib2.immutable.reference.ImmutableTypeReference;
33 import org.jf.dexlib2.immutable.value.*;
34 import org.jf.dexlib2.util.MethodUtil;
35 import org.jf.dexlib2.writer.InstructionFactory;
36 import org.jf.dexlib2.writer.builder.*;
37 import org.jf.util.LinearSearch;
38 
39 import java.util.*;
40 
41 
42 import org.antlr.runtime.*;
43 import org.antlr.runtime.tree.*;
44 import java.util.Stack;
45 import java.util.List;
46 import java.util.ArrayList;
47 
48 @SuppressWarnings("all")
49 public class smaliTreeWalker extends TreeParser {
50 	public static final String[] tokenNames = new String[] {
51 		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE",
52 		"ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW",
53 		"BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE",
54 		"CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE",
55 		"CLOSE_PAREN", "COLON", "COMMA", "DOTDOT", "DOUBLE_LITERAL", "DOUBLE_LITERAL_OR_ID",
56 		"END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", "END_FIELD_DIRECTIVE",
57 		"END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", "END_PACKED_SWITCH_DIRECTIVE",
58 		"END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", "END_SUBANNOTATION_DIRECTIVE",
59 		"ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", "EQUAL", "FIELD_DIRECTIVE", "FIELD_OFFSET",
60 		"FLOAT_LITERAL", "FLOAT_LITERAL_OR_ID", "IMPLEMENTS_DIRECTIVE", "INLINE_INDEX",
61 		"INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX",
62 		"INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x",
63 		"INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t",
64 		"INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING",
65 		"INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh",
66 		"INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b",
67 		"INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE",
68 		"INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID",
69 		"INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x",
70 		"INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i",
71 		"INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x",
72 		"INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE",
73 		"INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD",
74 		"INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD",
75 		"INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL",
76 		"INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT",
77 		"I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES",
78 		"I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD",
79 		"I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS",
80 		"I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE",
81 		"I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE",
82 		"I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS",
83 		"I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED",
84 		"I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL",
85 		"I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t",
86 		"I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x",
87 		"I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t",
88 		"I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE",
89 		"I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s",
90 		"I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD",
91 		"I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t",
92 		"I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t",
93 		"I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t",
94 		"I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE",
95 		"I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l",
96 		"I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION",
97 		"I_SUPER", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", "LOCAL_DIRECTIVE",
98 		"LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", "NEGATIVE_INTEGER_LITERAL",
99 		"NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", "PACKED_SWITCH_DIRECTIVE",
100 		"PARAMETER_DIRECTIVE", "PARAM_LIST_END", "PARAM_LIST_OR_ID_END", "PARAM_LIST_OR_ID_START",
101 		"PARAM_LIST_START", "POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE",
102 		"REGISTER", "REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL",
103 		"SIMPLE_NAME", "SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL",
104 		"SUBANNOTATION_DIRECTIVE", "SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE",
105 		"VOID_TYPE", "VTABLE_INDEX", "WHITE_SPACE"
106 	};
107 	public static final int EOF=-1;
108 	public static final int ACCESS_SPEC=4;
109 	public static final int ANNOTATION_DIRECTIVE=5;
110 	public static final int ANNOTATION_VISIBILITY=6;
111 	public static final int ARRAY_DATA_DIRECTIVE=7;
112 	public static final int ARRAY_DESCRIPTOR=8;
113 	public static final int ARROW=9;
114 	public static final int BOOL_LITERAL=10;
115 	public static final int BYTE_LITERAL=11;
116 	public static final int CATCHALL_DIRECTIVE=12;
117 	public static final int CATCH_DIRECTIVE=13;
118 	public static final int CHAR_LITERAL=14;
119 	public static final int CLASS_DESCRIPTOR=15;
120 	public static final int CLASS_DIRECTIVE=16;
121 	public static final int CLOSE_BRACE=17;
122 	public static final int CLOSE_PAREN=18;
123 	public static final int COLON=19;
124 	public static final int COMMA=20;
125 	public static final int DOTDOT=21;
126 	public static final int DOUBLE_LITERAL=22;
127 	public static final int DOUBLE_LITERAL_OR_ID=23;
128 	public static final int END_ANNOTATION_DIRECTIVE=24;
129 	public static final int END_ARRAY_DATA_DIRECTIVE=25;
130 	public static final int END_FIELD_DIRECTIVE=26;
131 	public static final int END_LOCAL_DIRECTIVE=27;
132 	public static final int END_METHOD_DIRECTIVE=28;
133 	public static final int END_PACKED_SWITCH_DIRECTIVE=29;
134 	public static final int END_PARAMETER_DIRECTIVE=30;
135 	public static final int END_SPARSE_SWITCH_DIRECTIVE=31;
136 	public static final int END_SUBANNOTATION_DIRECTIVE=32;
137 	public static final int ENUM_DIRECTIVE=33;
138 	public static final int EPILOGUE_DIRECTIVE=34;
139 	public static final int EQUAL=35;
140 	public static final int FIELD_DIRECTIVE=36;
141 	public static final int FIELD_OFFSET=37;
142 	public static final int FLOAT_LITERAL=38;
143 	public static final int FLOAT_LITERAL_OR_ID=39;
144 	public static final int IMPLEMENTS_DIRECTIVE=40;
145 	public static final int INLINE_INDEX=41;
146 	public static final int INSTRUCTION_FORMAT10t=42;
147 	public static final int INSTRUCTION_FORMAT10x=43;
148 	public static final int INSTRUCTION_FORMAT10x_ODEX=44;
149 	public static final int INSTRUCTION_FORMAT11n=45;
150 	public static final int INSTRUCTION_FORMAT11x=46;
151 	public static final int INSTRUCTION_FORMAT12x=47;
152 	public static final int INSTRUCTION_FORMAT12x_OR_ID=48;
153 	public static final int INSTRUCTION_FORMAT20bc=49;
154 	public static final int INSTRUCTION_FORMAT20t=50;
155 	public static final int INSTRUCTION_FORMAT21c_FIELD=51;
156 	public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=52;
157 	public static final int INSTRUCTION_FORMAT21c_STRING=53;
158 	public static final int INSTRUCTION_FORMAT21c_TYPE=54;
159 	public static final int INSTRUCTION_FORMAT21ih=55;
160 	public static final int INSTRUCTION_FORMAT21lh=56;
161 	public static final int INSTRUCTION_FORMAT21s=57;
162 	public static final int INSTRUCTION_FORMAT21t=58;
163 	public static final int INSTRUCTION_FORMAT22b=59;
164 	public static final int INSTRUCTION_FORMAT22c_FIELD=60;
165 	public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=61;
166 	public static final int INSTRUCTION_FORMAT22c_TYPE=62;
167 	public static final int INSTRUCTION_FORMAT22cs_FIELD=63;
168 	public static final int INSTRUCTION_FORMAT22s=64;
169 	public static final int INSTRUCTION_FORMAT22s_OR_ID=65;
170 	public static final int INSTRUCTION_FORMAT22t=66;
171 	public static final int INSTRUCTION_FORMAT22x=67;
172 	public static final int INSTRUCTION_FORMAT23x=68;
173 	public static final int INSTRUCTION_FORMAT30t=69;
174 	public static final int INSTRUCTION_FORMAT31c=70;
175 	public static final int INSTRUCTION_FORMAT31i=71;
176 	public static final int INSTRUCTION_FORMAT31i_OR_ID=72;
177 	public static final int INSTRUCTION_FORMAT31t=73;
178 	public static final int INSTRUCTION_FORMAT32x=74;
179 	public static final int INSTRUCTION_FORMAT35c_METHOD=75;
180 	public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=76;
181 	public static final int INSTRUCTION_FORMAT35c_TYPE=77;
182 	public static final int INSTRUCTION_FORMAT35mi_METHOD=78;
183 	public static final int INSTRUCTION_FORMAT35ms_METHOD=79;
184 	public static final int INSTRUCTION_FORMAT3rc_METHOD=80;
185 	public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=81;
186 	public static final int INSTRUCTION_FORMAT3rc_TYPE=82;
187 	public static final int INSTRUCTION_FORMAT3rmi_METHOD=83;
188 	public static final int INSTRUCTION_FORMAT3rms_METHOD=84;
189 	public static final int INSTRUCTION_FORMAT51l=85;
190 	public static final int INTEGER_LITERAL=86;
191 	public static final int INVALID_TOKEN=87;
192 	public static final int I_ACCESS_LIST=88;
193 	public static final int I_ANNOTATION=89;
194 	public static final int I_ANNOTATIONS=90;
195 	public static final int I_ANNOTATION_ELEMENT=91;
196 	public static final int I_ARRAY_ELEMENTS=92;
197 	public static final int I_ARRAY_ELEMENT_SIZE=93;
198 	public static final int I_CATCH=94;
199 	public static final int I_CATCHALL=95;
200 	public static final int I_CATCHES=96;
201 	public static final int I_CLASS_DEF=97;
202 	public static final int I_ENCODED_ARRAY=98;
203 	public static final int I_ENCODED_ENUM=99;
204 	public static final int I_ENCODED_FIELD=100;
205 	public static final int I_ENCODED_METHOD=101;
206 	public static final int I_END_LOCAL=102;
207 	public static final int I_EPILOGUE=103;
208 	public static final int I_FIELD=104;
209 	public static final int I_FIELDS=105;
210 	public static final int I_FIELD_INITIAL_VALUE=106;
211 	public static final int I_FIELD_TYPE=107;
212 	public static final int I_IMPLEMENTS=108;
213 	public static final int I_LABEL=109;
214 	public static final int I_LINE=110;
215 	public static final int I_LOCAL=111;
216 	public static final int I_LOCALS=112;
217 	public static final int I_METHOD=113;
218 	public static final int I_METHODS=114;
219 	public static final int I_METHOD_PROTOTYPE=115;
220 	public static final int I_METHOD_RETURN_TYPE=116;
221 	public static final int I_ORDERED_METHOD_ITEMS=117;
222 	public static final int I_PACKED_SWITCH_ELEMENTS=118;
223 	public static final int I_PACKED_SWITCH_START_KEY=119;
224 	public static final int I_PARAMETER=120;
225 	public static final int I_PARAMETERS=121;
226 	public static final int I_PARAMETER_NOT_SPECIFIED=122;
227 	public static final int I_PROLOGUE=123;
228 	public static final int I_REGISTERS=124;
229 	public static final int I_REGISTER_LIST=125;
230 	public static final int I_REGISTER_RANGE=126;
231 	public static final int I_RESTART_LOCAL=127;
232 	public static final int I_SOURCE=128;
233 	public static final int I_SPARSE_SWITCH_ELEMENTS=129;
234 	public static final int I_STATEMENT_ARRAY_DATA=130;
235 	public static final int I_STATEMENT_FORMAT10t=131;
236 	public static final int I_STATEMENT_FORMAT10x=132;
237 	public static final int I_STATEMENT_FORMAT11n=133;
238 	public static final int I_STATEMENT_FORMAT11x=134;
239 	public static final int I_STATEMENT_FORMAT12x=135;
240 	public static final int I_STATEMENT_FORMAT20bc=136;
241 	public static final int I_STATEMENT_FORMAT20t=137;
242 	public static final int I_STATEMENT_FORMAT21c_FIELD=138;
243 	public static final int I_STATEMENT_FORMAT21c_STRING=139;
244 	public static final int I_STATEMENT_FORMAT21c_TYPE=140;
245 	public static final int I_STATEMENT_FORMAT21ih=141;
246 	public static final int I_STATEMENT_FORMAT21lh=142;
247 	public static final int I_STATEMENT_FORMAT21s=143;
248 	public static final int I_STATEMENT_FORMAT21t=144;
249 	public static final int I_STATEMENT_FORMAT22b=145;
250 	public static final int I_STATEMENT_FORMAT22c_FIELD=146;
251 	public static final int I_STATEMENT_FORMAT22c_TYPE=147;
252 	public static final int I_STATEMENT_FORMAT22s=148;
253 	public static final int I_STATEMENT_FORMAT22t=149;
254 	public static final int I_STATEMENT_FORMAT22x=150;
255 	public static final int I_STATEMENT_FORMAT23x=151;
256 	public static final int I_STATEMENT_FORMAT30t=152;
257 	public static final int I_STATEMENT_FORMAT31c=153;
258 	public static final int I_STATEMENT_FORMAT31i=154;
259 	public static final int I_STATEMENT_FORMAT31t=155;
260 	public static final int I_STATEMENT_FORMAT32x=156;
261 	public static final int I_STATEMENT_FORMAT35c_METHOD=157;
262 	public static final int I_STATEMENT_FORMAT35c_TYPE=158;
263 	public static final int I_STATEMENT_FORMAT3rc_METHOD=159;
264 	public static final int I_STATEMENT_FORMAT3rc_TYPE=160;
265 	public static final int I_STATEMENT_FORMAT51l=161;
266 	public static final int I_STATEMENT_PACKED_SWITCH=162;
267 	public static final int I_STATEMENT_SPARSE_SWITCH=163;
268 	public static final int I_SUBANNOTATION=164;
269 	public static final int I_SUPER=165;
270 	public static final int LINE_COMMENT=166;
271 	public static final int LINE_DIRECTIVE=167;
272 	public static final int LOCALS_DIRECTIVE=168;
273 	public static final int LOCAL_DIRECTIVE=169;
274 	public static final int LONG_LITERAL=170;
275 	public static final int MEMBER_NAME=171;
276 	public static final int METHOD_DIRECTIVE=172;
277 	public static final int NEGATIVE_INTEGER_LITERAL=173;
278 	public static final int NULL_LITERAL=174;
279 	public static final int OPEN_BRACE=175;
280 	public static final int OPEN_PAREN=176;
281 	public static final int PACKED_SWITCH_DIRECTIVE=177;
282 	public static final int PARAMETER_DIRECTIVE=178;
283 	public static final int PARAM_LIST_END=179;
284 	public static final int PARAM_LIST_OR_ID_END=180;
285 	public static final int PARAM_LIST_OR_ID_START=181;
286 	public static final int PARAM_LIST_START=182;
287 	public static final int POSITIVE_INTEGER_LITERAL=183;
288 	public static final int PRIMITIVE_TYPE=184;
289 	public static final int PROLOGUE_DIRECTIVE=185;
290 	public static final int REGISTER=186;
291 	public static final int REGISTERS_DIRECTIVE=187;
292 	public static final int RESTART_LOCAL_DIRECTIVE=188;
293 	public static final int SHORT_LITERAL=189;
294 	public static final int SIMPLE_NAME=190;
295 	public static final int SOURCE_DIRECTIVE=191;
296 	public static final int SPARSE_SWITCH_DIRECTIVE=192;
297 	public static final int STRING_LITERAL=193;
298 	public static final int SUBANNOTATION_DIRECTIVE=194;
299 	public static final int SUPER_DIRECTIVE=195;
300 	public static final int VERIFICATION_ERROR_TYPE=196;
301 	public static final int VOID_TYPE=197;
302 	public static final int VTABLE_INDEX=198;
303 	public static final int WHITE_SPACE=199;
304 
305 	// delegates
getDelegates()306 	public TreeParser[] getDelegates() {
307 		return new TreeParser[] {};
308 	}
309 
310 	// delegators
311 
312 
smaliTreeWalker(TreeNodeStream input)313 	public smaliTreeWalker(TreeNodeStream input) {
314 		this(input, new RecognizerSharedState());
315 	}
smaliTreeWalker(TreeNodeStream input, RecognizerSharedState state)316 	public smaliTreeWalker(TreeNodeStream input, RecognizerSharedState state) {
317 		super(input, state);
318 	}
319 
getTokenNames()320 	@Override public String[] getTokenNames() { return smaliTreeWalker.tokenNames; }
getGrammarFileName()321 	@Override public String getGrammarFileName() { return "/mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g"; }
322 
323 
324 	  public String classType;
325 	  private boolean verboseErrors = false;
326 	  private int apiLevel = 15;
327 	  private Opcodes opcodes = new Opcodes(apiLevel);
328 	  private DexBuilder dexBuilder;
329 
setDexBuilder(DexBuilder dexBuilder)330 	  public void setDexBuilder(DexBuilder dexBuilder) {
331 	      this.dexBuilder = dexBuilder;
332 	  }
333 
setApiLevel(int apiLevel)334 	  public void setApiLevel(int apiLevel) {
335 	      this.opcodes = new Opcodes(apiLevel);
336 	      this.apiLevel = apiLevel;
337 	  }
338 
setVerboseErrors(boolean verboseErrors)339 	  public void setVerboseErrors(boolean verboseErrors) {
340 	    this.verboseErrors = verboseErrors;
341 	  }
342 
parseRegister_nibble(String register)343 	  private byte parseRegister_nibble(String register)
344 	      throws SemanticException {
345 	    int totalMethodRegisters = method_stack.peek().totalMethodRegisters;
346 	    int methodParameterRegisters = method_stack.peek().methodParameterRegisters;
347 
348 	    //register should be in the format "v12"
349 	    int val = Byte.parseByte(register.substring(1));
350 	    if (register.charAt(0) == 'p') {
351 	      val = totalMethodRegisters - methodParameterRegisters + val;
352 	    }
353 	    if (val >= 2<<4) {
354 	      throw new SemanticException(input, "The maximum allowed register in this context is list of registers is v15");
355 	    }
356 	    //the parser wouldn't have accepted a negative register, i.e. v-1, so we don't have to check for val<0;
357 	    return (byte)val;
358 	  }
359 
360 	  //return a short, because java's byte is signed
parseRegister_byte(String register)361 	  private short parseRegister_byte(String register)
362 	      throws SemanticException {
363 	    int totalMethodRegisters = method_stack.peek().totalMethodRegisters;
364 	    int methodParameterRegisters = method_stack.peek().methodParameterRegisters;
365 	    //register should be in the format "v123"
366 	    int val = Short.parseShort(register.substring(1));
367 	    if (register.charAt(0) == 'p') {
368 	      val = totalMethodRegisters - methodParameterRegisters + val;
369 	    }
370 	    if (val >= 2<<8) {
371 	      throw new SemanticException(input, "The maximum allowed register in this context is v255");
372 	    }
373 	    return (short)val;
374 	  }
375 
376 	  //return an int because java's short is signed
parseRegister_short(String register)377 	  private int parseRegister_short(String register)
378 	      throws SemanticException {
379 	    int totalMethodRegisters = method_stack.peek().totalMethodRegisters;
380 	    int methodParameterRegisters = method_stack.peek().methodParameterRegisters;
381 	    //register should be in the format "v12345"
382 	    int val = Integer.parseInt(register.substring(1));
383 	    if (register.charAt(0) == 'p') {
384 	      val = totalMethodRegisters - methodParameterRegisters + val;
385 	    }
386 	    if (val >= 2<<16) {
387 	      throw new SemanticException(input, "The maximum allowed register in this context is v65535");
388 	    }
389 	    //the parser wouldn't accept a negative register, i.e. v-1, so we don't have to check for val<0;
390 	    return val;
391 	  }
392 
getErrorMessage(RecognitionException e, String[] tokenNames)393 	  public String getErrorMessage(RecognitionException e, String[] tokenNames) {
394 	    if ( e instanceof SemanticException ) {
395 	      return e.getMessage();
396 	    } else {
397 	      return super.getErrorMessage(e, tokenNames);
398 	    }
399 	  }
400 
getErrorHeader(RecognitionException e)401 	  public String getErrorHeader(RecognitionException e) {
402 	    return getSourceName()+"["+ e.line+","+e.charPositionInLine+"]";
403 	  }
404 
405 
406 
407 	// $ANTLR start "smali_file"
408 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:159:1: smali_file returns [ClassDef classDef] : ^( I_CLASS_DEF header methods fields annotations ) ;
smali_file()409 	public final ClassDef smali_file() throws RecognitionException {
410 		ClassDef classDef = null;
411 
412 
413 		TreeRuleReturnScope header1 =null;
414 		Set<Annotation> annotations2 =null;
415 		List<BuilderField> fields3 =null;
416 		List<BuilderMethod> methods4 =null;
417 
418 		try {
419 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:3: ( ^( I_CLASS_DEF header methods fields annotations ) )
420 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:5: ^( I_CLASS_DEF header methods fields annotations )
421 			{
422 			match(input,I_CLASS_DEF,FOLLOW_I_CLASS_DEF_in_smali_file52);
423 			match(input, Token.DOWN, null);
424 			pushFollow(FOLLOW_header_in_smali_file54);
425 			header1=header();
426 			state._fsp--;
427 
428 			pushFollow(FOLLOW_methods_in_smali_file56);
429 			methods4=methods();
430 			state._fsp--;
431 
432 			pushFollow(FOLLOW_fields_in_smali_file58);
433 			fields3=fields();
434 			state._fsp--;
435 
436 			pushFollow(FOLLOW_annotations_in_smali_file60);
437 			annotations2=annotations();
438 			state._fsp--;
439 
440 			match(input, Token.UP, null);
441 
442 
443 			    classDef = dexBuilder.internClassDef((header1!=null?((smaliTreeWalker.header_return)header1).classType:null), (header1!=null?((smaliTreeWalker.header_return)header1).accessFlags:0), (header1!=null?((smaliTreeWalker.header_return)header1).superType:null),
444 			            (header1!=null?((smaliTreeWalker.header_return)header1).implementsList:null), (header1!=null?((smaliTreeWalker.header_return)header1).sourceSpec:null), annotations2, fields3, methods4);
445 
446 			}
447 
448 		}
449 		catch (Exception ex) {
450 
451 			    if (verboseErrors) {
452 			      ex.printStackTrace(System.err);
453 			    }
454 			    reportError(new SemanticException(input, ex));
455 
456 		}
457 
458 		finally {
459 			// do for sure before leaving
460 		}
461 		return classDef;
462 	}
463 	// $ANTLR end "smali_file"
464 
465 
466 	public static class header_return extends TreeRuleReturnScope {
467 		public String classType;
468 		public int accessFlags;
469 		public String superType;
470 		public List<String> implementsList;
471 		public String sourceSpec;
472 	};
473 
474 
475 	// $ANTLR start "header"
476 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:173:1: header returns [String classType, int accessFlags, String superType, List<String> implementsList, String sourceSpec] : class_spec ( super_spec )? implements_list source_spec ;
header()477 	public final smaliTreeWalker.header_return header() throws RecognitionException {
478 		smaliTreeWalker.header_return retval = new smaliTreeWalker.header_return();
479 		retval.start = input.LT(1);
480 
481 		TreeRuleReturnScope class_spec5 =null;
482 		String super_spec6 =null;
483 		List<String> implements_list7 =null;
484 		String source_spec8 =null;
485 
486 		try {
487 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: ( class_spec ( super_spec )? implements_list source_spec )
488 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: class_spec ( super_spec )? implements_list source_spec
489 			{
490 			pushFollow(FOLLOW_class_spec_in_header85);
491 			class_spec5=class_spec();
492 			state._fsp--;
493 
494 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: ( super_spec )?
495 			int alt1=2;
496 			int LA1_0 = input.LA(1);
497 			if ( (LA1_0==I_SUPER) ) {
498 				alt1=1;
499 			}
500 			switch (alt1) {
501 				case 1 :
502 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: super_spec
503 					{
504 					pushFollow(FOLLOW_super_spec_in_header87);
505 					super_spec6=super_spec();
506 					state._fsp--;
507 
508 					}
509 					break;
510 
511 			}
512 
513 			pushFollow(FOLLOW_implements_list_in_header90);
514 			implements_list7=implements_list();
515 			state._fsp--;
516 
517 			pushFollow(FOLLOW_source_spec_in_header92);
518 			source_spec8=source_spec();
519 			state._fsp--;
520 
521 
522 			    classType = (class_spec5!=null?((smaliTreeWalker.class_spec_return)class_spec5).type:null);
523 			    retval.classType = classType;
524 			    retval.accessFlags = (class_spec5!=null?((smaliTreeWalker.class_spec_return)class_spec5).accessFlags:0);
525 			    retval.superType = super_spec6;
526 			    retval.implementsList = implements_list7;
527 			    retval.sourceSpec = source_spec8;
528 
529 			}
530 
531 		}
532 		catch (RecognitionException re) {
533 			reportError(re);
534 			recover(input,re);
535 		}
536 		finally {
537 			// do for sure before leaving
538 		}
539 		return retval;
540 	}
541 	// $ANTLR end "header"
542 
543 
544 	public static class class_spec_return extends TreeRuleReturnScope {
545 		public String type;
546 		public int accessFlags;
547 	};
548 
549 
550 	// $ANTLR start "class_spec"
551 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:185:1: class_spec returns [String type, int accessFlags] : CLASS_DESCRIPTOR access_list ;
class_spec()552 	public final smaliTreeWalker.class_spec_return class_spec() throws RecognitionException {
553 		smaliTreeWalker.class_spec_return retval = new smaliTreeWalker.class_spec_return();
554 		retval.start = input.LT(1);
555 
556 		CommonTree CLASS_DESCRIPTOR9=null;
557 		int access_list10 =0;
558 
559 		try {
560 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:3: ( CLASS_DESCRIPTOR access_list )
561 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:5: CLASS_DESCRIPTOR access_list
562 			{
563 			CLASS_DESCRIPTOR9=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec110);
564 			pushFollow(FOLLOW_access_list_in_class_spec112);
565 			access_list10=access_list();
566 			state._fsp--;
567 
568 
569 			    retval.type = (CLASS_DESCRIPTOR9!=null?CLASS_DESCRIPTOR9.getText():null);
570 			    retval.accessFlags = access_list10;
571 
572 			}
573 
574 		}
575 		catch (RecognitionException re) {
576 			reportError(re);
577 			recover(input,re);
578 		}
579 		finally {
580 			// do for sure before leaving
581 		}
582 		return retval;
583 	}
584 	// $ANTLR end "class_spec"
585 
586 
587 
588 	// $ANTLR start "super_spec"
589 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:192:1: super_spec returns [String type] : ^( I_SUPER CLASS_DESCRIPTOR ) ;
super_spec()590 	public final String super_spec() throws RecognitionException {
591 		String type = null;
592 
593 
594 		CommonTree CLASS_DESCRIPTOR11=null;
595 
596 		try {
597 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:3: ( ^( I_SUPER CLASS_DESCRIPTOR ) )
598 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:5: ^( I_SUPER CLASS_DESCRIPTOR )
599 			{
600 			match(input,I_SUPER,FOLLOW_I_SUPER_in_super_spec130);
601 			match(input, Token.DOWN, null);
602 			CLASS_DESCRIPTOR11=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec132);
603 			match(input, Token.UP, null);
604 
605 
606 			    type = (CLASS_DESCRIPTOR11!=null?CLASS_DESCRIPTOR11.getText():null);
607 
608 			}
609 
610 		}
611 		catch (RecognitionException re) {
612 			reportError(re);
613 			recover(input,re);
614 		}
615 		finally {
616 			// do for sure before leaving
617 		}
618 		return type;
619 	}
620 	// $ANTLR end "super_spec"
621 
622 
623 
624 	// $ANTLR start "implements_spec"
625 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:199:1: implements_spec returns [String type] : ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) ;
implements_spec()626 	public final String implements_spec() throws RecognitionException {
627 		String type = null;
628 
629 
630 		CommonTree CLASS_DESCRIPTOR12=null;
631 
632 		try {
633 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:3: ( ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) )
634 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:5: ^( I_IMPLEMENTS CLASS_DESCRIPTOR )
635 			{
636 			match(input,I_IMPLEMENTS,FOLLOW_I_IMPLEMENTS_in_implements_spec152);
637 			match(input, Token.DOWN, null);
638 			CLASS_DESCRIPTOR12=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec154);
639 			match(input, Token.UP, null);
640 
641 
642 			    type = (CLASS_DESCRIPTOR12!=null?CLASS_DESCRIPTOR12.getText():null);
643 
644 			}
645 
646 		}
647 		catch (RecognitionException re) {
648 			reportError(re);
649 			recover(input,re);
650 		}
651 		finally {
652 			// do for sure before leaving
653 		}
654 		return type;
655 	}
656 	// $ANTLR end "implements_spec"
657 
658 
659 
660 	// $ANTLR start "implements_list"
661 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:205:1: implements_list returns [List<String> implementsList] : ( implements_spec )* ;
implements_list()662 	public final List<String> implements_list() throws RecognitionException {
663 		List<String> implementsList = null;
664 
665 
666 		String implements_spec13 =null;
667 
668 		 List<String> typeList;
669 		try {
670 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:3: ( ( implements_spec )* )
671 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:5: ( implements_spec )*
672 			{
673 			typeList = Lists.newArrayList();
674 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:5: ( implements_spec )*
675 			loop2:
676 			while (true) {
677 				int alt2=2;
678 				int LA2_0 = input.LA(1);
679 				if ( (LA2_0==I_IMPLEMENTS) ) {
680 					alt2=1;
681 				}
682 
683 				switch (alt2) {
684 				case 1 :
685 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:6: implements_spec
686 					{
687 					pushFollow(FOLLOW_implements_spec_in_implements_list184);
688 					implements_spec13=implements_spec();
689 					state._fsp--;
690 
691 					typeList.add(implements_spec13);
692 					}
693 					break;
694 
695 				default :
696 					break loop2;
697 				}
698 			}
699 
700 
701 			    if (typeList.size() > 0) {
702 			      implementsList = typeList;
703 			    } else {
704 			      implementsList = null;
705 			    }
706 
707 			}
708 
709 		}
710 		catch (RecognitionException re) {
711 			reportError(re);
712 			recover(input,re);
713 		}
714 		finally {
715 			// do for sure before leaving
716 		}
717 		return implementsList;
718 	}
719 	// $ANTLR end "implements_list"
720 
721 
722 
723 	// $ANTLR start "source_spec"
724 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:217:1: source_spec returns [String source] : ( ^( I_SOURCE string_literal ) |);
source_spec()725 	public final String source_spec() throws RecognitionException {
726 		String source = null;
727 
728 
729 		String string_literal14 =null;
730 
731 		try {
732 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:3: ( ^( I_SOURCE string_literal ) |)
733 			int alt3=2;
734 			int LA3_0 = input.LA(1);
735 			if ( (LA3_0==I_SOURCE) ) {
736 				alt3=1;
737 			}
738 			else if ( (LA3_0==I_METHODS) ) {
739 				alt3=2;
740 			}
741 
742 			else {
743 				NoViableAltException nvae =
744 					new NoViableAltException("", 3, 0, input);
745 				throw nvae;
746 			}
747 
748 			switch (alt3) {
749 				case 1 :
750 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:5: ^( I_SOURCE string_literal )
751 					{
752 					source = null;
753 					match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source_spec213);
754 					match(input, Token.DOWN, null);
755 					pushFollow(FOLLOW_string_literal_in_source_spec215);
756 					string_literal14=string_literal();
757 					state._fsp--;
758 
759 					source = string_literal14;
760 					match(input, Token.UP, null);
761 
762 					}
763 					break;
764 				case 2 :
765 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:220:16:
766 					{
767 					}
768 					break;
769 
770 			}
771 		}
772 		catch (RecognitionException re) {
773 			reportError(re);
774 			recover(input,re);
775 		}
776 		finally {
777 			// do for sure before leaving
778 		}
779 		return source;
780 	}
781 	// $ANTLR end "source_spec"
782 
783 
784 
785 	// $ANTLR start "access_list"
786 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:222:1: access_list returns [int value] : ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) ;
access_list()787 	public final int access_list() throws RecognitionException {
788 		int value = 0;
789 
790 
791 		CommonTree ACCESS_SPEC15=null;
792 
793 
794 		    value = 0;
795 
796 		try {
797 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:3: ( ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) )
798 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:5: ^( I_ACCESS_LIST ( ACCESS_SPEC )* )
799 			{
800 			match(input,I_ACCESS_LIST,FOLLOW_I_ACCESS_LIST_in_access_list248);
801 			if ( input.LA(1)==Token.DOWN ) {
802 				match(input, Token.DOWN, null);
803 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:228:7: ( ACCESS_SPEC )*
804 				loop4:
805 				while (true) {
806 					int alt4=2;
807 					int LA4_0 = input.LA(1);
808 					if ( (LA4_0==ACCESS_SPEC) ) {
809 						alt4=1;
810 					}
811 
812 					switch (alt4) {
813 					case 1 :
814 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:229:9: ACCESS_SPEC
815 						{
816 						ACCESS_SPEC15=(CommonTree)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list266);
817 
818 						          value |= AccessFlags.getAccessFlag(ACCESS_SPEC15.getText()).getValue();
819 
820 						}
821 						break;
822 
823 					default :
824 						break loop4;
825 					}
826 				}
827 
828 				match(input, Token.UP, null);
829 			}
830 
831 			}
832 
833 		}
834 		catch (RecognitionException re) {
835 			reportError(re);
836 			recover(input,re);
837 		}
838 		finally {
839 			// do for sure before leaving
840 		}
841 		return value;
842 	}
843 	// $ANTLR end "access_list"
844 
845 
846 
847 	// $ANTLR start "fields"
848 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:236:1: fields returns [List<BuilderField> fields] : ^( I_FIELDS ( field )* ) ;
fields()849 	public final List<BuilderField> fields() throws RecognitionException {
850 		List<BuilderField> fields = null;
851 
852 
853 		BuilderField field16 =null;
854 
855 		fields = Lists.newArrayList();
856 		try {
857 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:3: ( ^( I_FIELDS ( field )* ) )
858 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:5: ^( I_FIELDS ( field )* )
859 			{
860 			match(input,I_FIELDS,FOLLOW_I_FIELDS_in_fields308);
861 			if ( input.LA(1)==Token.DOWN ) {
862 				match(input, Token.DOWN, null);
863 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:7: ( field )*
864 				loop5:
865 				while (true) {
866 					int alt5=2;
867 					int LA5_0 = input.LA(1);
868 					if ( (LA5_0==I_FIELD) ) {
869 						alt5=1;
870 					}
871 
872 					switch (alt5) {
873 					case 1 :
874 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:8: field
875 						{
876 						pushFollow(FOLLOW_field_in_fields317);
877 						field16=field();
878 						state._fsp--;
879 
880 
881 						        fields.add(field16);
882 
883 						}
884 						break;
885 
886 					default :
887 						break loop5;
888 					}
889 				}
890 
891 				match(input, Token.UP, null);
892 			}
893 
894 			}
895 
896 		}
897 		catch (RecognitionException re) {
898 			reportError(re);
899 			recover(input,re);
900 		}
901 		finally {
902 			// do for sure before leaving
903 		}
904 		return fields;
905 	}
906 	// $ANTLR end "fields"
907 
908 
909 
910 	// $ANTLR start "methods"
911 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:244:1: methods returns [List<BuilderMethod> methods] : ^( I_METHODS ( method )* ) ;
methods()912 	public final List<BuilderMethod> methods() throws RecognitionException {
913 		List<BuilderMethod> methods = null;
914 
915 
916 		BuilderMethod method17 =null;
917 
918 		methods = Lists.newArrayList();
919 		try {
920 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:3: ( ^( I_METHODS ( method )* ) )
921 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:5: ^( I_METHODS ( method )* )
922 			{
923 			match(input,I_METHODS,FOLLOW_I_METHODS_in_methods349);
924 			if ( input.LA(1)==Token.DOWN ) {
925 				match(input, Token.DOWN, null);
926 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:7: ( method )*
927 				loop6:
928 				while (true) {
929 					int alt6=2;
930 					int LA6_0 = input.LA(1);
931 					if ( (LA6_0==I_METHOD) ) {
932 						alt6=1;
933 					}
934 
935 					switch (alt6) {
936 					case 1 :
937 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:8: method
938 						{
939 						pushFollow(FOLLOW_method_in_methods358);
940 						method17=method();
941 						state._fsp--;
942 
943 
944 						        methods.add(method17);
945 
946 						}
947 						break;
948 
949 					default :
950 						break loop6;
951 					}
952 				}
953 
954 				match(input, Token.UP, null);
955 			}
956 
957 			}
958 
959 		}
960 		catch (RecognitionException re) {
961 			reportError(re);
962 			recover(input,re);
963 		}
964 		finally {
965 			// do for sure before leaving
966 		}
967 		return methods;
968 	}
969 	// $ANTLR end "methods"
970 
971 
972 
973 	// $ANTLR start "field"
974 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:252:1: field returns [BuilderField field] : ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) ;
field()975 	public final BuilderField field() throws RecognitionException {
976 		BuilderField field = null;
977 
978 
979 		CommonTree SIMPLE_NAME20=null;
980 		int access_list18 =0;
981 		EncodedValue field_initial_value19 =null;
982 		TreeRuleReturnScope nonvoid_type_descriptor21 =null;
983 		Set<Annotation> annotations22 =null;
984 
985 		try {
986 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:3: ( ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) )
987 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:4: ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? )
988 			{
989 			match(input,I_FIELD,FOLLOW_I_FIELD_in_field383);
990 			match(input, Token.DOWN, null);
991 			SIMPLE_NAME20=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_field385);
992 			pushFollow(FOLLOW_access_list_in_field387);
993 			access_list18=access_list();
994 			state._fsp--;
995 
996 			match(input,I_FIELD_TYPE,FOLLOW_I_FIELD_TYPE_in_field390);
997 			match(input, Token.DOWN, null);
998 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field392);
999 			nonvoid_type_descriptor21=nonvoid_type_descriptor();
1000 			state._fsp--;
1001 
1002 			match(input, Token.UP, null);
1003 
1004 			pushFollow(FOLLOW_field_initial_value_in_field395);
1005 			field_initial_value19=field_initial_value();
1006 			state._fsp--;
1007 
1008 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: ( annotations )?
1009 			int alt7=2;
1010 			int LA7_0 = input.LA(1);
1011 			if ( (LA7_0==I_ANNOTATIONS) ) {
1012 				alt7=1;
1013 			}
1014 			switch (alt7) {
1015 				case 1 :
1016 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: annotations
1017 					{
1018 					pushFollow(FOLLOW_annotations_in_field397);
1019 					annotations22=annotations();
1020 					state._fsp--;
1021 
1022 					}
1023 					break;
1024 
1025 			}
1026 
1027 			match(input, Token.UP, null);
1028 
1029 
1030 			    int accessFlags = access_list18;
1031 
1032 
1033 			    if (!AccessFlags.STATIC.isSet(accessFlags) && field_initial_value19 != null) {
1034 			        throw new SemanticException(input, "Initial field values can only be specified for static fields.");
1035 			    }
1036 
1037 			    field = dexBuilder.internField(classType, (SIMPLE_NAME20!=null?SIMPLE_NAME20.getText():null), (nonvoid_type_descriptor21!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor21).type:null), access_list18,
1038 			            field_initial_value19, annotations22);
1039 
1040 			}
1041 
1042 		}
1043 		catch (RecognitionException re) {
1044 			reportError(re);
1045 			recover(input,re);
1046 		}
1047 		finally {
1048 			// do for sure before leaving
1049 		}
1050 		return field;
1051 	}
1052 	// $ANTLR end "field"
1053 
1054 
1055 
1056 	// $ANTLR start "field_initial_value"
1057 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:267:1: field_initial_value returns [EncodedValue encodedValue] : ( ^( I_FIELD_INITIAL_VALUE literal ) |);
field_initial_value()1058 	public final EncodedValue field_initial_value() throws RecognitionException {
1059 		EncodedValue encodedValue = null;
1060 
1061 
1062 		EncodedValue literal23 =null;
1063 
1064 		try {
1065 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:3: ( ^( I_FIELD_INITIAL_VALUE literal ) |)
1066 			int alt8=2;
1067 			int LA8_0 = input.LA(1);
1068 			if ( (LA8_0==I_FIELD_INITIAL_VALUE) ) {
1069 				alt8=1;
1070 			}
1071 			else if ( (LA8_0==UP||LA8_0==I_ANNOTATIONS) ) {
1072 				alt8=2;
1073 			}
1074 
1075 			else {
1076 				NoViableAltException nvae =
1077 					new NoViableAltException("", 8, 0, input);
1078 				throw nvae;
1079 			}
1080 
1081 			switch (alt8) {
1082 				case 1 :
1083 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:5: ^( I_FIELD_INITIAL_VALUE literal )
1084 					{
1085 					match(input,I_FIELD_INITIAL_VALUE,FOLLOW_I_FIELD_INITIAL_VALUE_in_field_initial_value418);
1086 					match(input, Token.DOWN, null);
1087 					pushFollow(FOLLOW_literal_in_field_initial_value420);
1088 					literal23=literal();
1089 					state._fsp--;
1090 
1091 					match(input, Token.UP, null);
1092 
1093 					encodedValue = literal23;
1094 					}
1095 					break;
1096 				case 2 :
1097 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:269:16:
1098 					{
1099 					}
1100 					break;
1101 
1102 			}
1103 		}
1104 		catch (RecognitionException re) {
1105 			reportError(re);
1106 			recover(input,re);
1107 		}
1108 		finally {
1109 			// do for sure before leaving
1110 		}
1111 		return encodedValue;
1112 	}
1113 	// $ANTLR end "field_initial_value"
1114 
1115 
1116 
1117 	// $ANTLR start "literal"
1118 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:271:1: literal returns [EncodedValue encodedValue] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal );
literal()1119 	public final EncodedValue literal() throws RecognitionException {
1120 		EncodedValue encodedValue = null;
1121 
1122 
1123 		int integer_literal24 =0;
1124 		long long_literal25 =0;
1125 		short short_literal26 =0;
1126 		byte byte_literal27 =0;
1127 		float float_literal28 =0.0f;
1128 		double double_literal29 =0.0;
1129 		char char_literal30 =0;
1130 		String string_literal31 =null;
1131 		boolean bool_literal32 =false;
1132 		String type_descriptor33 =null;
1133 		List<EncodedValue> array_literal34 =null;
1134 		TreeRuleReturnScope subannotation35 =null;
1135 		FieldReference field_literal36 =null;
1136 		MethodReference method_literal37 =null;
1137 		FieldReference enum_literal38 =null;
1138 
1139 		try {
1140 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal )
1141 			int alt9=16;
1142 			switch ( input.LA(1) ) {
1143 			case INTEGER_LITERAL:
1144 				{
1145 				alt9=1;
1146 				}
1147 				break;
1148 			case LONG_LITERAL:
1149 				{
1150 				alt9=2;
1151 				}
1152 				break;
1153 			case SHORT_LITERAL:
1154 				{
1155 				alt9=3;
1156 				}
1157 				break;
1158 			case BYTE_LITERAL:
1159 				{
1160 				alt9=4;
1161 				}
1162 				break;
1163 			case FLOAT_LITERAL:
1164 				{
1165 				alt9=5;
1166 				}
1167 				break;
1168 			case DOUBLE_LITERAL:
1169 				{
1170 				alt9=6;
1171 				}
1172 				break;
1173 			case CHAR_LITERAL:
1174 				{
1175 				alt9=7;
1176 				}
1177 				break;
1178 			case STRING_LITERAL:
1179 				{
1180 				alt9=8;
1181 				}
1182 				break;
1183 			case BOOL_LITERAL:
1184 				{
1185 				alt9=9;
1186 				}
1187 				break;
1188 			case NULL_LITERAL:
1189 				{
1190 				alt9=10;
1191 				}
1192 				break;
1193 			case ARRAY_DESCRIPTOR:
1194 			case CLASS_DESCRIPTOR:
1195 			case PRIMITIVE_TYPE:
1196 			case VOID_TYPE:
1197 				{
1198 				alt9=11;
1199 				}
1200 				break;
1201 			case I_ENCODED_ARRAY:
1202 				{
1203 				alt9=12;
1204 				}
1205 				break;
1206 			case I_SUBANNOTATION:
1207 				{
1208 				alt9=13;
1209 				}
1210 				break;
1211 			case I_ENCODED_FIELD:
1212 				{
1213 				alt9=14;
1214 				}
1215 				break;
1216 			case I_ENCODED_METHOD:
1217 				{
1218 				alt9=15;
1219 				}
1220 				break;
1221 			case I_ENCODED_ENUM:
1222 				{
1223 				alt9=16;
1224 				}
1225 				break;
1226 			default:
1227 				NoViableAltException nvae =
1228 					new NoViableAltException("", 9, 0, input);
1229 				throw nvae;
1230 			}
1231 			switch (alt9) {
1232 				case 1 :
1233 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:5: integer_literal
1234 					{
1235 					pushFollow(FOLLOW_integer_literal_in_literal442);
1236 					integer_literal24=integer_literal();
1237 					state._fsp--;
1238 
1239 					 encodedValue = new ImmutableIntEncodedValue(integer_literal24);
1240 					}
1241 					break;
1242 				case 2 :
1243 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:273:5: long_literal
1244 					{
1245 					pushFollow(FOLLOW_long_literal_in_literal450);
1246 					long_literal25=long_literal();
1247 					state._fsp--;
1248 
1249 					 encodedValue = new ImmutableLongEncodedValue(long_literal25);
1250 					}
1251 					break;
1252 				case 3 :
1253 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:274:5: short_literal
1254 					{
1255 					pushFollow(FOLLOW_short_literal_in_literal458);
1256 					short_literal26=short_literal();
1257 					state._fsp--;
1258 
1259 					 encodedValue = new ImmutableShortEncodedValue(short_literal26);
1260 					}
1261 					break;
1262 				case 4 :
1263 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:275:5: byte_literal
1264 					{
1265 					pushFollow(FOLLOW_byte_literal_in_literal466);
1266 					byte_literal27=byte_literal();
1267 					state._fsp--;
1268 
1269 					 encodedValue = new ImmutableByteEncodedValue(byte_literal27);
1270 					}
1271 					break;
1272 				case 5 :
1273 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:276:5: float_literal
1274 					{
1275 					pushFollow(FOLLOW_float_literal_in_literal474);
1276 					float_literal28=float_literal();
1277 					state._fsp--;
1278 
1279 					 encodedValue = new ImmutableFloatEncodedValue(float_literal28);
1280 					}
1281 					break;
1282 				case 6 :
1283 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:277:5: double_literal
1284 					{
1285 					pushFollow(FOLLOW_double_literal_in_literal482);
1286 					double_literal29=double_literal();
1287 					state._fsp--;
1288 
1289 					 encodedValue = new ImmutableDoubleEncodedValue(double_literal29);
1290 					}
1291 					break;
1292 				case 7 :
1293 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:278:5: char_literal
1294 					{
1295 					pushFollow(FOLLOW_char_literal_in_literal490);
1296 					char_literal30=char_literal();
1297 					state._fsp--;
1298 
1299 					 encodedValue = new ImmutableCharEncodedValue(char_literal30);
1300 					}
1301 					break;
1302 				case 8 :
1303 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:279:5: string_literal
1304 					{
1305 					pushFollow(FOLLOW_string_literal_in_literal498);
1306 					string_literal31=string_literal();
1307 					state._fsp--;
1308 
1309 					 encodedValue = new ImmutableStringEncodedValue(string_literal31);
1310 					}
1311 					break;
1312 				case 9 :
1313 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:280:5: bool_literal
1314 					{
1315 					pushFollow(FOLLOW_bool_literal_in_literal506);
1316 					bool_literal32=bool_literal();
1317 					state._fsp--;
1318 
1319 					 encodedValue = ImmutableBooleanEncodedValue.forBoolean(bool_literal32);
1320 					}
1321 					break;
1322 				case 10 :
1323 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:281:5: NULL_LITERAL
1324 					{
1325 					match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal514);
1326 					 encodedValue = ImmutableNullEncodedValue.INSTANCE;
1327 					}
1328 					break;
1329 				case 11 :
1330 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:282:5: type_descriptor
1331 					{
1332 					pushFollow(FOLLOW_type_descriptor_in_literal522);
1333 					type_descriptor33=type_descriptor();
1334 					state._fsp--;
1335 
1336 					 encodedValue = new ImmutableTypeEncodedValue(type_descriptor33);
1337 					}
1338 					break;
1339 				case 12 :
1340 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:283:5: array_literal
1341 					{
1342 					pushFollow(FOLLOW_array_literal_in_literal530);
1343 					array_literal34=array_literal();
1344 					state._fsp--;
1345 
1346 					 encodedValue = new ImmutableArrayEncodedValue(array_literal34);
1347 					}
1348 					break;
1349 				case 13 :
1350 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:284:5: subannotation
1351 					{
1352 					pushFollow(FOLLOW_subannotation_in_literal538);
1353 					subannotation35=subannotation();
1354 					state._fsp--;
1355 
1356 					 encodedValue = new ImmutableAnnotationEncodedValue((subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).annotationType:null), (subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).elements:null));
1357 					}
1358 					break;
1359 				case 14 :
1360 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:285:5: field_literal
1361 					{
1362 					pushFollow(FOLLOW_field_literal_in_literal546);
1363 					field_literal36=field_literal();
1364 					state._fsp--;
1365 
1366 					 encodedValue = new ImmutableFieldEncodedValue(field_literal36);
1367 					}
1368 					break;
1369 				case 15 :
1370 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:286:5: method_literal
1371 					{
1372 					pushFollow(FOLLOW_method_literal_in_literal554);
1373 					method_literal37=method_literal();
1374 					state._fsp--;
1375 
1376 					 encodedValue = new ImmutableMethodEncodedValue(method_literal37);
1377 					}
1378 					break;
1379 				case 16 :
1380 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:287:5: enum_literal
1381 					{
1382 					pushFollow(FOLLOW_enum_literal_in_literal562);
1383 					enum_literal38=enum_literal();
1384 					state._fsp--;
1385 
1386 					 encodedValue = new ImmutableEnumEncodedValue(enum_literal38);
1387 					}
1388 					break;
1389 
1390 			}
1391 		}
1392 		catch (RecognitionException re) {
1393 			reportError(re);
1394 			recover(input,re);
1395 		}
1396 		finally {
1397 			// do for sure before leaving
1398 		}
1399 		return encodedValue;
1400 	}
1401 	// $ANTLR end "literal"
1402 
1403 
1404 
1405 	// $ANTLR start "fixed_64bit_literal_number"
1406 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:290:1: fixed_64bit_literal_number returns [Number value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
fixed_64bit_literal_number()1407 	public final Number fixed_64bit_literal_number() throws RecognitionException {
1408 		Number value = null;
1409 
1410 
1411 		int integer_literal39 =0;
1412 		long long_literal40 =0;
1413 		short short_literal41 =0;
1414 		byte byte_literal42 =0;
1415 		float float_literal43 =0.0f;
1416 		double double_literal44 =0.0;
1417 		char char_literal45 =0;
1418 		boolean bool_literal46 =false;
1419 
1420 		try {
1421 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
1422 			int alt10=8;
1423 			switch ( input.LA(1) ) {
1424 			case INTEGER_LITERAL:
1425 				{
1426 				alt10=1;
1427 				}
1428 				break;
1429 			case LONG_LITERAL:
1430 				{
1431 				alt10=2;
1432 				}
1433 				break;
1434 			case SHORT_LITERAL:
1435 				{
1436 				alt10=3;
1437 				}
1438 				break;
1439 			case BYTE_LITERAL:
1440 				{
1441 				alt10=4;
1442 				}
1443 				break;
1444 			case FLOAT_LITERAL:
1445 				{
1446 				alt10=5;
1447 				}
1448 				break;
1449 			case DOUBLE_LITERAL:
1450 				{
1451 				alt10=6;
1452 				}
1453 				break;
1454 			case CHAR_LITERAL:
1455 				{
1456 				alt10=7;
1457 				}
1458 				break;
1459 			case BOOL_LITERAL:
1460 				{
1461 				alt10=8;
1462 				}
1463 				break;
1464 			default:
1465 				NoViableAltException nvae =
1466 					new NoViableAltException("", 10, 0, input);
1467 				throw nvae;
1468 			}
1469 			switch (alt10) {
1470 				case 1 :
1471 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:5: integer_literal
1472 					{
1473 					pushFollow(FOLLOW_integer_literal_in_fixed_64bit_literal_number578);
1474 					integer_literal39=integer_literal();
1475 					state._fsp--;
1476 
1477 					 value = integer_literal39;
1478 					}
1479 					break;
1480 				case 2 :
1481 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:292:5: long_literal
1482 					{
1483 					pushFollow(FOLLOW_long_literal_in_fixed_64bit_literal_number586);
1484 					long_literal40=long_literal();
1485 					state._fsp--;
1486 
1487 					 value = long_literal40;
1488 					}
1489 					break;
1490 				case 3 :
1491 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:293:5: short_literal
1492 					{
1493 					pushFollow(FOLLOW_short_literal_in_fixed_64bit_literal_number594);
1494 					short_literal41=short_literal();
1495 					state._fsp--;
1496 
1497 					 value = short_literal41;
1498 					}
1499 					break;
1500 				case 4 :
1501 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:294:5: byte_literal
1502 					{
1503 					pushFollow(FOLLOW_byte_literal_in_fixed_64bit_literal_number602);
1504 					byte_literal42=byte_literal();
1505 					state._fsp--;
1506 
1507 					 value = byte_literal42;
1508 					}
1509 					break;
1510 				case 5 :
1511 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:295:5: float_literal
1512 					{
1513 					pushFollow(FOLLOW_float_literal_in_fixed_64bit_literal_number610);
1514 					float_literal43=float_literal();
1515 					state._fsp--;
1516 
1517 					 value = Float.floatToRawIntBits(float_literal43);
1518 					}
1519 					break;
1520 				case 6 :
1521 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:296:5: double_literal
1522 					{
1523 					pushFollow(FOLLOW_double_literal_in_fixed_64bit_literal_number618);
1524 					double_literal44=double_literal();
1525 					state._fsp--;
1526 
1527 					 value = Double.doubleToRawLongBits(double_literal44);
1528 					}
1529 					break;
1530 				case 7 :
1531 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:297:5: char_literal
1532 					{
1533 					pushFollow(FOLLOW_char_literal_in_fixed_64bit_literal_number626);
1534 					char_literal45=char_literal();
1535 					state._fsp--;
1536 
1537 					 value = (int)char_literal45;
1538 					}
1539 					break;
1540 				case 8 :
1541 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:298:5: bool_literal
1542 					{
1543 					pushFollow(FOLLOW_bool_literal_in_fixed_64bit_literal_number634);
1544 					bool_literal46=bool_literal();
1545 					state._fsp--;
1546 
1547 					 value = bool_literal46?1:0;
1548 					}
1549 					break;
1550 
1551 			}
1552 		}
1553 		catch (RecognitionException re) {
1554 			reportError(re);
1555 			recover(input,re);
1556 		}
1557 		finally {
1558 			// do for sure before leaving
1559 		}
1560 		return value;
1561 	}
1562 	// $ANTLR end "fixed_64bit_literal_number"
1563 
1564 
1565 
1566 	// $ANTLR start "fixed_64bit_literal"
1567 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:300:1: fixed_64bit_literal returns [long value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
fixed_64bit_literal()1568 	public final long fixed_64bit_literal() throws RecognitionException {
1569 		long value = 0;
1570 
1571 
1572 		int integer_literal47 =0;
1573 		long long_literal48 =0;
1574 		short short_literal49 =0;
1575 		byte byte_literal50 =0;
1576 		float float_literal51 =0.0f;
1577 		double double_literal52 =0.0;
1578 		char char_literal53 =0;
1579 		boolean bool_literal54 =false;
1580 
1581 		try {
1582 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
1583 			int alt11=8;
1584 			switch ( input.LA(1) ) {
1585 			case INTEGER_LITERAL:
1586 				{
1587 				alt11=1;
1588 				}
1589 				break;
1590 			case LONG_LITERAL:
1591 				{
1592 				alt11=2;
1593 				}
1594 				break;
1595 			case SHORT_LITERAL:
1596 				{
1597 				alt11=3;
1598 				}
1599 				break;
1600 			case BYTE_LITERAL:
1601 				{
1602 				alt11=4;
1603 				}
1604 				break;
1605 			case FLOAT_LITERAL:
1606 				{
1607 				alt11=5;
1608 				}
1609 				break;
1610 			case DOUBLE_LITERAL:
1611 				{
1612 				alt11=6;
1613 				}
1614 				break;
1615 			case CHAR_LITERAL:
1616 				{
1617 				alt11=7;
1618 				}
1619 				break;
1620 			case BOOL_LITERAL:
1621 				{
1622 				alt11=8;
1623 				}
1624 				break;
1625 			default:
1626 				NoViableAltException nvae =
1627 					new NoViableAltException("", 11, 0, input);
1628 				throw nvae;
1629 			}
1630 			switch (alt11) {
1631 				case 1 :
1632 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:5: integer_literal
1633 					{
1634 					pushFollow(FOLLOW_integer_literal_in_fixed_64bit_literal649);
1635 					integer_literal47=integer_literal();
1636 					state._fsp--;
1637 
1638 					 value = integer_literal47;
1639 					}
1640 					break;
1641 				case 2 :
1642 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:302:5: long_literal
1643 					{
1644 					pushFollow(FOLLOW_long_literal_in_fixed_64bit_literal657);
1645 					long_literal48=long_literal();
1646 					state._fsp--;
1647 
1648 					 value = long_literal48;
1649 					}
1650 					break;
1651 				case 3 :
1652 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:303:5: short_literal
1653 					{
1654 					pushFollow(FOLLOW_short_literal_in_fixed_64bit_literal665);
1655 					short_literal49=short_literal();
1656 					state._fsp--;
1657 
1658 					 value = short_literal49;
1659 					}
1660 					break;
1661 				case 4 :
1662 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:304:5: byte_literal
1663 					{
1664 					pushFollow(FOLLOW_byte_literal_in_fixed_64bit_literal673);
1665 					byte_literal50=byte_literal();
1666 					state._fsp--;
1667 
1668 					 value = byte_literal50;
1669 					}
1670 					break;
1671 				case 5 :
1672 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:305:5: float_literal
1673 					{
1674 					pushFollow(FOLLOW_float_literal_in_fixed_64bit_literal681);
1675 					float_literal51=float_literal();
1676 					state._fsp--;
1677 
1678 					 value = Float.floatToRawIntBits(float_literal51);
1679 					}
1680 					break;
1681 				case 6 :
1682 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:306:5: double_literal
1683 					{
1684 					pushFollow(FOLLOW_double_literal_in_fixed_64bit_literal689);
1685 					double_literal52=double_literal();
1686 					state._fsp--;
1687 
1688 					 value = Double.doubleToRawLongBits(double_literal52);
1689 					}
1690 					break;
1691 				case 7 :
1692 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:307:5: char_literal
1693 					{
1694 					pushFollow(FOLLOW_char_literal_in_fixed_64bit_literal697);
1695 					char_literal53=char_literal();
1696 					state._fsp--;
1697 
1698 					 value = char_literal53;
1699 					}
1700 					break;
1701 				case 8 :
1702 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:308:5: bool_literal
1703 					{
1704 					pushFollow(FOLLOW_bool_literal_in_fixed_64bit_literal705);
1705 					bool_literal54=bool_literal();
1706 					state._fsp--;
1707 
1708 					 value = bool_literal54?1:0;
1709 					}
1710 					break;
1711 
1712 			}
1713 		}
1714 		catch (RecognitionException re) {
1715 			reportError(re);
1716 			recover(input,re);
1717 		}
1718 		finally {
1719 			// do for sure before leaving
1720 		}
1721 		return value;
1722 	}
1723 	// $ANTLR end "fixed_64bit_literal"
1724 
1725 
1726 
1727 	// $ANTLR start "fixed_32bit_literal"
1728 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:312:1: fixed_32bit_literal returns [int value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal );
fixed_32bit_literal()1729 	public final int fixed_32bit_literal() throws RecognitionException {
1730 		int value = 0;
1731 
1732 
1733 		int integer_literal55 =0;
1734 		long long_literal56 =0;
1735 		short short_literal57 =0;
1736 		byte byte_literal58 =0;
1737 		float float_literal59 =0.0f;
1738 		char char_literal60 =0;
1739 		boolean bool_literal61 =false;
1740 
1741 		try {
1742 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal )
1743 			int alt12=7;
1744 			switch ( input.LA(1) ) {
1745 			case INTEGER_LITERAL:
1746 				{
1747 				alt12=1;
1748 				}
1749 				break;
1750 			case LONG_LITERAL:
1751 				{
1752 				alt12=2;
1753 				}
1754 				break;
1755 			case SHORT_LITERAL:
1756 				{
1757 				alt12=3;
1758 				}
1759 				break;
1760 			case BYTE_LITERAL:
1761 				{
1762 				alt12=4;
1763 				}
1764 				break;
1765 			case FLOAT_LITERAL:
1766 				{
1767 				alt12=5;
1768 				}
1769 				break;
1770 			case CHAR_LITERAL:
1771 				{
1772 				alt12=6;
1773 				}
1774 				break;
1775 			case BOOL_LITERAL:
1776 				{
1777 				alt12=7;
1778 				}
1779 				break;
1780 			default:
1781 				NoViableAltException nvae =
1782 					new NoViableAltException("", 12, 0, input);
1783 				throw nvae;
1784 			}
1785 			switch (alt12) {
1786 				case 1 :
1787 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:5: integer_literal
1788 					{
1789 					pushFollow(FOLLOW_integer_literal_in_fixed_32bit_literal722);
1790 					integer_literal55=integer_literal();
1791 					state._fsp--;
1792 
1793 					 value = integer_literal55;
1794 					}
1795 					break;
1796 				case 2 :
1797 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:314:5: long_literal
1798 					{
1799 					pushFollow(FOLLOW_long_literal_in_fixed_32bit_literal730);
1800 					long_literal56=long_literal();
1801 					state._fsp--;
1802 
1803 					 LiteralTools.checkInt(long_literal56); value = (int)long_literal56;
1804 					}
1805 					break;
1806 				case 3 :
1807 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:315:5: short_literal
1808 					{
1809 					pushFollow(FOLLOW_short_literal_in_fixed_32bit_literal738);
1810 					short_literal57=short_literal();
1811 					state._fsp--;
1812 
1813 					 value = short_literal57;
1814 					}
1815 					break;
1816 				case 4 :
1817 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:316:5: byte_literal
1818 					{
1819 					pushFollow(FOLLOW_byte_literal_in_fixed_32bit_literal746);
1820 					byte_literal58=byte_literal();
1821 					state._fsp--;
1822 
1823 					 value = byte_literal58;
1824 					}
1825 					break;
1826 				case 5 :
1827 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:317:5: float_literal
1828 					{
1829 					pushFollow(FOLLOW_float_literal_in_fixed_32bit_literal754);
1830 					float_literal59=float_literal();
1831 					state._fsp--;
1832 
1833 					 value = Float.floatToRawIntBits(float_literal59);
1834 					}
1835 					break;
1836 				case 6 :
1837 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:318:5: char_literal
1838 					{
1839 					pushFollow(FOLLOW_char_literal_in_fixed_32bit_literal762);
1840 					char_literal60=char_literal();
1841 					state._fsp--;
1842 
1843 					 value = char_literal60;
1844 					}
1845 					break;
1846 				case 7 :
1847 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:319:5: bool_literal
1848 					{
1849 					pushFollow(FOLLOW_bool_literal_in_fixed_32bit_literal770);
1850 					bool_literal61=bool_literal();
1851 					state._fsp--;
1852 
1853 					 value = bool_literal61?1:0;
1854 					}
1855 					break;
1856 
1857 			}
1858 		}
1859 		catch (RecognitionException re) {
1860 			reportError(re);
1861 			recover(input,re);
1862 		}
1863 		finally {
1864 			// do for sure before leaving
1865 		}
1866 		return value;
1867 	}
1868 	// $ANTLR end "fixed_32bit_literal"
1869 
1870 
1871 
1872 	// $ANTLR start "array_elements"
1873 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:321:1: array_elements returns [List<Number> elements] : ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) ;
array_elements()1874 	public final List<Number> array_elements() throws RecognitionException {
1875 		List<Number> elements = null;
1876 
1877 
1878 		Number fixed_64bit_literal_number62 =null;
1879 
1880 		try {
1881 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:3: ( ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) )
1882 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:5: ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* )
1883 			{
1884 			elements = Lists.newArrayList();
1885 			match(input,I_ARRAY_ELEMENTS,FOLLOW_I_ARRAY_ELEMENTS_in_array_elements792);
1886 			if ( input.LA(1)==Token.DOWN ) {
1887 				match(input, Token.DOWN, null);
1888 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:7: ( fixed_64bit_literal_number )*
1889 				loop13:
1890 				while (true) {
1891 					int alt13=2;
1892 					int LA13_0 = input.LA(1);
1893 					if ( ((LA13_0 >= BOOL_LITERAL && LA13_0 <= BYTE_LITERAL)||LA13_0==CHAR_LITERAL||LA13_0==DOUBLE_LITERAL||LA13_0==FLOAT_LITERAL||LA13_0==INTEGER_LITERAL||LA13_0==LONG_LITERAL||LA13_0==SHORT_LITERAL) ) {
1894 						alt13=1;
1895 					}
1896 
1897 					switch (alt13) {
1898 					case 1 :
1899 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:8: fixed_64bit_literal_number
1900 						{
1901 						pushFollow(FOLLOW_fixed_64bit_literal_number_in_array_elements801);
1902 						fixed_64bit_literal_number62=fixed_64bit_literal_number();
1903 						state._fsp--;
1904 
1905 
1906 						        elements.add(fixed_64bit_literal_number62);
1907 
1908 						}
1909 						break;
1910 
1911 					default :
1912 						break loop13;
1913 					}
1914 				}
1915 
1916 				match(input, Token.UP, null);
1917 			}
1918 
1919 			}
1920 
1921 		}
1922 		catch (RecognitionException re) {
1923 			reportError(re);
1924 			recover(input,re);
1925 		}
1926 		finally {
1927 			// do for sure before leaving
1928 		}
1929 		return elements;
1930 	}
1931 	// $ANTLR end "array_elements"
1932 
1933 
1934 
1935 	// $ANTLR start "packed_switch_elements"
1936 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:329:1: packed_switch_elements returns [List<Label> elements] : ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) ;
packed_switch_elements()1937 	public final List<Label> packed_switch_elements() throws RecognitionException {
1938 		List<Label> elements = null;
1939 
1940 
1941 		Label label_ref63 =null;
1942 
1943 		elements = Lists.newArrayList();
1944 		try {
1945 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:331:3: ( ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) )
1946 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:332:5: ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* )
1947 			{
1948 			match(input,I_PACKED_SWITCH_ELEMENTS,FOLLOW_I_PACKED_SWITCH_ELEMENTS_in_packed_switch_elements837);
1949 			if ( input.LA(1)==Token.DOWN ) {
1950 				match(input, Token.DOWN, null);
1951 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:7: ( label_ref )*
1952 				loop14:
1953 				while (true) {
1954 					int alt14=2;
1955 					int LA14_0 = input.LA(1);
1956 					if ( (LA14_0==SIMPLE_NAME) ) {
1957 						alt14=1;
1958 					}
1959 
1960 					switch (alt14) {
1961 					case 1 :
1962 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:8: label_ref
1963 						{
1964 						pushFollow(FOLLOW_label_ref_in_packed_switch_elements846);
1965 						label_ref63=label_ref();
1966 						state._fsp--;
1967 
1968 						 elements.add(label_ref63);
1969 						}
1970 						break;
1971 
1972 					default :
1973 						break loop14;
1974 					}
1975 				}
1976 
1977 				match(input, Token.UP, null);
1978 			}
1979 
1980 			}
1981 
1982 		}
1983 		catch (RecognitionException re) {
1984 			reportError(re);
1985 			recover(input,re);
1986 		}
1987 		finally {
1988 			// do for sure before leaving
1989 		}
1990 		return elements;
1991 	}
1992 	// $ANTLR end "packed_switch_elements"
1993 
1994 
1995 
1996 	// $ANTLR start "sparse_switch_elements"
1997 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:336:1: sparse_switch_elements returns [List<SwitchLabelElement> elements] : ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) ;
sparse_switch_elements()1998 	public final List<SwitchLabelElement> sparse_switch_elements() throws RecognitionException {
1999 		List<SwitchLabelElement> elements = null;
2000 
2001 
2002 		int fixed_32bit_literal64 =0;
2003 		Label label_ref65 =null;
2004 
2005 		elements = Lists.newArrayList();
2006 		try {
2007 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:338:3: ( ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) )
2008 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:339:5: ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* )
2009 			{
2010 			match(input,I_SPARSE_SWITCH_ELEMENTS,FOLLOW_I_SPARSE_SWITCH_ELEMENTS_in_sparse_switch_elements881);
2011 			if ( input.LA(1)==Token.DOWN ) {
2012 				match(input, Token.DOWN, null);
2013 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:8: ( fixed_32bit_literal label_ref )*
2014 				loop15:
2015 				while (true) {
2016 					int alt15=2;
2017 					int LA15_0 = input.LA(1);
2018 					if ( ((LA15_0 >= BOOL_LITERAL && LA15_0 <= BYTE_LITERAL)||LA15_0==CHAR_LITERAL||LA15_0==FLOAT_LITERAL||LA15_0==INTEGER_LITERAL||LA15_0==LONG_LITERAL||LA15_0==SHORT_LITERAL) ) {
2019 						alt15=1;
2020 					}
2021 
2022 					switch (alt15) {
2023 					case 1 :
2024 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:9: fixed_32bit_literal label_ref
2025 						{
2026 						pushFollow(FOLLOW_fixed_32bit_literal_in_sparse_switch_elements891);
2027 						fixed_32bit_literal64=fixed_32bit_literal();
2028 						state._fsp--;
2029 
2030 						pushFollow(FOLLOW_label_ref_in_sparse_switch_elements893);
2031 						label_ref65=label_ref();
2032 						state._fsp--;
2033 
2034 
2035 						         elements.add(new SwitchLabelElement(fixed_32bit_literal64, label_ref65));
2036 
2037 						}
2038 						break;
2039 
2040 					default :
2041 						break loop15;
2042 					}
2043 				}
2044 
2045 				match(input, Token.UP, null);
2046 			}
2047 
2048 			}
2049 
2050 		}
2051 		catch (RecognitionException re) {
2052 			reportError(re);
2053 			recover(input,re);
2054 		}
2055 		finally {
2056 			// do for sure before leaving
2057 		}
2058 		return elements;
2059 	}
2060 	// $ANTLR end "sparse_switch_elements"
2061 
2062 
2063 	protected static class method_scope {
2064 		boolean isStatic;
2065 		int totalMethodRegisters;
2066 		int methodParameterRegisters;
2067 		MethodImplementationBuilder methodBuilder;
2068 	}
2069 	protected Stack<method_scope> method_stack = new Stack<method_scope>();
2070 
2071 
2072 	// $ANTLR start "method"
2073 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:346:1: method returns [BuilderMethod ret] : ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) ;
method()2074 	public final BuilderMethod method() throws RecognitionException {
2075 		method_stack.push(new method_scope());
2076 		BuilderMethod ret = null;
2077 
2078 
2079 		CommonTree I_METHOD70=null;
2080 		int access_list66 =0;
2081 		TreeRuleReturnScope method_name_and_prototype67 =null;
2082 		TreeRuleReturnScope registers_directive68 =null;
2083 		List<BuilderTryBlock> catches69 =null;
2084 		Set<Annotation> annotations71 =null;
2085 
2086 
2087 		    method_stack.peek().totalMethodRegisters = 0;
2088 		    method_stack.peek().methodParameterRegisters = 0;
2089 		    int accessFlags = 0;
2090 		    method_stack.peek().isStatic = false;
2091 
2092 		try {
2093 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:361:3: ( ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) )
2094 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:362:5: ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations )
2095 			{
2096 			I_METHOD70=(CommonTree)match(input,I_METHOD,FOLLOW_I_METHOD_in_method945);
2097 			match(input, Token.DOWN, null);
2098 			pushFollow(FOLLOW_method_name_and_prototype_in_method953);
2099 			method_name_and_prototype67=method_name_and_prototype();
2100 			state._fsp--;
2101 
2102 			pushFollow(FOLLOW_access_list_in_method961);
2103 			access_list66=access_list();
2104 			state._fsp--;
2105 
2106 
2107 			        accessFlags = access_list66;
2108 			        method_stack.peek().isStatic = AccessFlags.STATIC.isSet(accessFlags);
2109 			        method_stack.peek().methodParameterRegisters =
2110 			                MethodUtil.getParameterRegisterCount((method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).parameters:null), method_stack.peek().isStatic);
2111 
2112 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:371:7: ( ( registers_directive ) |)
2113 			int alt16=2;
2114 			int LA16_0 = input.LA(1);
2115 			if ( (LA16_0==I_LOCALS||LA16_0==I_REGISTERS) ) {
2116 				alt16=1;
2117 			}
2118 			else if ( (LA16_0==I_ORDERED_METHOD_ITEMS) ) {
2119 				alt16=2;
2120 			}
2121 
2122 			else {
2123 				NoViableAltException nvae =
2124 					new NoViableAltException("", 16, 0, input);
2125 				throw nvae;
2126 			}
2127 
2128 			switch (alt16) {
2129 				case 1 :
2130 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
2131 					{
2132 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
2133 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:10: registers_directive
2134 					{
2135 					pushFollow(FOLLOW_registers_directive_in_method988);
2136 					registers_directive68=registers_directive();
2137 					state._fsp--;
2138 
2139 
2140 					          if ((registers_directive68!=null?((smaliTreeWalker.registers_directive_return)registers_directive68).isLocalsDirective:false)) {
2141 					            method_stack.peek().totalMethodRegisters = (registers_directive68!=null?((smaliTreeWalker.registers_directive_return)registers_directive68).registers:0) + method_stack.peek().methodParameterRegisters;
2142 					          } else {
2143 					            method_stack.peek().totalMethodRegisters = (registers_directive68!=null?((smaliTreeWalker.registers_directive_return)registers_directive68).registers:0);
2144 					          }
2145 
2146 					          method_stack.peek().methodBuilder = new MethodImplementationBuilder(method_stack.peek().totalMethodRegisters);
2147 
2148 
2149 					}
2150 
2151 					}
2152 					break;
2153 				case 2 :
2154 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:385:9:
2155 					{
2156 
2157 					          method_stack.peek().methodBuilder = new MethodImplementationBuilder(0);
2158 
2159 					}
2160 					break;
2161 
2162 			}
2163 
2164 			pushFollow(FOLLOW_ordered_method_items_in_method1045);
2165 			ordered_method_items();
2166 			state._fsp--;
2167 
2168 			pushFollow(FOLLOW_catches_in_method1053);
2169 			catches69=catches();
2170 			state._fsp--;
2171 
2172 			pushFollow(FOLLOW_parameters_in_method1061);
2173 			parameters((method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).parameters:null));
2174 			state._fsp--;
2175 
2176 			pushFollow(FOLLOW_annotations_in_method1070);
2177 			annotations71=annotations();
2178 			state._fsp--;
2179 
2180 			match(input, Token.UP, null);
2181 
2182 
2183 			    MethodImplementation methodImplementation = null;
2184 			    List<BuilderTryBlock> tryBlocks = catches69;
2185 
2186 			    boolean isAbstract = false;
2187 			    boolean isNative = false;
2188 
2189 			    if ((accessFlags & AccessFlags.ABSTRACT.getValue()) != 0) {
2190 			      isAbstract = true;
2191 			    } else if ((accessFlags & AccessFlags.NATIVE.getValue()) != 0) {
2192 			      isNative = true;
2193 			    }
2194 
2195 			    methodImplementation = method_stack.peek().methodBuilder.getMethodImplementation();
2196 
2197 			    if (Iterables.isEmpty(methodImplementation.getInstructions())) {
2198 			      if (!isAbstract && !isNative) {
2199 			        throw new SemanticException(input, I_METHOD70, "A non-abstract/non-native method must have at least 1 instruction");
2200 			      }
2201 
2202 			      String methodType;
2203 			      if (isAbstract) {
2204 			        methodType = "an abstract";
2205 			      } else {
2206 			        methodType = "a native";
2207 			      }
2208 
2209 			      if ((registers_directive68!=null?((CommonTree)registers_directive68.start):null) != null) {
2210 			        if ((registers_directive68!=null?((smaliTreeWalker.registers_directive_return)registers_directive68).isLocalsDirective:false)) {
2211 			          throw new SemanticException(input, (registers_directive68!=null?((CommonTree)registers_directive68.start):null), "A .locals directive is not valid in %s method", methodType);
2212 			        } else {
2213 			          throw new SemanticException(input, (registers_directive68!=null?((CommonTree)registers_directive68.start):null), "A .registers directive is not valid in %s method", methodType);
2214 			        }
2215 			      }
2216 
2217 			      if (methodImplementation.getTryBlocks().size() > 0) {
2218 			        throw new SemanticException(input, I_METHOD70, "try/catch blocks cannot be present in %s method", methodType);
2219 			      }
2220 
2221 			      if (!Iterables.isEmpty(methodImplementation.getDebugItems())) {
2222 			        throw new SemanticException(input, I_METHOD70, "debug directives cannot be present in %s method", methodType);
2223 			      }
2224 
2225 			      methodImplementation = null;
2226 			    } else {
2227 			      if (isAbstract) {
2228 			        throw new SemanticException(input, I_METHOD70, "An abstract method cannot have any instructions");
2229 			      }
2230 			      if (isNative) {
2231 			        throw new SemanticException(input, I_METHOD70, "A native method cannot have any instructions");
2232 			      }
2233 
2234 			      if ((registers_directive68!=null?((CommonTree)registers_directive68.start):null) == null) {
2235 			        throw new SemanticException(input, I_METHOD70, "A .registers or .locals directive must be present for a non-abstract/non-final method");
2236 			      }
2237 
2238 			      if (method_stack.peek().totalMethodRegisters < method_stack.peek().methodParameterRegisters) {
2239 			        throw new SemanticException(input, (registers_directive68!=null?((CommonTree)registers_directive68.start):null), "This method requires at least " +
2240 			                Integer.toString(method_stack.peek().methodParameterRegisters) +
2241 			                " registers, for the method parameters");
2242 			      }
2243 			    }
2244 
2245 			    ret = dexBuilder.internMethod(
2246 			            classType,
2247 			            (method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).name:null),
2248 			            (method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).parameters:null),
2249 			            (method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).returnType:null),
2250 			            accessFlags,
2251 			            annotations71,
2252 			            methodImplementation);
2253 
2254 			}
2255 
2256 		}
2257 		catch (RecognitionException re) {
2258 			reportError(re);
2259 			recover(input,re);
2260 		}
2261 		finally {
2262 			// do for sure before leaving
2263 			method_stack.pop();
2264 		}
2265 		return ret;
2266 	}
2267 	// $ANTLR end "method"
2268 
2269 
2270 	public static class method_prototype_return extends TreeRuleReturnScope {
2271 		public List<String> parameters;
2272 		public String returnType;
2273 	};
2274 
2275 
2276 	// $ANTLR start "method_prototype"
2277 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:467:1: method_prototype returns [List<String> parameters, String returnType] : ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list ) ;
method_prototype()2278 	public final smaliTreeWalker.method_prototype_return method_prototype() throws RecognitionException {
2279 		smaliTreeWalker.method_prototype_return retval = new smaliTreeWalker.method_prototype_return();
2280 		retval.start = input.LT(1);
2281 
2282 		String type_descriptor72 =null;
2283 		List<String> method_type_list73 =null;
2284 
2285 		try {
2286 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:3: ( ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list ) )
2287 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:5: ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list )
2288 			{
2289 			match(input,I_METHOD_PROTOTYPE,FOLLOW_I_METHOD_PROTOTYPE_in_method_prototype1094);
2290 			match(input, Token.DOWN, null);
2291 			match(input,I_METHOD_RETURN_TYPE,FOLLOW_I_METHOD_RETURN_TYPE_in_method_prototype1097);
2292 			match(input, Token.DOWN, null);
2293 			pushFollow(FOLLOW_type_descriptor_in_method_prototype1099);
2294 			type_descriptor72=type_descriptor();
2295 			state._fsp--;
2296 
2297 			match(input, Token.UP, null);
2298 
2299 			pushFollow(FOLLOW_method_type_list_in_method_prototype1102);
2300 			method_type_list73=method_type_list();
2301 			state._fsp--;
2302 
2303 			match(input, Token.UP, null);
2304 
2305 
2306 			    retval.returnType = type_descriptor72;
2307 			    retval.parameters = method_type_list73;
2308 
2309 			}
2310 
2311 		}
2312 		catch (RecognitionException re) {
2313 			reportError(re);
2314 			recover(input,re);
2315 		}
2316 		finally {
2317 			// do for sure before leaving
2318 		}
2319 		return retval;
2320 	}
2321 	// $ANTLR end "method_prototype"
2322 
2323 
2324 	public static class method_name_and_prototype_return extends TreeRuleReturnScope {
2325 		public String name;
2326 		public List<SmaliMethodParameter> parameters;
2327 		public String returnType;
2328 	};
2329 
2330 
2331 	// $ANTLR start "method_name_and_prototype"
2332 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:474:1: method_name_and_prototype returns [String name, List<SmaliMethodParameter> parameters, String returnType] : SIMPLE_NAME method_prototype ;
method_name_and_prototype()2333 	public final smaliTreeWalker.method_name_and_prototype_return method_name_and_prototype() throws RecognitionException {
2334 		smaliTreeWalker.method_name_and_prototype_return retval = new smaliTreeWalker.method_name_and_prototype_return();
2335 		retval.start = input.LT(1);
2336 
2337 		CommonTree SIMPLE_NAME74=null;
2338 		TreeRuleReturnScope method_prototype75 =null;
2339 
2340 		try {
2341 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:3: ( SIMPLE_NAME method_prototype )
2342 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:5: SIMPLE_NAME method_prototype
2343 			{
2344 			SIMPLE_NAME74=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120);
2345 			pushFollow(FOLLOW_method_prototype_in_method_name_and_prototype1122);
2346 			method_prototype75=method_prototype();
2347 			state._fsp--;
2348 
2349 
2350 			    retval.name = (SIMPLE_NAME74!=null?SIMPLE_NAME74.getText():null);
2351 			    retval.parameters = Lists.newArrayList();
2352 
2353 			    int paramRegister = 0;
2354 			    for (String type: (method_prototype75!=null?((smaliTreeWalker.method_prototype_return)method_prototype75).parameters:null)) {
2355 			        retval.parameters.add(new SmaliMethodParameter(paramRegister++, type));
2356 			        char c = type.charAt(0);
2357 			        if (c == 'D' || c == 'J') {
2358 			            paramRegister++;
2359 			        }
2360 			    }
2361 			    retval.returnType = (method_prototype75!=null?((smaliTreeWalker.method_prototype_return)method_prototype75).returnType:null);
2362 
2363 			}
2364 
2365 		}
2366 		catch (RecognitionException re) {
2367 			reportError(re);
2368 			recover(input,re);
2369 		}
2370 		finally {
2371 			// do for sure before leaving
2372 		}
2373 		return retval;
2374 	}
2375 	// $ANTLR end "method_name_and_prototype"
2376 
2377 
2378 
2379 	// $ANTLR start "method_type_list"
2380 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:491:1: method_type_list returns [List<String> types] : ( nonvoid_type_descriptor )* ;
method_type_list()2381 	public final List<String> method_type_list() throws RecognitionException {
2382 		List<String> types = null;
2383 
2384 
2385 		TreeRuleReturnScope nonvoid_type_descriptor76 =null;
2386 
2387 
2388 		    types = Lists.newArrayList();
2389 
2390 		try {
2391 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:3: ( ( nonvoid_type_descriptor )* )
2392 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
2393 			{
2394 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
2395 			loop17:
2396 			while (true) {
2397 				int alt17=2;
2398 				int LA17_0 = input.LA(1);
2399 				if ( (LA17_0==ARRAY_DESCRIPTOR||LA17_0==CLASS_DESCRIPTOR||LA17_0==PRIMITIVE_TYPE) ) {
2400 					alt17=1;
2401 				}
2402 
2403 				switch (alt17) {
2404 				case 1 :
2405 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:497:7: nonvoid_type_descriptor
2406 					{
2407 					pushFollow(FOLLOW_nonvoid_type_descriptor_in_method_type_list1156);
2408 					nonvoid_type_descriptor76=nonvoid_type_descriptor();
2409 					state._fsp--;
2410 
2411 
2412 					        types.add((nonvoid_type_descriptor76!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor76).type:null));
2413 
2414 					}
2415 					break;
2416 
2417 				default :
2418 					break loop17;
2419 				}
2420 			}
2421 
2422 			}
2423 
2424 		}
2425 		catch (RecognitionException re) {
2426 			reportError(re);
2427 			recover(input,re);
2428 		}
2429 		finally {
2430 			// do for sure before leaving
2431 		}
2432 		return types;
2433 	}
2434 	// $ANTLR end "method_type_list"
2435 
2436 
2437 
2438 	// $ANTLR start "method_reference"
2439 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:504:1: method_reference returns [ImmutableMethodReference methodReference] : ( reference_type_descriptor )? SIMPLE_NAME method_prototype ;
method_reference()2440 	public final ImmutableMethodReference method_reference() throws RecognitionException {
2441 		ImmutableMethodReference methodReference = null;
2442 
2443 
2444 		CommonTree SIMPLE_NAME78=null;
2445 		TreeRuleReturnScope reference_type_descriptor77 =null;
2446 		TreeRuleReturnScope method_prototype79 =null;
2447 
2448 		try {
2449 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:3: ( ( reference_type_descriptor )? SIMPLE_NAME method_prototype )
2450 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: ( reference_type_descriptor )? SIMPLE_NAME method_prototype
2451 			{
2452 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: ( reference_type_descriptor )?
2453 			int alt18=2;
2454 			int LA18_0 = input.LA(1);
2455 			if ( (LA18_0==ARRAY_DESCRIPTOR||LA18_0==CLASS_DESCRIPTOR) ) {
2456 				alt18=1;
2457 			}
2458 			switch (alt18) {
2459 				case 1 :
2460 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: reference_type_descriptor
2461 					{
2462 					pushFollow(FOLLOW_reference_type_descriptor_in_method_reference1185);
2463 					reference_type_descriptor77=reference_type_descriptor();
2464 					state._fsp--;
2465 
2466 					}
2467 					break;
2468 
2469 			}
2470 
2471 			SIMPLE_NAME78=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_method_reference1188);
2472 			pushFollow(FOLLOW_method_prototype_in_method_reference1190);
2473 			method_prototype79=method_prototype();
2474 			state._fsp--;
2475 
2476 
2477 			    String type;
2478 			    if ((reference_type_descriptor77!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor77).type:null) == null) {
2479 			        type = classType;
2480 			    } else {
2481 			        type = (reference_type_descriptor77!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor77).type:null);
2482 			    }
2483 			    methodReference = new ImmutableMethodReference(type, (SIMPLE_NAME78!=null?SIMPLE_NAME78.getText():null),
2484 			             (method_prototype79!=null?((smaliTreeWalker.method_prototype_return)method_prototype79).parameters:null), (method_prototype79!=null?((smaliTreeWalker.method_prototype_return)method_prototype79).returnType:null));
2485 
2486 			}
2487 
2488 		}
2489 		catch (RecognitionException re) {
2490 			reportError(re);
2491 			recover(input,re);
2492 		}
2493 		finally {
2494 			// do for sure before leaving
2495 		}
2496 		return methodReference;
2497 	}
2498 	// $ANTLR end "method_reference"
2499 
2500 
2501 
2502 	// $ANTLR start "field_reference"
2503 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:517:1: field_reference returns [ImmutableFieldReference fieldReference] : ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor ;
field_reference()2504 	public final ImmutableFieldReference field_reference() throws RecognitionException {
2505 		ImmutableFieldReference fieldReference = null;
2506 
2507 
2508 		CommonTree SIMPLE_NAME81=null;
2509 		TreeRuleReturnScope reference_type_descriptor80 =null;
2510 		TreeRuleReturnScope nonvoid_type_descriptor82 =null;
2511 
2512 		try {
2513 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:3: ( ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor )
2514 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor
2515 			{
2516 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: ( reference_type_descriptor )?
2517 			int alt19=2;
2518 			int LA19_0 = input.LA(1);
2519 			if ( (LA19_0==ARRAY_DESCRIPTOR||LA19_0==CLASS_DESCRIPTOR) ) {
2520 				alt19=1;
2521 			}
2522 			switch (alt19) {
2523 				case 1 :
2524 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: reference_type_descriptor
2525 					{
2526 					pushFollow(FOLLOW_reference_type_descriptor_in_field_reference1207);
2527 					reference_type_descriptor80=reference_type_descriptor();
2528 					state._fsp--;
2529 
2530 					}
2531 					break;
2532 
2533 			}
2534 
2535 			SIMPLE_NAME81=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_field_reference1210);
2536 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field_reference1212);
2537 			nonvoid_type_descriptor82=nonvoid_type_descriptor();
2538 			state._fsp--;
2539 
2540 
2541 			    String type;
2542 			    if ((reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null) == null) {
2543 			        type = classType;
2544 			    } else {
2545 			        type = (reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null);
2546 			    }
2547 			    fieldReference = new ImmutableFieldReference(type, (SIMPLE_NAME81!=null?SIMPLE_NAME81.getText():null),
2548 			            (nonvoid_type_descriptor82!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor82).type:null));
2549 
2550 			}
2551 
2552 		}
2553 		catch (RecognitionException re) {
2554 			reportError(re);
2555 			recover(input,re);
2556 		}
2557 		finally {
2558 			// do for sure before leaving
2559 		}
2560 		return fieldReference;
2561 	}
2562 	// $ANTLR end "field_reference"
2563 
2564 
2565 	public static class registers_directive_return extends TreeRuleReturnScope {
2566 		public boolean isLocalsDirective;
2567 		public int registers;
2568 	};
2569 
2570 
2571 	// $ANTLR start "registers_directive"
2572 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:530:1: registers_directive returns [boolean isLocalsDirective, int registers] : ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) ;
registers_directive()2573 	public final smaliTreeWalker.registers_directive_return registers_directive() throws RecognitionException {
2574 		smaliTreeWalker.registers_directive_return retval = new smaliTreeWalker.registers_directive_return();
2575 		retval.start = input.LT(1);
2576 
2577 		short short_integral_literal83 =0;
2578 
2579 		try {
2580 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:531:3: ( ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) )
2581 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:531:5: ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal )
2582 			{
2583 			retval.registers = 0;
2584 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:532:7: ( I_REGISTERS | I_LOCALS )
2585 			int alt20=2;
2586 			int LA20_0 = input.LA(1);
2587 			if ( (LA20_0==I_REGISTERS) ) {
2588 				alt20=1;
2589 			}
2590 			else if ( (LA20_0==I_LOCALS) ) {
2591 				alt20=2;
2592 			}
2593 
2594 			else {
2595 				NoViableAltException nvae =
2596 					new NoViableAltException("", 20, 0, input);
2597 				throw nvae;
2598 			}
2599 
2600 			switch (alt20) {
2601 				case 1 :
2602 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:532:9: I_REGISTERS
2603 					{
2604 					match(input,I_REGISTERS,FOLLOW_I_REGISTERS_in_registers_directive1238);
2605 					retval.isLocalsDirective = false;
2606 					}
2607 					break;
2608 				case 2 :
2609 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:533:9: I_LOCALS
2610 					{
2611 					match(input,I_LOCALS,FOLLOW_I_LOCALS_in_registers_directive1250);
2612 					retval.isLocalsDirective = true;
2613 					}
2614 					break;
2615 
2616 			}
2617 
2618 			match(input, Token.DOWN, null);
2619 			pushFollow(FOLLOW_short_integral_literal_in_registers_directive1268);
2620 			short_integral_literal83=short_integral_literal();
2621 			state._fsp--;
2622 
2623 			retval.registers = short_integral_literal83;
2624 			match(input, Token.UP, null);
2625 
2626 			}
2627 
2628 		}
2629 		catch (RecognitionException re) {
2630 			reportError(re);
2631 			recover(input,re);
2632 		}
2633 		finally {
2634 			// do for sure before leaving
2635 		}
2636 		return retval;
2637 	}
2638 	// $ANTLR end "registers_directive"
2639 
2640 
2641 
2642 	// $ANTLR start "label_def"
2643 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:538:1: label_def : ^( I_LABEL SIMPLE_NAME ) ;
label_def()2644 	public final void label_def() throws RecognitionException {
2645 		CommonTree SIMPLE_NAME84=null;
2646 
2647 		try {
2648 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:539:3: ( ^( I_LABEL SIMPLE_NAME ) )
2649 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:539:5: ^( I_LABEL SIMPLE_NAME )
2650 			{
2651 			match(input,I_LABEL,FOLLOW_I_LABEL_in_label_def1288);
2652 			match(input, Token.DOWN, null);
2653 			SIMPLE_NAME84=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_def1290);
2654 			match(input, Token.UP, null);
2655 
2656 
2657 			    method_stack.peek().methodBuilder.addLabel((SIMPLE_NAME84!=null?SIMPLE_NAME84.getText():null));
2658 
2659 			}
2660 
2661 		}
2662 		catch (RecognitionException re) {
2663 			reportError(re);
2664 			recover(input,re);
2665 		}
2666 		finally {
2667 			// do for sure before leaving
2668 		}
2669 	}
2670 	// $ANTLR end "label_def"
2671 
2672 
2673 
2674 	// $ANTLR start "catches"
2675 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:544:1: catches returns [List<BuilderTryBlock> tryBlocks] : ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ;
catches()2676 	public final List<BuilderTryBlock> catches() throws RecognitionException {
2677 		List<BuilderTryBlock> tryBlocks = null;
2678 
2679 
2680 		tryBlocks = Lists.newArrayList();
2681 		try {
2682 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:3: ( ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) )
2683 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:5: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* )
2684 			{
2685 			match(input,I_CATCHES,FOLLOW_I_CATCHES_in_catches1316);
2686 			if ( input.LA(1)==Token.DOWN ) {
2687 				match(input, Token.DOWN, null);
2688 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:17: ( catch_directive )*
2689 				loop21:
2690 				while (true) {
2691 					int alt21=2;
2692 					int LA21_0 = input.LA(1);
2693 					if ( (LA21_0==I_CATCH) ) {
2694 						alt21=1;
2695 					}
2696 
2697 					switch (alt21) {
2698 					case 1 :
2699 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:17: catch_directive
2700 						{
2701 						pushFollow(FOLLOW_catch_directive_in_catches1318);
2702 						catch_directive();
2703 						state._fsp--;
2704 
2705 						}
2706 						break;
2707 
2708 					default :
2709 						break loop21;
2710 					}
2711 				}
2712 
2713 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:34: ( catchall_directive )*
2714 				loop22:
2715 				while (true) {
2716 					int alt22=2;
2717 					int LA22_0 = input.LA(1);
2718 					if ( (LA22_0==I_CATCHALL) ) {
2719 						alt22=1;
2720 					}
2721 
2722 					switch (alt22) {
2723 					case 1 :
2724 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:34: catchall_directive
2725 						{
2726 						pushFollow(FOLLOW_catchall_directive_in_catches1321);
2727 						catchall_directive();
2728 						state._fsp--;
2729 
2730 						}
2731 						break;
2732 
2733 					default :
2734 						break loop22;
2735 					}
2736 				}
2737 
2738 				match(input, Token.UP, null);
2739 			}
2740 
2741 			}
2742 
2743 		}
2744 		catch (RecognitionException re) {
2745 			reportError(re);
2746 			recover(input,re);
2747 		}
2748 		finally {
2749 			// do for sure before leaving
2750 		}
2751 		return tryBlocks;
2752 	}
2753 	// $ANTLR end "catches"
2754 
2755 
2756 
2757 	// $ANTLR start "catch_directive"
2758 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:548:1: catch_directive : ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) ;
catch_directive()2759 	public final void catch_directive() throws RecognitionException {
2760 		Label from =null;
2761 		Label to =null;
2762 		Label using =null;
2763 		TreeRuleReturnScope nonvoid_type_descriptor85 =null;
2764 
2765 		try {
2766 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:549:3: ( ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) )
2767 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:549:5: ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref )
2768 			{
2769 			match(input,I_CATCH,FOLLOW_I_CATCH_in_catch_directive1334);
2770 			match(input, Token.DOWN, null);
2771 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive1336);
2772 			nonvoid_type_descriptor85=nonvoid_type_descriptor();
2773 			state._fsp--;
2774 
2775 			pushFollow(FOLLOW_label_ref_in_catch_directive1340);
2776 			from=label_ref();
2777 			state._fsp--;
2778 
2779 			pushFollow(FOLLOW_label_ref_in_catch_directive1344);
2780 			to=label_ref();
2781 			state._fsp--;
2782 
2783 			pushFollow(FOLLOW_label_ref_in_catch_directive1348);
2784 			using=label_ref();
2785 			state._fsp--;
2786 
2787 			match(input, Token.UP, null);
2788 
2789 
2790 			    method_stack.peek().methodBuilder.addCatch(dexBuilder.internTypeReference((nonvoid_type_descriptor85!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor85).type:null)),
2791 			        from, to, using);
2792 
2793 			}
2794 
2795 		}
2796 		catch (RecognitionException re) {
2797 			reportError(re);
2798 			recover(input,re);
2799 		}
2800 		finally {
2801 			// do for sure before leaving
2802 		}
2803 	}
2804 	// $ANTLR end "catch_directive"
2805 
2806 
2807 
2808 	// $ANTLR start "catchall_directive"
2809 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:555:1: catchall_directive : ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) ;
catchall_directive()2810 	public final void catchall_directive() throws RecognitionException {
2811 		Label from =null;
2812 		Label to =null;
2813 		Label using =null;
2814 
2815 		try {
2816 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:556:3: ( ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) )
2817 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:556:5: ^( I_CATCHALL from= label_ref to= label_ref using= label_ref )
2818 			{
2819 			match(input,I_CATCHALL,FOLLOW_I_CATCHALL_in_catchall_directive1364);
2820 			match(input, Token.DOWN, null);
2821 			pushFollow(FOLLOW_label_ref_in_catchall_directive1368);
2822 			from=label_ref();
2823 			state._fsp--;
2824 
2825 			pushFollow(FOLLOW_label_ref_in_catchall_directive1372);
2826 			to=label_ref();
2827 			state._fsp--;
2828 
2829 			pushFollow(FOLLOW_label_ref_in_catchall_directive1376);
2830 			using=label_ref();
2831 			state._fsp--;
2832 
2833 			match(input, Token.UP, null);
2834 
2835 
2836 			    method_stack.peek().methodBuilder.addCatch(from, to, using);
2837 
2838 			}
2839 
2840 		}
2841 		catch (RecognitionException re) {
2842 			reportError(re);
2843 			recover(input,re);
2844 		}
2845 		finally {
2846 			// do for sure before leaving
2847 		}
2848 	}
2849 	// $ANTLR end "catchall_directive"
2850 
2851 
2852 
2853 	// $ANTLR start "parameters"
2854 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:561:1: parameters[List<SmaliMethodParameter> parameters] : ^( I_PARAMETERS ( parameter[parameters] )* ) ;
parameters(List<SmaliMethodParameter> parameters)2855 	public final void parameters(List<SmaliMethodParameter> parameters) throws RecognitionException {
2856 		try {
2857 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:3: ( ^( I_PARAMETERS ( parameter[parameters] )* ) )
2858 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:5: ^( I_PARAMETERS ( parameter[parameters] )* )
2859 			{
2860 			match(input,I_PARAMETERS,FOLLOW_I_PARAMETERS_in_parameters1393);
2861 			if ( input.LA(1)==Token.DOWN ) {
2862 				match(input, Token.DOWN, null);
2863 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:20: ( parameter[parameters] )*
2864 				loop23:
2865 				while (true) {
2866 					int alt23=2;
2867 					int LA23_0 = input.LA(1);
2868 					if ( (LA23_0==I_PARAMETER) ) {
2869 						alt23=1;
2870 					}
2871 
2872 					switch (alt23) {
2873 					case 1 :
2874 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:21: parameter[parameters]
2875 						{
2876 						pushFollow(FOLLOW_parameter_in_parameters1396);
2877 						parameter(parameters);
2878 						state._fsp--;
2879 
2880 						}
2881 						break;
2882 
2883 					default :
2884 						break loop23;
2885 					}
2886 				}
2887 
2888 				match(input, Token.UP, null);
2889 			}
2890 
2891 			}
2892 
2893 		}
2894 		catch (RecognitionException re) {
2895 			reportError(re);
2896 			recover(input,re);
2897 		}
2898 		finally {
2899 			// do for sure before leaving
2900 		}
2901 	}
2902 	// $ANTLR end "parameters"
2903 
2904 
2905 
2906 	// $ANTLR start "parameter"
2907 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:564:1: parameter[List<SmaliMethodParameter> parameters] : ^( I_PARAMETER REGISTER ( string_literal )? annotations ) ;
parameter(List<SmaliMethodParameter> parameters)2908 	public final void parameter(List<SmaliMethodParameter> parameters) throws RecognitionException {
2909 		CommonTree REGISTER86=null;
2910 		CommonTree I_PARAMETER87=null;
2911 		String string_literal88 =null;
2912 		Set<Annotation> annotations89 =null;
2913 
2914 		try {
2915 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:3: ( ^( I_PARAMETER REGISTER ( string_literal )? annotations ) )
2916 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:5: ^( I_PARAMETER REGISTER ( string_literal )? annotations )
2917 			{
2918 			I_PARAMETER87=(CommonTree)match(input,I_PARAMETER,FOLLOW_I_PARAMETER_in_parameter1412);
2919 			match(input, Token.DOWN, null);
2920 			REGISTER86=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_parameter1414);
2921 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:28: ( string_literal )?
2922 			int alt24=2;
2923 			int LA24_0 = input.LA(1);
2924 			if ( (LA24_0==STRING_LITERAL) ) {
2925 				alt24=1;
2926 			}
2927 			switch (alt24) {
2928 				case 1 :
2929 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:28: string_literal
2930 					{
2931 					pushFollow(FOLLOW_string_literal_in_parameter1416);
2932 					string_literal88=string_literal();
2933 					state._fsp--;
2934 
2935 					}
2936 					break;
2937 
2938 			}
2939 
2940 			pushFollow(FOLLOW_annotations_in_parameter1419);
2941 			annotations89=annotations();
2942 			state._fsp--;
2943 
2944 			match(input, Token.UP, null);
2945 
2946 
2947 			        final int registerNumber = parseRegister_short((REGISTER86!=null?REGISTER86.getText():null));
2948 			        int totalMethodRegisters = method_stack.peek().totalMethodRegisters;
2949 			        int methodParameterRegisters = method_stack.peek().methodParameterRegisters;
2950 
2951 			        if (registerNumber >= totalMethodRegisters) {
2952 			            throw new SemanticException(input, I_PARAMETER87, "Register %s is larger than the maximum register v%d " +
2953 			                    "for this method", (REGISTER86!=null?REGISTER86.getText():null), totalMethodRegisters-1);
2954 			        }
2955 			        final int indexGuess = registerNumber - (totalMethodRegisters - methodParameterRegisters) - (method_stack.peek().isStatic?0:1);
2956 
2957 			        if (indexGuess < 0) {
2958 			            throw new SemanticException(input, I_PARAMETER87, "Register %s is not a parameter register.",
2959 			                    (REGISTER86!=null?REGISTER86.getText():null));
2960 			        }
2961 
2962 			        int parameterIndex = LinearSearch.linearSearch(parameters, SmaliMethodParameter.COMPARATOR,
2963 			            new WithRegister() { public int getRegister() { return indexGuess; } },
2964 			                indexGuess);
2965 
2966 			        if (parameterIndex < 0) {
2967 			            throw new SemanticException(input, I_PARAMETER87, "Register %s is the second half of a wide parameter.",
2968 			                                (REGISTER86!=null?REGISTER86.getText():null));
2969 			        }
2970 
2971 			        SmaliMethodParameter methodParameter = parameters.get(parameterIndex);
2972 			        methodParameter.name = string_literal88;
2973 			        if (annotations89 != null && annotations89.size() > 0) {
2974 			            methodParameter.annotations = annotations89;
2975 			        }
2976 
2977 			}
2978 
2979 		}
2980 		catch (RecognitionException re) {
2981 			reportError(re);
2982 			recover(input,re);
2983 		}
2984 		finally {
2985 			// do for sure before leaving
2986 		}
2987 	}
2988 	// $ANTLR end "parameter"
2989 
2990 
2991 
2992 	// $ANTLR start "debug_directive"
2993 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:598:1: debug_directive : ( line | local | end_local | restart_local | prologue | epilogue | source );
debug_directive()2994 	public final void debug_directive() throws RecognitionException {
2995 		try {
2996 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:599:3: ( line | local | end_local | restart_local | prologue | epilogue | source )
2997 			int alt25=7;
2998 			switch ( input.LA(1) ) {
2999 			case I_LINE:
3000 				{
3001 				alt25=1;
3002 				}
3003 				break;
3004 			case I_LOCAL:
3005 				{
3006 				alt25=2;
3007 				}
3008 				break;
3009 			case I_END_LOCAL:
3010 				{
3011 				alt25=3;
3012 				}
3013 				break;
3014 			case I_RESTART_LOCAL:
3015 				{
3016 				alt25=4;
3017 				}
3018 				break;
3019 			case I_PROLOGUE:
3020 				{
3021 				alt25=5;
3022 				}
3023 				break;
3024 			case I_EPILOGUE:
3025 				{
3026 				alt25=6;
3027 				}
3028 				break;
3029 			case I_SOURCE:
3030 				{
3031 				alt25=7;
3032 				}
3033 				break;
3034 			default:
3035 				NoViableAltException nvae =
3036 					new NoViableAltException("", 25, 0, input);
3037 				throw nvae;
3038 			}
3039 			switch (alt25) {
3040 				case 1 :
3041 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:599:5: line
3042 					{
3043 					pushFollow(FOLLOW_line_in_debug_directive1436);
3044 					line();
3045 					state._fsp--;
3046 
3047 					}
3048 					break;
3049 				case 2 :
3050 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:600:5: local
3051 					{
3052 					pushFollow(FOLLOW_local_in_debug_directive1442);
3053 					local();
3054 					state._fsp--;
3055 
3056 					}
3057 					break;
3058 				case 3 :
3059 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:601:5: end_local
3060 					{
3061 					pushFollow(FOLLOW_end_local_in_debug_directive1448);
3062 					end_local();
3063 					state._fsp--;
3064 
3065 					}
3066 					break;
3067 				case 4 :
3068 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:5: restart_local
3069 					{
3070 					pushFollow(FOLLOW_restart_local_in_debug_directive1454);
3071 					restart_local();
3072 					state._fsp--;
3073 
3074 					}
3075 					break;
3076 				case 5 :
3077 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:603:5: prologue
3078 					{
3079 					pushFollow(FOLLOW_prologue_in_debug_directive1460);
3080 					prologue();
3081 					state._fsp--;
3082 
3083 					}
3084 					break;
3085 				case 6 :
3086 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:604:5: epilogue
3087 					{
3088 					pushFollow(FOLLOW_epilogue_in_debug_directive1466);
3089 					epilogue();
3090 					state._fsp--;
3091 
3092 					}
3093 					break;
3094 				case 7 :
3095 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:605:5: source
3096 					{
3097 					pushFollow(FOLLOW_source_in_debug_directive1472);
3098 					source();
3099 					state._fsp--;
3100 
3101 					}
3102 					break;
3103 
3104 			}
3105 		}
3106 		catch (RecognitionException re) {
3107 			reportError(re);
3108 			recover(input,re);
3109 		}
3110 		finally {
3111 			// do for sure before leaving
3112 		}
3113 	}
3114 	// $ANTLR end "debug_directive"
3115 
3116 
3117 
3118 	// $ANTLR start "line"
3119 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:607:1: line : ^( I_LINE integral_literal ) ;
line()3120 	public final void line() throws RecognitionException {
3121 		int integral_literal90 =0;
3122 
3123 		try {
3124 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:608:3: ( ^( I_LINE integral_literal ) )
3125 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:608:5: ^( I_LINE integral_literal )
3126 			{
3127 			match(input,I_LINE,FOLLOW_I_LINE_in_line1483);
3128 			match(input, Token.DOWN, null);
3129 			pushFollow(FOLLOW_integral_literal_in_line1485);
3130 			integral_literal90=integral_literal();
3131 			state._fsp--;
3132 
3133 			match(input, Token.UP, null);
3134 
3135 
3136 			        method_stack.peek().methodBuilder.addLineNumber(integral_literal90);
3137 
3138 			}
3139 
3140 		}
3141 		catch (RecognitionException re) {
3142 			reportError(re);
3143 			recover(input,re);
3144 		}
3145 		finally {
3146 			// do for sure before leaving
3147 		}
3148 	}
3149 	// $ANTLR end "line"
3150 
3151 
3152 
3153 	// $ANTLR start "local"
3154 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:613:1: local : ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) ;
local()3155 	public final void local() throws RecognitionException {
3156 		CommonTree REGISTER91=null;
3157 		String name =null;
3158 		String signature =null;
3159 		TreeRuleReturnScope nonvoid_type_descriptor92 =null;
3160 
3161 		try {
3162 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:3: ( ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) )
3163 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:5: ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? )
3164 			{
3165 			match(input,I_LOCAL,FOLLOW_I_LOCAL_in_local1503);
3166 			match(input, Token.DOWN, null);
3167 			REGISTER91=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_local1505);
3168 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:24: ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )?
3169 			int alt29=2;
3170 			int LA29_0 = input.LA(1);
3171 			if ( (LA29_0==NULL_LITERAL||LA29_0==STRING_LITERAL) ) {
3172 				alt29=1;
3173 			}
3174 			switch (alt29) {
3175 				case 1 :
3176 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:25: ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )?
3177 					{
3178 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:25: ( NULL_LITERAL |name= string_literal )
3179 					int alt26=2;
3180 					int LA26_0 = input.LA(1);
3181 					if ( (LA26_0==NULL_LITERAL) ) {
3182 						alt26=1;
3183 					}
3184 					else if ( (LA26_0==STRING_LITERAL) ) {
3185 						alt26=2;
3186 					}
3187 
3188 					else {
3189 						NoViableAltException nvae =
3190 							new NoViableAltException("", 26, 0, input);
3191 						throw nvae;
3192 					}
3193 
3194 					switch (alt26) {
3195 						case 1 :
3196 							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:26: NULL_LITERAL
3197 							{
3198 							match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local1509);
3199 							}
3200 							break;
3201 						case 2 :
3202 							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:41: name= string_literal
3203 							{
3204 							pushFollow(FOLLOW_string_literal_in_local1515);
3205 							name=string_literal();
3206 							state._fsp--;
3207 
3208 							}
3209 							break;
3210 
3211 					}
3212 
3213 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:62: ( nonvoid_type_descriptor )?
3214 					int alt27=2;
3215 					int LA27_0 = input.LA(1);
3216 					if ( (LA27_0==ARRAY_DESCRIPTOR||LA27_0==CLASS_DESCRIPTOR||LA27_0==PRIMITIVE_TYPE) ) {
3217 						alt27=1;
3218 					}
3219 					switch (alt27) {
3220 						case 1 :
3221 							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:62: nonvoid_type_descriptor
3222 							{
3223 							pushFollow(FOLLOW_nonvoid_type_descriptor_in_local1518);
3224 							nonvoid_type_descriptor92=nonvoid_type_descriptor();
3225 							state._fsp--;
3226 
3227 							}
3228 							break;
3229 
3230 					}
3231 
3232 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:96: (signature= string_literal )?
3233 					int alt28=2;
3234 					int LA28_0 = input.LA(1);
3235 					if ( (LA28_0==STRING_LITERAL) ) {
3236 						alt28=1;
3237 					}
3238 					switch (alt28) {
3239 						case 1 :
3240 							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:96: signature= string_literal
3241 							{
3242 							pushFollow(FOLLOW_string_literal_in_local1523);
3243 							signature=string_literal();
3244 							state._fsp--;
3245 
3246 							}
3247 							break;
3248 
3249 					}
3250 
3251 					}
3252 					break;
3253 
3254 			}
3255 
3256 			match(input, Token.UP, null);
3257 
3258 
3259 			      int registerNumber = parseRegister_short((REGISTER91!=null?REGISTER91.getText():null));
3260 			      method_stack.peek().methodBuilder.addStartLocal(registerNumber,
3261 			              dexBuilder.internNullableStringReference(name),
3262 			              dexBuilder.internNullableTypeReference((nonvoid_type_descriptor92!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor92).type:null)),
3263 			              dexBuilder.internNullableStringReference(signature));
3264 
3265 			}
3266 
3267 		}
3268 		catch (RecognitionException re) {
3269 			reportError(re);
3270 			recover(input,re);
3271 		}
3272 		finally {
3273 			// do for sure before leaving
3274 		}
3275 	}
3276 	// $ANTLR end "local"
3277 
3278 
3279 
3280 	// $ANTLR start "end_local"
3281 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:623:1: end_local : ^( I_END_LOCAL REGISTER ) ;
end_local()3282 	public final void end_local() throws RecognitionException {
3283 		CommonTree REGISTER93=null;
3284 
3285 		try {
3286 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:624:3: ( ^( I_END_LOCAL REGISTER ) )
3287 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:624:5: ^( I_END_LOCAL REGISTER )
3288 			{
3289 			match(input,I_END_LOCAL,FOLLOW_I_END_LOCAL_in_end_local1544);
3290 			match(input, Token.DOWN, null);
3291 			REGISTER93=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_end_local1546);
3292 			match(input, Token.UP, null);
3293 
3294 
3295 			      int registerNumber = parseRegister_short((REGISTER93!=null?REGISTER93.getText():null));
3296 			      method_stack.peek().methodBuilder.addEndLocal(registerNumber);
3297 
3298 			}
3299 
3300 		}
3301 		catch (RecognitionException re) {
3302 			reportError(re);
3303 			recover(input,re);
3304 		}
3305 		finally {
3306 			// do for sure before leaving
3307 		}
3308 	}
3309 	// $ANTLR end "end_local"
3310 
3311 
3312 
3313 	// $ANTLR start "restart_local"
3314 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:630:1: restart_local : ^( I_RESTART_LOCAL REGISTER ) ;
restart_local()3315 	public final void restart_local() throws RecognitionException {
3316 		CommonTree REGISTER94=null;
3317 
3318 		try {
3319 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:631:3: ( ^( I_RESTART_LOCAL REGISTER ) )
3320 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:631:5: ^( I_RESTART_LOCAL REGISTER )
3321 			{
3322 			match(input,I_RESTART_LOCAL,FOLLOW_I_RESTART_LOCAL_in_restart_local1564);
3323 			match(input, Token.DOWN, null);
3324 			REGISTER94=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local1566);
3325 			match(input, Token.UP, null);
3326 
3327 
3328 			      int registerNumber = parseRegister_short((REGISTER94!=null?REGISTER94.getText():null));
3329 			      method_stack.peek().methodBuilder.addRestartLocal(registerNumber);
3330 
3331 			}
3332 
3333 		}
3334 		catch (RecognitionException re) {
3335 			reportError(re);
3336 			recover(input,re);
3337 		}
3338 		finally {
3339 			// do for sure before leaving
3340 		}
3341 	}
3342 	// $ANTLR end "restart_local"
3343 
3344 
3345 
3346 	// $ANTLR start "prologue"
3347 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:637:1: prologue : I_PROLOGUE ;
prologue()3348 	public final void prologue() throws RecognitionException {
3349 		try {
3350 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:3: ( I_PROLOGUE )
3351 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:5: I_PROLOGUE
3352 			{
3353 			match(input,I_PROLOGUE,FOLLOW_I_PROLOGUE_in_prologue1583);
3354 
3355 			      method_stack.peek().methodBuilder.addPrologue();
3356 
3357 			}
3358 
3359 		}
3360 		catch (RecognitionException re) {
3361 			reportError(re);
3362 			recover(input,re);
3363 		}
3364 		finally {
3365 			// do for sure before leaving
3366 		}
3367 	}
3368 	// $ANTLR end "prologue"
3369 
3370 
3371 
3372 	// $ANTLR start "epilogue"
3373 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:643:1: epilogue : I_EPILOGUE ;
epilogue()3374 	public final void epilogue() throws RecognitionException {
3375 		try {
3376 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:3: ( I_EPILOGUE )
3377 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:5: I_EPILOGUE
3378 			{
3379 			match(input,I_EPILOGUE,FOLLOW_I_EPILOGUE_in_epilogue1599);
3380 
3381 			      method_stack.peek().methodBuilder.addEpilogue();
3382 
3383 			}
3384 
3385 		}
3386 		catch (RecognitionException re) {
3387 			reportError(re);
3388 			recover(input,re);
3389 		}
3390 		finally {
3391 			// do for sure before leaving
3392 		}
3393 	}
3394 	// $ANTLR end "epilogue"
3395 
3396 
3397 
3398 	// $ANTLR start "source"
3399 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:649:1: source : ^( I_SOURCE ( string_literal )? ) ;
source()3400 	public final void source() throws RecognitionException {
3401 		String string_literal95 =null;
3402 
3403 		try {
3404 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:3: ( ^( I_SOURCE ( string_literal )? ) )
3405 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:5: ^( I_SOURCE ( string_literal )? )
3406 			{
3407 			match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source1616);
3408 			if ( input.LA(1)==Token.DOWN ) {
3409 				match(input, Token.DOWN, null);
3410 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:16: ( string_literal )?
3411 				int alt30=2;
3412 				int LA30_0 = input.LA(1);
3413 				if ( (LA30_0==STRING_LITERAL) ) {
3414 					alt30=1;
3415 				}
3416 				switch (alt30) {
3417 					case 1 :
3418 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:16: string_literal
3419 						{
3420 						pushFollow(FOLLOW_string_literal_in_source1618);
3421 						string_literal95=string_literal();
3422 						state._fsp--;
3423 
3424 						}
3425 						break;
3426 
3427 				}
3428 
3429 				match(input, Token.UP, null);
3430 			}
3431 
3432 
3433 			      method_stack.peek().methodBuilder.addSetSourceFile(dexBuilder.internNullableStringReference(string_literal95));
3434 
3435 			}
3436 
3437 		}
3438 		catch (RecognitionException re) {
3439 			reportError(re);
3440 			recover(input,re);
3441 		}
3442 		finally {
3443 			// do for sure before leaving
3444 		}
3445 	}
3446 	// $ANTLR end "source"
3447 
3448 
3449 
3450 	// $ANTLR start "ordered_method_items"
3451 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:655:1: ordered_method_items : ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) ;
ordered_method_items()3452 	public final void ordered_method_items() throws RecognitionException {
3453 		try {
3454 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:3: ( ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) )
3455 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:5: ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* )
3456 			{
3457 			match(input,I_ORDERED_METHOD_ITEMS,FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1637);
3458 			if ( input.LA(1)==Token.DOWN ) {
3459 				match(input, Token.DOWN, null);
3460 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:30: ( label_def | instruction | debug_directive )*
3461 				loop31:
3462 				while (true) {
3463 					int alt31=4;
3464 					switch ( input.LA(1) ) {
3465 					case I_LABEL:
3466 						{
3467 						alt31=1;
3468 						}
3469 						break;
3470 					case I_STATEMENT_ARRAY_DATA:
3471 					case I_STATEMENT_FORMAT10t:
3472 					case I_STATEMENT_FORMAT10x:
3473 					case I_STATEMENT_FORMAT11n:
3474 					case I_STATEMENT_FORMAT11x:
3475 					case I_STATEMENT_FORMAT12x:
3476 					case I_STATEMENT_FORMAT20bc:
3477 					case I_STATEMENT_FORMAT20t:
3478 					case I_STATEMENT_FORMAT21c_FIELD:
3479 					case I_STATEMENT_FORMAT21c_STRING:
3480 					case I_STATEMENT_FORMAT21c_TYPE:
3481 					case I_STATEMENT_FORMAT21ih:
3482 					case I_STATEMENT_FORMAT21lh:
3483 					case I_STATEMENT_FORMAT21s:
3484 					case I_STATEMENT_FORMAT21t:
3485 					case I_STATEMENT_FORMAT22b:
3486 					case I_STATEMENT_FORMAT22c_FIELD:
3487 					case I_STATEMENT_FORMAT22c_TYPE:
3488 					case I_STATEMENT_FORMAT22s:
3489 					case I_STATEMENT_FORMAT22t:
3490 					case I_STATEMENT_FORMAT22x:
3491 					case I_STATEMENT_FORMAT23x:
3492 					case I_STATEMENT_FORMAT30t:
3493 					case I_STATEMENT_FORMAT31c:
3494 					case I_STATEMENT_FORMAT31i:
3495 					case I_STATEMENT_FORMAT31t:
3496 					case I_STATEMENT_FORMAT32x:
3497 					case I_STATEMENT_FORMAT35c_METHOD:
3498 					case I_STATEMENT_FORMAT35c_TYPE:
3499 					case I_STATEMENT_FORMAT3rc_METHOD:
3500 					case I_STATEMENT_FORMAT3rc_TYPE:
3501 					case I_STATEMENT_FORMAT51l:
3502 					case I_STATEMENT_PACKED_SWITCH:
3503 					case I_STATEMENT_SPARSE_SWITCH:
3504 						{
3505 						alt31=2;
3506 						}
3507 						break;
3508 					case I_END_LOCAL:
3509 					case I_EPILOGUE:
3510 					case I_LINE:
3511 					case I_LOCAL:
3512 					case I_PROLOGUE:
3513 					case I_RESTART_LOCAL:
3514 					case I_SOURCE:
3515 						{
3516 						alt31=3;
3517 						}
3518 						break;
3519 					}
3520 					switch (alt31) {
3521 					case 1 :
3522 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:31: label_def
3523 						{
3524 						pushFollow(FOLLOW_label_def_in_ordered_method_items1640);
3525 						label_def();
3526 						state._fsp--;
3527 
3528 						}
3529 						break;
3530 					case 2 :
3531 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:43: instruction
3532 						{
3533 						pushFollow(FOLLOW_instruction_in_ordered_method_items1644);
3534 						instruction();
3535 						state._fsp--;
3536 
3537 						}
3538 						break;
3539 					case 3 :
3540 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:57: debug_directive
3541 						{
3542 						pushFollow(FOLLOW_debug_directive_in_ordered_method_items1648);
3543 						debug_directive();
3544 						state._fsp--;
3545 
3546 						}
3547 						break;
3548 
3549 					default :
3550 						break loop31;
3551 					}
3552 				}
3553 
3554 				match(input, Token.UP, null);
3555 			}
3556 
3557 			}
3558 
3559 		}
3560 		catch (RecognitionException re) {
3561 			reportError(re);
3562 			recover(input,re);
3563 		}
3564 		finally {
3565 			// do for sure before leaving
3566 		}
3567 	}
3568 	// $ANTLR end "ordered_method_items"
3569 
3570 
3571 
3572 	// $ANTLR start "label_ref"
3573 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:658:1: label_ref returns [Label label] : SIMPLE_NAME ;
label_ref()3574 	public final Label label_ref() throws RecognitionException {
3575 		Label label = null;
3576 
3577 
3578 		CommonTree SIMPLE_NAME96=null;
3579 
3580 		try {
3581 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:659:3: ( SIMPLE_NAME )
3582 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:659:5: SIMPLE_NAME
3583 			{
3584 			SIMPLE_NAME96=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_ref1664);
3585 			 label = method_stack.peek().methodBuilder.getLabel((SIMPLE_NAME96!=null?SIMPLE_NAME96.getText():null));
3586 			}
3587 
3588 		}
3589 		catch (RecognitionException re) {
3590 			reportError(re);
3591 			recover(input,re);
3592 		}
3593 		finally {
3594 			// do for sure before leaving
3595 		}
3596 		return label;
3597 	}
3598 	// $ANTLR end "label_ref"
3599 
3600 
3601 	public static class register_list_return extends TreeRuleReturnScope {
3602 		public byte[] registers;
3603 		public byte registerCount;
3604 	};
3605 
3606 
3607 	// $ANTLR start "register_list"
3608 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:661:1: register_list returns [byte[] registers, byte registerCount] : ^( I_REGISTER_LIST ( REGISTER )* ) ;
register_list()3609 	public final smaliTreeWalker.register_list_return register_list() throws RecognitionException {
3610 		smaliTreeWalker.register_list_return retval = new smaliTreeWalker.register_list_return();
3611 		retval.start = input.LT(1);
3612 
3613 		CommonTree I_REGISTER_LIST97=null;
3614 		CommonTree REGISTER98=null;
3615 
3616 
3617 		    retval.registers = new byte[5];
3618 		    retval.registerCount = 0;
3619 
3620 		try {
3621 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:667:3: ( ^( I_REGISTER_LIST ( REGISTER )* ) )
3622 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:667:5: ^( I_REGISTER_LIST ( REGISTER )* )
3623 			{
3624 			I_REGISTER_LIST97=(CommonTree)match(input,I_REGISTER_LIST,FOLLOW_I_REGISTER_LIST_in_register_list1689);
3625 			if ( input.LA(1)==Token.DOWN ) {
3626 				match(input, Token.DOWN, null);
3627 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:668:7: ( REGISTER )*
3628 				loop32:
3629 				while (true) {
3630 					int alt32=2;
3631 					int LA32_0 = input.LA(1);
3632 					if ( (LA32_0==REGISTER) ) {
3633 						alt32=1;
3634 					}
3635 
3636 					switch (alt32) {
3637 					case 1 :
3638 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:668:8: REGISTER
3639 						{
3640 						REGISTER98=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_list1698);
3641 
3642 						        if (retval.registerCount == 5) {
3643 						          throw new SemanticException(input, I_REGISTER_LIST97, "A list of registers can only have a maximum of 5 " +
3644 						                  "registers. Use the <op>/range alternate opcode instead.");
3645 						        }
3646 						        retval.registers[retval.registerCount++] = parseRegister_nibble((REGISTER98!=null?REGISTER98.getText():null));
3647 
3648 						}
3649 						break;
3650 
3651 					default :
3652 						break loop32;
3653 					}
3654 				}
3655 
3656 				match(input, Token.UP, null);
3657 			}
3658 
3659 			}
3660 
3661 		}
3662 		catch (RecognitionException re) {
3663 			reportError(re);
3664 			recover(input,re);
3665 		}
3666 		finally {
3667 			// do for sure before leaving
3668 		}
3669 		return retval;
3670 	}
3671 	// $ANTLR end "register_list"
3672 
3673 
3674 	public static class register_range_return extends TreeRuleReturnScope {
3675 		public int startRegister;
3676 		public int endRegister;
3677 	};
3678 
3679 
3680 	// $ANTLR start "register_range"
3681 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:677:1: register_range returns [int startRegister, int endRegister] : ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) ;
register_range()3682 	public final smaliTreeWalker.register_range_return register_range() throws RecognitionException {
3683 		smaliTreeWalker.register_range_return retval = new smaliTreeWalker.register_range_return();
3684 		retval.start = input.LT(1);
3685 
3686 		CommonTree startReg=null;
3687 		CommonTree endReg=null;
3688 		CommonTree I_REGISTER_RANGE99=null;
3689 
3690 		try {
3691 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:3: ( ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) )
3692 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:5: ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? )
3693 			{
3694 			I_REGISTER_RANGE99=(CommonTree)match(input,I_REGISTER_RANGE,FOLLOW_I_REGISTER_RANGE_in_register_range1723);
3695 			if ( input.LA(1)==Token.DOWN ) {
3696 				match(input, Token.DOWN, null);
3697 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:24: (startReg= REGISTER (endReg= REGISTER )? )?
3698 				int alt34=2;
3699 				int LA34_0 = input.LA(1);
3700 				if ( (LA34_0==REGISTER) ) {
3701 					alt34=1;
3702 				}
3703 				switch (alt34) {
3704 					case 1 :
3705 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:25: startReg= REGISTER (endReg= REGISTER )?
3706 						{
3707 						startReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1728);
3708 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:49: (endReg= REGISTER )?
3709 						int alt33=2;
3710 						int LA33_0 = input.LA(1);
3711 						if ( (LA33_0==REGISTER) ) {
3712 							alt33=1;
3713 						}
3714 						switch (alt33) {
3715 							case 1 :
3716 								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:49: endReg= REGISTER
3717 								{
3718 								endReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1732);
3719 								}
3720 								break;
3721 
3722 						}
3723 
3724 						}
3725 						break;
3726 
3727 				}
3728 
3729 				match(input, Token.UP, null);
3730 			}
3731 
3732 
3733 			        if (startReg == null) {
3734 			            retval.startRegister = 0;
3735 			            retval.endRegister = -1;
3736 			        } else {
3737 			                retval.startRegister = parseRegister_short((startReg!=null?startReg.getText():null));
3738 			                if (endReg == null) {
3739 			                    retval.endRegister = retval.startRegister;
3740 			                } else {
3741 			                    retval.endRegister = parseRegister_short((endReg!=null?endReg.getText():null));
3742 			                }
3743 
3744 			                int registerCount = retval.endRegister-retval.startRegister+1;
3745 			                if (registerCount < 1) {
3746 			                    throw new SemanticException(input, I_REGISTER_RANGE99, "A register range must have the lower register listed first");
3747 			                }
3748 			            }
3749 
3750 			}
3751 
3752 		}
3753 		catch (RecognitionException re) {
3754 			reportError(re);
3755 			recover(input,re);
3756 		}
3757 		finally {
3758 			// do for sure before leaving
3759 		}
3760 		return retval;
3761 	}
3762 	// $ANTLR end "register_range"
3763 
3764 
3765 
3766 	// $ANTLR start "verification_error_reference"
3767 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:698:1: verification_error_reference returns [ImmutableReference reference] : ( CLASS_DESCRIPTOR | field_reference | method_reference );
verification_error_reference()3768 	public final ImmutableReference verification_error_reference() throws RecognitionException {
3769 		ImmutableReference reference = null;
3770 
3771 
3772 		CommonTree CLASS_DESCRIPTOR100=null;
3773 		ImmutableFieldReference field_reference101 =null;
3774 		ImmutableMethodReference method_reference102 =null;
3775 
3776 		try {
3777 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:699:3: ( CLASS_DESCRIPTOR | field_reference | method_reference )
3778 			int alt35=3;
3779 			switch ( input.LA(1) ) {
3780 			case CLASS_DESCRIPTOR:
3781 				{
3782 				int LA35_1 = input.LA(2);
3783 				if ( (LA35_1==UP) ) {
3784 					alt35=1;
3785 				}
3786 				else if ( (LA35_1==SIMPLE_NAME) ) {
3787 					int LA35_3 = input.LA(3);
3788 					if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
3789 						alt35=2;
3790 					}
3791 					else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
3792 						alt35=3;
3793 					}
3794 
3795 					else {
3796 						int nvaeMark = input.mark();
3797 						try {
3798 							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
3799 								input.consume();
3800 							}
3801 							NoViableAltException nvae =
3802 								new NoViableAltException("", 35, 3, input);
3803 							throw nvae;
3804 						} finally {
3805 							input.rewind(nvaeMark);
3806 						}
3807 					}
3808 
3809 				}
3810 
3811 				else {
3812 					int nvaeMark = input.mark();
3813 					try {
3814 						input.consume();
3815 						NoViableAltException nvae =
3816 							new NoViableAltException("", 35, 1, input);
3817 						throw nvae;
3818 					} finally {
3819 						input.rewind(nvaeMark);
3820 					}
3821 				}
3822 
3823 				}
3824 				break;
3825 			case ARRAY_DESCRIPTOR:
3826 				{
3827 				int LA35_2 = input.LA(2);
3828 				if ( (LA35_2==SIMPLE_NAME) ) {
3829 					int LA35_3 = input.LA(3);
3830 					if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
3831 						alt35=2;
3832 					}
3833 					else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
3834 						alt35=3;
3835 					}
3836 
3837 					else {
3838 						int nvaeMark = input.mark();
3839 						try {
3840 							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
3841 								input.consume();
3842 							}
3843 							NoViableAltException nvae =
3844 								new NoViableAltException("", 35, 3, input);
3845 							throw nvae;
3846 						} finally {
3847 							input.rewind(nvaeMark);
3848 						}
3849 					}
3850 
3851 				}
3852 
3853 				else {
3854 					int nvaeMark = input.mark();
3855 					try {
3856 						input.consume();
3857 						NoViableAltException nvae =
3858 							new NoViableAltException("", 35, 2, input);
3859 						throw nvae;
3860 					} finally {
3861 						input.rewind(nvaeMark);
3862 					}
3863 				}
3864 
3865 				}
3866 				break;
3867 			case SIMPLE_NAME:
3868 				{
3869 				int LA35_3 = input.LA(2);
3870 				if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
3871 					alt35=2;
3872 				}
3873 				else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
3874 					alt35=3;
3875 				}
3876 
3877 				else {
3878 					int nvaeMark = input.mark();
3879 					try {
3880 						input.consume();
3881 						NoViableAltException nvae =
3882 							new NoViableAltException("", 35, 3, input);
3883 						throw nvae;
3884 					} finally {
3885 						input.rewind(nvaeMark);
3886 					}
3887 				}
3888 
3889 				}
3890 				break;
3891 			default:
3892 				NoViableAltException nvae =
3893 					new NoViableAltException("", 35, 0, input);
3894 				throw nvae;
3895 			}
3896 			switch (alt35) {
3897 				case 1 :
3898 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:699:5: CLASS_DESCRIPTOR
3899 					{
3900 					CLASS_DESCRIPTOR100=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1755);
3901 
3902 					    reference = new ImmutableTypeReference((CLASS_DESCRIPTOR100!=null?CLASS_DESCRIPTOR100.getText():null));
3903 
3904 					}
3905 					break;
3906 				case 2 :
3907 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:703:5: field_reference
3908 					{
3909 					pushFollow(FOLLOW_field_reference_in_verification_error_reference1765);
3910 					field_reference101=field_reference();
3911 					state._fsp--;
3912 
3913 
3914 					    reference = field_reference101;
3915 
3916 					}
3917 					break;
3918 				case 3 :
3919 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:707:5: method_reference
3920 					{
3921 					pushFollow(FOLLOW_method_reference_in_verification_error_reference1775);
3922 					method_reference102=method_reference();
3923 					state._fsp--;
3924 
3925 
3926 					    reference = method_reference102;
3927 
3928 					}
3929 					break;
3930 
3931 			}
3932 		}
3933 		catch (RecognitionException re) {
3934 			reportError(re);
3935 			recover(input,re);
3936 		}
3937 		finally {
3938 			// do for sure before leaving
3939 		}
3940 		return reference;
3941 	}
3942 	// $ANTLR end "verification_error_reference"
3943 
3944 
3945 
3946 	// $ANTLR start "verification_error_type"
3947 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:712:1: verification_error_type returns [int verificationError] : VERIFICATION_ERROR_TYPE ;
verification_error_type()3948 	public final int verification_error_type() throws RecognitionException {
3949 		int verificationError = 0;
3950 
3951 
3952 		CommonTree VERIFICATION_ERROR_TYPE103=null;
3953 
3954 		try {
3955 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:713:3: ( VERIFICATION_ERROR_TYPE )
3956 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:713:5: VERIFICATION_ERROR_TYPE
3957 			{
3958 			VERIFICATION_ERROR_TYPE103=(CommonTree)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1792);
3959 
3960 			    verificationError = VerificationError.getVerificationError((VERIFICATION_ERROR_TYPE103!=null?VERIFICATION_ERROR_TYPE103.getText():null));
3961 
3962 			}
3963 
3964 		}
3965 		catch (RecognitionException re) {
3966 			reportError(re);
3967 			recover(input,re);
3968 		}
3969 		finally {
3970 			// do for sure before leaving
3971 		}
3972 		return verificationError;
3973 	}
3974 	// $ANTLR end "verification_error_type"
3975 
3976 
3977 	public static class instruction_return extends TreeRuleReturnScope {
3978 	};
3979 
3980 
3981 	// $ANTLR start "instruction"
3982 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:718:1: instruction : ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive );
instruction()3983 	public final smaliTreeWalker.instruction_return instruction() throws RecognitionException {
3984 		smaliTreeWalker.instruction_return retval = new smaliTreeWalker.instruction_return();
3985 		retval.start = input.LT(1);
3986 
3987 		try {
3988 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:719:3: ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive )
3989 			int alt36=34;
3990 			switch ( input.LA(1) ) {
3991 			case I_STATEMENT_FORMAT10t:
3992 				{
3993 				alt36=1;
3994 				}
3995 				break;
3996 			case I_STATEMENT_FORMAT10x:
3997 				{
3998 				alt36=2;
3999 				}
4000 				break;
4001 			case I_STATEMENT_FORMAT11n:
4002 				{
4003 				alt36=3;
4004 				}
4005 				break;
4006 			case I_STATEMENT_FORMAT11x:
4007 				{
4008 				alt36=4;
4009 				}
4010 				break;
4011 			case I_STATEMENT_FORMAT12x:
4012 				{
4013 				alt36=5;
4014 				}
4015 				break;
4016 			case I_STATEMENT_FORMAT20bc:
4017 				{
4018 				alt36=6;
4019 				}
4020 				break;
4021 			case I_STATEMENT_FORMAT20t:
4022 				{
4023 				alt36=7;
4024 				}
4025 				break;
4026 			case I_STATEMENT_FORMAT21c_FIELD:
4027 				{
4028 				alt36=8;
4029 				}
4030 				break;
4031 			case I_STATEMENT_FORMAT21c_STRING:
4032 				{
4033 				alt36=9;
4034 				}
4035 				break;
4036 			case I_STATEMENT_FORMAT21c_TYPE:
4037 				{
4038 				alt36=10;
4039 				}
4040 				break;
4041 			case I_STATEMENT_FORMAT21ih:
4042 				{
4043 				alt36=11;
4044 				}
4045 				break;
4046 			case I_STATEMENT_FORMAT21lh:
4047 				{
4048 				alt36=12;
4049 				}
4050 				break;
4051 			case I_STATEMENT_FORMAT21s:
4052 				{
4053 				alt36=13;
4054 				}
4055 				break;
4056 			case I_STATEMENT_FORMAT21t:
4057 				{
4058 				alt36=14;
4059 				}
4060 				break;
4061 			case I_STATEMENT_FORMAT22b:
4062 				{
4063 				alt36=15;
4064 				}
4065 				break;
4066 			case I_STATEMENT_FORMAT22c_FIELD:
4067 				{
4068 				alt36=16;
4069 				}
4070 				break;
4071 			case I_STATEMENT_FORMAT22c_TYPE:
4072 				{
4073 				alt36=17;
4074 				}
4075 				break;
4076 			case I_STATEMENT_FORMAT22s:
4077 				{
4078 				alt36=18;
4079 				}
4080 				break;
4081 			case I_STATEMENT_FORMAT22t:
4082 				{
4083 				alt36=19;
4084 				}
4085 				break;
4086 			case I_STATEMENT_FORMAT22x:
4087 				{
4088 				alt36=20;
4089 				}
4090 				break;
4091 			case I_STATEMENT_FORMAT23x:
4092 				{
4093 				alt36=21;
4094 				}
4095 				break;
4096 			case I_STATEMENT_FORMAT30t:
4097 				{
4098 				alt36=22;
4099 				}
4100 				break;
4101 			case I_STATEMENT_FORMAT31c:
4102 				{
4103 				alt36=23;
4104 				}
4105 				break;
4106 			case I_STATEMENT_FORMAT31i:
4107 				{
4108 				alt36=24;
4109 				}
4110 				break;
4111 			case I_STATEMENT_FORMAT31t:
4112 				{
4113 				alt36=25;
4114 				}
4115 				break;
4116 			case I_STATEMENT_FORMAT32x:
4117 				{
4118 				alt36=26;
4119 				}
4120 				break;
4121 			case I_STATEMENT_FORMAT35c_METHOD:
4122 				{
4123 				alt36=27;
4124 				}
4125 				break;
4126 			case I_STATEMENT_FORMAT35c_TYPE:
4127 				{
4128 				alt36=28;
4129 				}
4130 				break;
4131 			case I_STATEMENT_FORMAT3rc_METHOD:
4132 				{
4133 				alt36=29;
4134 				}
4135 				break;
4136 			case I_STATEMENT_FORMAT3rc_TYPE:
4137 				{
4138 				alt36=30;
4139 				}
4140 				break;
4141 			case I_STATEMENT_FORMAT51l:
4142 				{
4143 				alt36=31;
4144 				}
4145 				break;
4146 			case I_STATEMENT_ARRAY_DATA:
4147 				{
4148 				alt36=32;
4149 				}
4150 				break;
4151 			case I_STATEMENT_PACKED_SWITCH:
4152 				{
4153 				alt36=33;
4154 				}
4155 				break;
4156 			case I_STATEMENT_SPARSE_SWITCH:
4157 				{
4158 				alt36=34;
4159 				}
4160 				break;
4161 			default:
4162 				NoViableAltException nvae =
4163 					new NoViableAltException("", 36, 0, input);
4164 				throw nvae;
4165 			}
4166 			switch (alt36) {
4167 				case 1 :
4168 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:719:5: insn_format10t
4169 					{
4170 					pushFollow(FOLLOW_insn_format10t_in_instruction1806);
4171 					insn_format10t();
4172 					state._fsp--;
4173 
4174 					}
4175 					break;
4176 				case 2 :
4177 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:720:5: insn_format10x
4178 					{
4179 					pushFollow(FOLLOW_insn_format10x_in_instruction1812);
4180 					insn_format10x();
4181 					state._fsp--;
4182 
4183 					}
4184 					break;
4185 				case 3 :
4186 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:721:5: insn_format11n
4187 					{
4188 					pushFollow(FOLLOW_insn_format11n_in_instruction1818);
4189 					insn_format11n();
4190 					state._fsp--;
4191 
4192 					}
4193 					break;
4194 				case 4 :
4195 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:722:5: insn_format11x
4196 					{
4197 					pushFollow(FOLLOW_insn_format11x_in_instruction1824);
4198 					insn_format11x();
4199 					state._fsp--;
4200 
4201 					}
4202 					break;
4203 				case 5 :
4204 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:723:5: insn_format12x
4205 					{
4206 					pushFollow(FOLLOW_insn_format12x_in_instruction1830);
4207 					insn_format12x();
4208 					state._fsp--;
4209 
4210 					}
4211 					break;
4212 				case 6 :
4213 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:724:5: insn_format20bc
4214 					{
4215 					pushFollow(FOLLOW_insn_format20bc_in_instruction1836);
4216 					insn_format20bc();
4217 					state._fsp--;
4218 
4219 					}
4220 					break;
4221 				case 7 :
4222 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:725:5: insn_format20t
4223 					{
4224 					pushFollow(FOLLOW_insn_format20t_in_instruction1842);
4225 					insn_format20t();
4226 					state._fsp--;
4227 
4228 					}
4229 					break;
4230 				case 8 :
4231 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:726:5: insn_format21c_field
4232 					{
4233 					pushFollow(FOLLOW_insn_format21c_field_in_instruction1848);
4234 					insn_format21c_field();
4235 					state._fsp--;
4236 
4237 					}
4238 					break;
4239 				case 9 :
4240 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:727:5: insn_format21c_string
4241 					{
4242 					pushFollow(FOLLOW_insn_format21c_string_in_instruction1854);
4243 					insn_format21c_string();
4244 					state._fsp--;
4245 
4246 					}
4247 					break;
4248 				case 10 :
4249 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:728:5: insn_format21c_type
4250 					{
4251 					pushFollow(FOLLOW_insn_format21c_type_in_instruction1860);
4252 					insn_format21c_type();
4253 					state._fsp--;
4254 
4255 					}
4256 					break;
4257 				case 11 :
4258 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:729:5: insn_format21ih
4259 					{
4260 					pushFollow(FOLLOW_insn_format21ih_in_instruction1866);
4261 					insn_format21ih();
4262 					state._fsp--;
4263 
4264 					}
4265 					break;
4266 				case 12 :
4267 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:730:5: insn_format21lh
4268 					{
4269 					pushFollow(FOLLOW_insn_format21lh_in_instruction1872);
4270 					insn_format21lh();
4271 					state._fsp--;
4272 
4273 					}
4274 					break;
4275 				case 13 :
4276 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:731:5: insn_format21s
4277 					{
4278 					pushFollow(FOLLOW_insn_format21s_in_instruction1878);
4279 					insn_format21s();
4280 					state._fsp--;
4281 
4282 					}
4283 					break;
4284 				case 14 :
4285 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:732:5: insn_format21t
4286 					{
4287 					pushFollow(FOLLOW_insn_format21t_in_instruction1884);
4288 					insn_format21t();
4289 					state._fsp--;
4290 
4291 					}
4292 					break;
4293 				case 15 :
4294 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:733:5: insn_format22b
4295 					{
4296 					pushFollow(FOLLOW_insn_format22b_in_instruction1890);
4297 					insn_format22b();
4298 					state._fsp--;
4299 
4300 					}
4301 					break;
4302 				case 16 :
4303 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:734:5: insn_format22c_field
4304 					{
4305 					pushFollow(FOLLOW_insn_format22c_field_in_instruction1896);
4306 					insn_format22c_field();
4307 					state._fsp--;
4308 
4309 					}
4310 					break;
4311 				case 17 :
4312 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:735:5: insn_format22c_type
4313 					{
4314 					pushFollow(FOLLOW_insn_format22c_type_in_instruction1902);
4315 					insn_format22c_type();
4316 					state._fsp--;
4317 
4318 					}
4319 					break;
4320 				case 18 :
4321 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:736:5: insn_format22s
4322 					{
4323 					pushFollow(FOLLOW_insn_format22s_in_instruction1908);
4324 					insn_format22s();
4325 					state._fsp--;
4326 
4327 					}
4328 					break;
4329 				case 19 :
4330 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:737:5: insn_format22t
4331 					{
4332 					pushFollow(FOLLOW_insn_format22t_in_instruction1914);
4333 					insn_format22t();
4334 					state._fsp--;
4335 
4336 					}
4337 					break;
4338 				case 20 :
4339 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:738:5: insn_format22x
4340 					{
4341 					pushFollow(FOLLOW_insn_format22x_in_instruction1920);
4342 					insn_format22x();
4343 					state._fsp--;
4344 
4345 					}
4346 					break;
4347 				case 21 :
4348 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:739:5: insn_format23x
4349 					{
4350 					pushFollow(FOLLOW_insn_format23x_in_instruction1926);
4351 					insn_format23x();
4352 					state._fsp--;
4353 
4354 					}
4355 					break;
4356 				case 22 :
4357 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:740:5: insn_format30t
4358 					{
4359 					pushFollow(FOLLOW_insn_format30t_in_instruction1932);
4360 					insn_format30t();
4361 					state._fsp--;
4362 
4363 					}
4364 					break;
4365 				case 23 :
4366 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:741:5: insn_format31c
4367 					{
4368 					pushFollow(FOLLOW_insn_format31c_in_instruction1938);
4369 					insn_format31c();
4370 					state._fsp--;
4371 
4372 					}
4373 					break;
4374 				case 24 :
4375 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:742:5: insn_format31i
4376 					{
4377 					pushFollow(FOLLOW_insn_format31i_in_instruction1944);
4378 					insn_format31i();
4379 					state._fsp--;
4380 
4381 					}
4382 					break;
4383 				case 25 :
4384 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:743:5: insn_format31t
4385 					{
4386 					pushFollow(FOLLOW_insn_format31t_in_instruction1950);
4387 					insn_format31t();
4388 					state._fsp--;
4389 
4390 					}
4391 					break;
4392 				case 26 :
4393 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:744:5: insn_format32x
4394 					{
4395 					pushFollow(FOLLOW_insn_format32x_in_instruction1956);
4396 					insn_format32x();
4397 					state._fsp--;
4398 
4399 					}
4400 					break;
4401 				case 27 :
4402 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:745:5: insn_format35c_method
4403 					{
4404 					pushFollow(FOLLOW_insn_format35c_method_in_instruction1962);
4405 					insn_format35c_method();
4406 					state._fsp--;
4407 
4408 					}
4409 					break;
4410 				case 28 :
4411 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:746:5: insn_format35c_type
4412 					{
4413 					pushFollow(FOLLOW_insn_format35c_type_in_instruction1968);
4414 					insn_format35c_type();
4415 					state._fsp--;
4416 
4417 					}
4418 					break;
4419 				case 29 :
4420 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:747:5: insn_format3rc_method
4421 					{
4422 					pushFollow(FOLLOW_insn_format3rc_method_in_instruction1974);
4423 					insn_format3rc_method();
4424 					state._fsp--;
4425 
4426 					}
4427 					break;
4428 				case 30 :
4429 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:748:5: insn_format3rc_type
4430 					{
4431 					pushFollow(FOLLOW_insn_format3rc_type_in_instruction1980);
4432 					insn_format3rc_type();
4433 					state._fsp--;
4434 
4435 					}
4436 					break;
4437 				case 31 :
4438 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:749:5: insn_format51l_type
4439 					{
4440 					pushFollow(FOLLOW_insn_format51l_type_in_instruction1986);
4441 					insn_format51l_type();
4442 					state._fsp--;
4443 
4444 					}
4445 					break;
4446 				case 32 :
4447 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:750:5: insn_array_data_directive
4448 					{
4449 					pushFollow(FOLLOW_insn_array_data_directive_in_instruction1992);
4450 					insn_array_data_directive();
4451 					state._fsp--;
4452 
4453 					}
4454 					break;
4455 				case 33 :
4456 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:751:5: insn_packed_switch_directive
4457 					{
4458 					pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction1998);
4459 					insn_packed_switch_directive();
4460 					state._fsp--;
4461 
4462 					}
4463 					break;
4464 				case 34 :
4465 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:752:5: insn_sparse_switch_directive
4466 					{
4467 					pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction2004);
4468 					insn_sparse_switch_directive();
4469 					state._fsp--;
4470 
4471 					}
4472 					break;
4473 
4474 			}
4475 		}
4476 		catch (Exception ex) {
4477 
4478 			    reportError(new SemanticException(input, ((CommonTree)retval.start), ex.getMessage()));
4479 			    recover(input, null);
4480 
4481 		}
4482 
4483 		finally {
4484 			// do for sure before leaving
4485 		}
4486 		return retval;
4487 	}
4488 	// $ANTLR end "instruction"
4489 
4490 
4491 
4492 	// $ANTLR start "insn_format10t"
4493 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:758:1: insn_format10t : ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) ;
insn_format10t()4494 	public final void insn_format10t() throws RecognitionException {
4495 		CommonTree INSTRUCTION_FORMAT10t104=null;
4496 		Label label_ref105 =null;
4497 
4498 		try {
4499 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:759:3: ( ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) )
4500 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:760:5: ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref )
4501 			{
4502 			match(input,I_STATEMENT_FORMAT10t,FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2028);
4503 			match(input, Token.DOWN, null);
4504 			INSTRUCTION_FORMAT10t104=(CommonTree)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2030);
4505 			pushFollow(FOLLOW_label_ref_in_insn_format10t2032);
4506 			label_ref105=label_ref();
4507 			state._fsp--;
4508 
4509 			match(input, Token.UP, null);
4510 
4511 
4512 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT10t104!=null?INSTRUCTION_FORMAT10t104.getText():null));
4513 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction10t(opcode, label_ref105));
4514 
4515 			}
4516 
4517 		}
4518 		catch (RecognitionException re) {
4519 			reportError(re);
4520 			recover(input,re);
4521 		}
4522 		finally {
4523 			// do for sure before leaving
4524 		}
4525 	}
4526 	// $ANTLR end "insn_format10t"
4527 
4528 
4529 
4530 	// $ANTLR start "insn_format10x"
4531 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:766:1: insn_format10x : ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) ;
insn_format10x()4532 	public final void insn_format10x() throws RecognitionException {
4533 		CommonTree INSTRUCTION_FORMAT10x106=null;
4534 
4535 		try {
4536 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:767:3: ( ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) )
4537 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:768:5: ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x )
4538 			{
4539 			match(input,I_STATEMENT_FORMAT10x,FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2055);
4540 			match(input, Token.DOWN, null);
4541 			INSTRUCTION_FORMAT10x106=(CommonTree)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2057);
4542 			match(input, Token.UP, null);
4543 
4544 
4545 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT10x106!=null?INSTRUCTION_FORMAT10x106.getText():null));
4546 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction10x(opcode));
4547 
4548 			}
4549 
4550 		}
4551 		catch (RecognitionException re) {
4552 			reportError(re);
4553 			recover(input,re);
4554 		}
4555 		finally {
4556 			// do for sure before leaving
4557 		}
4558 	}
4559 	// $ANTLR end "insn_format10x"
4560 
4561 
4562 
4563 	// $ANTLR start "insn_format11n"
4564 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:774:1: insn_format11n : ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) ;
insn_format11n()4565 	public final void insn_format11n() throws RecognitionException {
4566 		CommonTree INSTRUCTION_FORMAT11n107=null;
4567 		CommonTree REGISTER108=null;
4568 		short short_integral_literal109 =0;
4569 
4570 		try {
4571 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:775:3: ( ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) )
4572 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:776:5: ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal )
4573 			{
4574 			match(input,I_STATEMENT_FORMAT11n,FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2080);
4575 			match(input, Token.DOWN, null);
4576 			INSTRUCTION_FORMAT11n107=(CommonTree)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2082);
4577 			REGISTER108=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n2084);
4578 			pushFollow(FOLLOW_short_integral_literal_in_insn_format11n2086);
4579 			short_integral_literal109=short_integral_literal();
4580 			state._fsp--;
4581 
4582 			match(input, Token.UP, null);
4583 
4584 
4585 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT11n107!=null?INSTRUCTION_FORMAT11n107.getText():null));
4586 			      byte regA = parseRegister_nibble((REGISTER108!=null?REGISTER108.getText():null));
4587 
4588 			      short litB = short_integral_literal109;
4589 			      LiteralTools.checkNibble(litB);
4590 
4591 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction11n(opcode, regA, litB));
4592 
4593 			}
4594 
4595 		}
4596 		catch (RecognitionException re) {
4597 			reportError(re);
4598 			recover(input,re);
4599 		}
4600 		finally {
4601 			// do for sure before leaving
4602 		}
4603 	}
4604 	// $ANTLR end "insn_format11n"
4605 
4606 
4607 
4608 	// $ANTLR start "insn_format11x"
4609 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:787:1: insn_format11x : ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) ;
insn_format11x()4610 	public final void insn_format11x() throws RecognitionException {
4611 		CommonTree INSTRUCTION_FORMAT11x110=null;
4612 		CommonTree REGISTER111=null;
4613 
4614 		try {
4615 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:788:3: ( ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) )
4616 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:789:5: ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER )
4617 			{
4618 			match(input,I_STATEMENT_FORMAT11x,FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2109);
4619 			match(input, Token.DOWN, null);
4620 			INSTRUCTION_FORMAT11x110=(CommonTree)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2111);
4621 			REGISTER111=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x2113);
4622 			match(input, Token.UP, null);
4623 
4624 
4625 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT11x110!=null?INSTRUCTION_FORMAT11x110.getText():null));
4626 			      short regA = parseRegister_byte((REGISTER111!=null?REGISTER111.getText():null));
4627 
4628 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction11x(opcode, regA));
4629 
4630 			}
4631 
4632 		}
4633 		catch (RecognitionException re) {
4634 			reportError(re);
4635 			recover(input,re);
4636 		}
4637 		finally {
4638 			// do for sure before leaving
4639 		}
4640 	}
4641 	// $ANTLR end "insn_format11x"
4642 
4643 
4644 
4645 	// $ANTLR start "insn_format12x"
4646 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:797:1: insn_format12x : ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) ;
insn_format12x()4647 	public final void insn_format12x() throws RecognitionException {
4648 		CommonTree registerA=null;
4649 		CommonTree registerB=null;
4650 		CommonTree INSTRUCTION_FORMAT12x112=null;
4651 
4652 		try {
4653 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:798:3: ( ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) )
4654 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:799:5: ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER )
4655 			{
4656 			match(input,I_STATEMENT_FORMAT12x,FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2136);
4657 			match(input, Token.DOWN, null);
4658 			INSTRUCTION_FORMAT12x112=(CommonTree)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2138);
4659 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2142);
4660 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2146);
4661 			match(input, Token.UP, null);
4662 
4663 
4664 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT12x112!=null?INSTRUCTION_FORMAT12x112.getText():null));
4665 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
4666 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
4667 
4668 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction12x(opcode, regA, regB));
4669 
4670 			}
4671 
4672 		}
4673 		catch (RecognitionException re) {
4674 			reportError(re);
4675 			recover(input,re);
4676 		}
4677 		finally {
4678 			// do for sure before leaving
4679 		}
4680 	}
4681 	// $ANTLR end "insn_format12x"
4682 
4683 
4684 
4685 	// $ANTLR start "insn_format20bc"
4686 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:808:1: insn_format20bc : ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) ;
insn_format20bc()4687 	public final void insn_format20bc() throws RecognitionException {
4688 		CommonTree INSTRUCTION_FORMAT20bc113=null;
4689 		int verification_error_type114 =0;
4690 		ImmutableReference verification_error_reference115 =null;
4691 
4692 		try {
4693 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:809:3: ( ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) )
4694 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:810:5: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference )
4695 			{
4696 			match(input,I_STATEMENT_FORMAT20bc,FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2169);
4697 			match(input, Token.DOWN, null);
4698 			INSTRUCTION_FORMAT20bc113=(CommonTree)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2171);
4699 			pushFollow(FOLLOW_verification_error_type_in_insn_format20bc2173);
4700 			verification_error_type114=verification_error_type();
4701 			state._fsp--;
4702 
4703 			pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc2175);
4704 			verification_error_reference115=verification_error_reference();
4705 			state._fsp--;
4706 
4707 			match(input, Token.UP, null);
4708 
4709 
4710 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT20bc113!=null?INSTRUCTION_FORMAT20bc113.getText():null));
4711 
4712 			      int verificationError = verification_error_type114;
4713 			      ImmutableReference referencedItem = verification_error_reference115;
4714 
4715 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction20bc(opcode, verificationError,
4716 			              dexBuilder.internReference(referencedItem)));
4717 
4718 			}
4719 
4720 		}
4721 		catch (RecognitionException re) {
4722 			reportError(re);
4723 			recover(input,re);
4724 		}
4725 		finally {
4726 			// do for sure before leaving
4727 		}
4728 	}
4729 	// $ANTLR end "insn_format20bc"
4730 
4731 
4732 
4733 	// $ANTLR start "insn_format20t"
4734 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:821:1: insn_format20t : ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) ;
insn_format20t()4735 	public final void insn_format20t() throws RecognitionException {
4736 		CommonTree INSTRUCTION_FORMAT20t116=null;
4737 		Label label_ref117 =null;
4738 
4739 		try {
4740 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:822:3: ( ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) )
4741 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:823:5: ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref )
4742 			{
4743 			match(input,I_STATEMENT_FORMAT20t,FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2198);
4744 			match(input, Token.DOWN, null);
4745 			INSTRUCTION_FORMAT20t116=(CommonTree)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2200);
4746 			pushFollow(FOLLOW_label_ref_in_insn_format20t2202);
4747 			label_ref117=label_ref();
4748 			state._fsp--;
4749 
4750 			match(input, Token.UP, null);
4751 
4752 
4753 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT20t116!=null?INSTRUCTION_FORMAT20t116.getText():null));
4754 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction20t(opcode, label_ref117));
4755 
4756 			}
4757 
4758 		}
4759 		catch (RecognitionException re) {
4760 			reportError(re);
4761 			recover(input,re);
4762 		}
4763 		finally {
4764 			// do for sure before leaving
4765 		}
4766 	}
4767 	// $ANTLR end "insn_format20t"
4768 
4769 
4770 
4771 	// $ANTLR start "insn_format21c_field"
4772 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:829:1: insn_format21c_field : ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference ) ;
insn_format21c_field()4773 	public final void insn_format21c_field() throws RecognitionException {
4774 		CommonTree inst=null;
4775 		CommonTree REGISTER118=null;
4776 		ImmutableFieldReference field_reference119 =null;
4777 
4778 		try {
4779 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:830:3: ( ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference ) )
4780 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:831:5: ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference )
4781 			{
4782 			match(input,I_STATEMENT_FORMAT21c_FIELD,FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2225);
4783 			match(input, Token.DOWN, null);
4784 			inst=(CommonTree)input.LT(1);
4785 			if ( (input.LA(1) >= INSTRUCTION_FORMAT21c_FIELD && input.LA(1) <= INSTRUCTION_FORMAT21c_FIELD_ODEX) ) {
4786 				input.consume();
4787 				state.errorRecovery=false;
4788 			}
4789 			else {
4790 				MismatchedSetException mse = new MismatchedSetException(null,input);
4791 				throw mse;
4792 			}
4793 			REGISTER118=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field2237);
4794 			pushFollow(FOLLOW_field_reference_in_insn_format21c_field2239);
4795 			field_reference119=field_reference();
4796 			state._fsp--;
4797 
4798 			match(input, Token.UP, null);
4799 
4800 
4801 			      Opcode opcode = opcodes.getOpcodeByName((inst!=null?inst.getText():null));
4802 			      short regA = parseRegister_byte((REGISTER118!=null?REGISTER118.getText():null));
4803 
4804 			      ImmutableFieldReference fieldReference = field_reference119;
4805 
4806 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
4807 			              dexBuilder.internFieldReference(fieldReference)));
4808 
4809 			}
4810 
4811 		}
4812 		catch (RecognitionException re) {
4813 			reportError(re);
4814 			recover(input,re);
4815 		}
4816 		finally {
4817 			// do for sure before leaving
4818 		}
4819 	}
4820 	// $ANTLR end "insn_format21c_field"
4821 
4822 
4823 
4824 	// $ANTLR start "insn_format21c_string"
4825 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:842:1: insn_format21c_string : ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) ;
insn_format21c_string()4826 	public final void insn_format21c_string() throws RecognitionException {
4827 		CommonTree INSTRUCTION_FORMAT21c_STRING120=null;
4828 		CommonTree REGISTER121=null;
4829 		String string_literal122 =null;
4830 
4831 		try {
4832 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:843:3: ( ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) )
4833 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:844:5: ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal )
4834 			{
4835 			match(input,I_STATEMENT_FORMAT21c_STRING,FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2262);
4836 			match(input, Token.DOWN, null);
4837 			INSTRUCTION_FORMAT21c_STRING120=(CommonTree)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2264);
4838 			REGISTER121=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string2266);
4839 			pushFollow(FOLLOW_string_literal_in_insn_format21c_string2268);
4840 			string_literal122=string_literal();
4841 			state._fsp--;
4842 
4843 			match(input, Token.UP, null);
4844 
4845 
4846 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_STRING120!=null?INSTRUCTION_FORMAT21c_STRING120.getText():null));
4847 			      short regA = parseRegister_byte((REGISTER121!=null?REGISTER121.getText():null));
4848 
4849 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
4850 			              dexBuilder.internStringReference(string_literal122)));
4851 
4852 			}
4853 
4854 		}
4855 		catch (RecognitionException re) {
4856 			reportError(re);
4857 			recover(input,re);
4858 		}
4859 		finally {
4860 			// do for sure before leaving
4861 		}
4862 	}
4863 	// $ANTLR end "insn_format21c_string"
4864 
4865 
4866 
4867 	// $ANTLR start "insn_format21c_type"
4868 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:853:1: insn_format21c_type : ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ;
insn_format21c_type()4869 	public final void insn_format21c_type() throws RecognitionException {
4870 		CommonTree INSTRUCTION_FORMAT21c_TYPE123=null;
4871 		CommonTree REGISTER124=null;
4872 		TreeRuleReturnScope nonvoid_type_descriptor125 =null;
4873 
4874 		try {
4875 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:854:3: ( ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) )
4876 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:855:5: ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
4877 			{
4878 			match(input,I_STATEMENT_FORMAT21c_TYPE,FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2291);
4879 			match(input, Token.DOWN, null);
4880 			INSTRUCTION_FORMAT21c_TYPE123=(CommonTree)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2293);
4881 			REGISTER124=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type2295);
4882 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2297);
4883 			nonvoid_type_descriptor125=nonvoid_type_descriptor();
4884 			state._fsp--;
4885 
4886 			match(input, Token.UP, null);
4887 
4888 
4889 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_TYPE123!=null?INSTRUCTION_FORMAT21c_TYPE123.getText():null));
4890 			      short regA = parseRegister_byte((REGISTER124!=null?REGISTER124.getText():null));
4891 
4892 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
4893 			              dexBuilder.internTypeReference((nonvoid_type_descriptor125!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor125).type:null))));
4894 
4895 			}
4896 
4897 		}
4898 		catch (RecognitionException re) {
4899 			reportError(re);
4900 			recover(input,re);
4901 		}
4902 		finally {
4903 			// do for sure before leaving
4904 		}
4905 	}
4906 	// $ANTLR end "insn_format21c_type"
4907 
4908 
4909 
4910 	// $ANTLR start "insn_format21ih"
4911 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:864:1: insn_format21ih : ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ;
insn_format21ih()4912 	public final void insn_format21ih() throws RecognitionException {
4913 		CommonTree INSTRUCTION_FORMAT21ih126=null;
4914 		CommonTree REGISTER127=null;
4915 		int fixed_32bit_literal128 =0;
4916 
4917 		try {
4918 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:865:3: ( ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) )
4919 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:866:5: ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
4920 			{
4921 			match(input,I_STATEMENT_FORMAT21ih,FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2320);
4922 			match(input, Token.DOWN, null);
4923 			INSTRUCTION_FORMAT21ih126=(CommonTree)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2322);
4924 			REGISTER127=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih2324);
4925 			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih2326);
4926 			fixed_32bit_literal128=fixed_32bit_literal();
4927 			state._fsp--;
4928 
4929 			match(input, Token.UP, null);
4930 
4931 
4932 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21ih126!=null?INSTRUCTION_FORMAT21ih126.getText():null));
4933 			      short regA = parseRegister_byte((REGISTER127!=null?REGISTER127.getText():null));
4934 
4935 			      int litB = fixed_32bit_literal128;
4936 
4937 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21ih(opcode, regA, litB));
4938 
4939 			}
4940 
4941 		}
4942 		catch (RecognitionException re) {
4943 			reportError(re);
4944 			recover(input,re);
4945 		}
4946 		finally {
4947 			// do for sure before leaving
4948 		}
4949 	}
4950 	// $ANTLR end "insn_format21ih"
4951 
4952 
4953 
4954 	// $ANTLR start "insn_format21lh"
4955 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:876:1: insn_format21lh : ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) ;
insn_format21lh()4956 	public final void insn_format21lh() throws RecognitionException {
4957 		CommonTree INSTRUCTION_FORMAT21lh129=null;
4958 		CommonTree REGISTER130=null;
4959 		long fixed_64bit_literal131 =0;
4960 
4961 		try {
4962 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:877:3: ( ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) )
4963 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:878:5: ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal )
4964 			{
4965 			match(input,I_STATEMENT_FORMAT21lh,FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2349);
4966 			match(input, Token.DOWN, null);
4967 			INSTRUCTION_FORMAT21lh129=(CommonTree)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2351);
4968 			REGISTER130=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh2353);
4969 			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format21lh2355);
4970 			fixed_64bit_literal131=fixed_64bit_literal();
4971 			state._fsp--;
4972 
4973 			match(input, Token.UP, null);
4974 
4975 
4976 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21lh129!=null?INSTRUCTION_FORMAT21lh129.getText():null));
4977 			      short regA = parseRegister_byte((REGISTER130!=null?REGISTER130.getText():null));
4978 
4979 			      long litB = fixed_64bit_literal131;
4980 
4981 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21lh(opcode, regA, litB));
4982 
4983 			}
4984 
4985 		}
4986 		catch (RecognitionException re) {
4987 			reportError(re);
4988 			recover(input,re);
4989 		}
4990 		finally {
4991 			// do for sure before leaving
4992 		}
4993 	}
4994 	// $ANTLR end "insn_format21lh"
4995 
4996 
4997 
4998 	// $ANTLR start "insn_format21s"
4999 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:888:1: insn_format21s : ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) ;
insn_format21s()5000 	public final void insn_format21s() throws RecognitionException {
5001 		CommonTree INSTRUCTION_FORMAT21s132=null;
5002 		CommonTree REGISTER133=null;
5003 		short short_integral_literal134 =0;
5004 
5005 		try {
5006 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:889:3: ( ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) )
5007 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:890:5: ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal )
5008 			{
5009 			match(input,I_STATEMENT_FORMAT21s,FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2378);
5010 			match(input, Token.DOWN, null);
5011 			INSTRUCTION_FORMAT21s132=(CommonTree)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2380);
5012 			REGISTER133=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s2382);
5013 			pushFollow(FOLLOW_short_integral_literal_in_insn_format21s2384);
5014 			short_integral_literal134=short_integral_literal();
5015 			state._fsp--;
5016 
5017 			match(input, Token.UP, null);
5018 
5019 
5020 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21s132!=null?INSTRUCTION_FORMAT21s132.getText():null));
5021 			      short regA = parseRegister_byte((REGISTER133!=null?REGISTER133.getText():null));
5022 
5023 			      short litB = short_integral_literal134;
5024 
5025 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21s(opcode, regA, litB));
5026 
5027 			}
5028 
5029 		}
5030 		catch (RecognitionException re) {
5031 			reportError(re);
5032 			recover(input,re);
5033 		}
5034 		finally {
5035 			// do for sure before leaving
5036 		}
5037 	}
5038 	// $ANTLR end "insn_format21s"
5039 
5040 
5041 
5042 	// $ANTLR start "insn_format21t"
5043 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:900:1: insn_format21t : ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) ;
insn_format21t()5044 	public final void insn_format21t() throws RecognitionException {
5045 		CommonTree INSTRUCTION_FORMAT21t135=null;
5046 		CommonTree REGISTER136=null;
5047 		Label label_ref137 =null;
5048 
5049 		try {
5050 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:901:3: ( ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) )
5051 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:902:5: ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref )
5052 			{
5053 			match(input,I_STATEMENT_FORMAT21t,FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2407);
5054 			match(input, Token.DOWN, null);
5055 			INSTRUCTION_FORMAT21t135=(CommonTree)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2409);
5056 			REGISTER136=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t2411);
5057 			pushFollow(FOLLOW_label_ref_in_insn_format21t2413);
5058 			label_ref137=label_ref();
5059 			state._fsp--;
5060 
5061 			match(input, Token.UP, null);
5062 
5063 
5064 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21t135!=null?INSTRUCTION_FORMAT21t135.getText():null));
5065 			      short regA = parseRegister_byte((REGISTER136!=null?REGISTER136.getText():null));
5066 
5067 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21t(opcode, regA, label_ref137));
5068 
5069 			}
5070 
5071 		}
5072 		catch (RecognitionException re) {
5073 			reportError(re);
5074 			recover(input,re);
5075 		}
5076 		finally {
5077 			// do for sure before leaving
5078 		}
5079 	}
5080 	// $ANTLR end "insn_format21t"
5081 
5082 
5083 
5084 	// $ANTLR start "insn_format22b"
5085 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:910:1: insn_format22b : ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
insn_format22b()5086 	public final void insn_format22b() throws RecognitionException {
5087 		CommonTree registerA=null;
5088 		CommonTree registerB=null;
5089 		CommonTree INSTRUCTION_FORMAT22b138=null;
5090 		short short_integral_literal139 =0;
5091 
5092 		try {
5093 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:911:3: ( ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) )
5094 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:912:5: ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal )
5095 			{
5096 			match(input,I_STATEMENT_FORMAT22b,FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2436);
5097 			match(input, Token.DOWN, null);
5098 			INSTRUCTION_FORMAT22b138=(CommonTree)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2438);
5099 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2442);
5100 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2446);
5101 			pushFollow(FOLLOW_short_integral_literal_in_insn_format22b2448);
5102 			short_integral_literal139=short_integral_literal();
5103 			state._fsp--;
5104 
5105 			match(input, Token.UP, null);
5106 
5107 
5108 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22b138!=null?INSTRUCTION_FORMAT22b138.getText():null));
5109 			      short regA = parseRegister_byte((registerA!=null?registerA.getText():null));
5110 			      short regB = parseRegister_byte((registerB!=null?registerB.getText():null));
5111 
5112 			      short litC = short_integral_literal139;
5113 			      LiteralTools.checkByte(litC);
5114 
5115 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22b(opcode, regA, regB, litC));
5116 
5117 			}
5118 
5119 		}
5120 		catch (RecognitionException re) {
5121 			reportError(re);
5122 			recover(input,re);
5123 		}
5124 		finally {
5125 			// do for sure before leaving
5126 		}
5127 	}
5128 	// $ANTLR end "insn_format22b"
5129 
5130 
5131 
5132 	// $ANTLR start "insn_format22c_field"
5133 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:924:1: insn_format22c_field : ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference ) ;
insn_format22c_field()5134 	public final void insn_format22c_field() throws RecognitionException {
5135 		CommonTree inst=null;
5136 		CommonTree registerA=null;
5137 		CommonTree registerB=null;
5138 		ImmutableFieldReference field_reference140 =null;
5139 
5140 		try {
5141 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:925:3: ( ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference ) )
5142 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:926:5: ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference )
5143 			{
5144 			match(input,I_STATEMENT_FORMAT22c_FIELD,FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2471);
5145 			match(input, Token.DOWN, null);
5146 			inst=(CommonTree)input.LT(1);
5147 			if ( (input.LA(1) >= INSTRUCTION_FORMAT22c_FIELD && input.LA(1) <= INSTRUCTION_FORMAT22c_FIELD_ODEX) ) {
5148 				input.consume();
5149 				state.errorRecovery=false;
5150 			}
5151 			else {
5152 				MismatchedSetException mse = new MismatchedSetException(null,input);
5153 				throw mse;
5154 			}
5155 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2485);
5156 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2489);
5157 			pushFollow(FOLLOW_field_reference_in_insn_format22c_field2491);
5158 			field_reference140=field_reference();
5159 			state._fsp--;
5160 
5161 			match(input, Token.UP, null);
5162 
5163 
5164 			      Opcode opcode = opcodes.getOpcodeByName((inst!=null?inst.getText():null));
5165 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
5166 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
5167 
5168 			      ImmutableFieldReference fieldReference = field_reference140;
5169 
5170 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22c(opcode, regA, regB,
5171 			              dexBuilder.internFieldReference(fieldReference)));
5172 
5173 			}
5174 
5175 		}
5176 		catch (RecognitionException re) {
5177 			reportError(re);
5178 			recover(input,re);
5179 		}
5180 		finally {
5181 			// do for sure before leaving
5182 		}
5183 	}
5184 	// $ANTLR end "insn_format22c_field"
5185 
5186 
5187 
5188 	// $ANTLR start "insn_format22c_type"
5189 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:938:1: insn_format22c_type : ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) ;
insn_format22c_type()5190 	public final void insn_format22c_type() throws RecognitionException {
5191 		CommonTree registerA=null;
5192 		CommonTree registerB=null;
5193 		CommonTree INSTRUCTION_FORMAT22c_TYPE141=null;
5194 		TreeRuleReturnScope nonvoid_type_descriptor142 =null;
5195 
5196 		try {
5197 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:939:3: ( ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) )
5198 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:940:5: ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor )
5199 			{
5200 			match(input,I_STATEMENT_FORMAT22c_TYPE,FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2514);
5201 			match(input, Token.DOWN, null);
5202 			INSTRUCTION_FORMAT22c_TYPE141=(CommonTree)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2516);
5203 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2520);
5204 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2524);
5205 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2526);
5206 			nonvoid_type_descriptor142=nonvoid_type_descriptor();
5207 			state._fsp--;
5208 
5209 			match(input, Token.UP, null);
5210 
5211 
5212 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22c_TYPE141!=null?INSTRUCTION_FORMAT22c_TYPE141.getText():null));
5213 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
5214 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
5215 
5216 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22c(opcode, regA, regB,
5217 			              dexBuilder.internTypeReference((nonvoid_type_descriptor142!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor142).type:null))));
5218 
5219 			}
5220 
5221 		}
5222 		catch (RecognitionException re) {
5223 			reportError(re);
5224 			recover(input,re);
5225 		}
5226 		finally {
5227 			// do for sure before leaving
5228 		}
5229 	}
5230 	// $ANTLR end "insn_format22c_type"
5231 
5232 
5233 
5234 	// $ANTLR start "insn_format22s"
5235 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:950:1: insn_format22s : ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
insn_format22s()5236 	public final void insn_format22s() throws RecognitionException {
5237 		CommonTree registerA=null;
5238 		CommonTree registerB=null;
5239 		CommonTree INSTRUCTION_FORMAT22s143=null;
5240 		short short_integral_literal144 =0;
5241 
5242 		try {
5243 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:951:3: ( ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) )
5244 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:952:5: ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal )
5245 			{
5246 			match(input,I_STATEMENT_FORMAT22s,FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2549);
5247 			match(input, Token.DOWN, null);
5248 			INSTRUCTION_FORMAT22s143=(CommonTree)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2551);
5249 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2555);
5250 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2559);
5251 			pushFollow(FOLLOW_short_integral_literal_in_insn_format22s2561);
5252 			short_integral_literal144=short_integral_literal();
5253 			state._fsp--;
5254 
5255 			match(input, Token.UP, null);
5256 
5257 
5258 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22s143!=null?INSTRUCTION_FORMAT22s143.getText():null));
5259 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
5260 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
5261 
5262 			      short litC = short_integral_literal144;
5263 
5264 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22s(opcode, regA, regB, litC));
5265 
5266 			}
5267 
5268 		}
5269 		catch (RecognitionException re) {
5270 			reportError(re);
5271 			recover(input,re);
5272 		}
5273 		finally {
5274 			// do for sure before leaving
5275 		}
5276 	}
5277 	// $ANTLR end "insn_format22s"
5278 
5279 
5280 
5281 	// $ANTLR start "insn_format22t"
5282 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:963:1: insn_format22t : ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) ;
insn_format22t()5283 	public final void insn_format22t() throws RecognitionException {
5284 		CommonTree registerA=null;
5285 		CommonTree registerB=null;
5286 		CommonTree INSTRUCTION_FORMAT22t145=null;
5287 		Label label_ref146 =null;
5288 
5289 		try {
5290 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:964:3: ( ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) )
5291 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:965:5: ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref )
5292 			{
5293 			match(input,I_STATEMENT_FORMAT22t,FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2584);
5294 			match(input, Token.DOWN, null);
5295 			INSTRUCTION_FORMAT22t145=(CommonTree)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2586);
5296 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2590);
5297 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2594);
5298 			pushFollow(FOLLOW_label_ref_in_insn_format22t2596);
5299 			label_ref146=label_ref();
5300 			state._fsp--;
5301 
5302 			match(input, Token.UP, null);
5303 
5304 
5305 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22t145!=null?INSTRUCTION_FORMAT22t145.getText():null));
5306 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
5307 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
5308 
5309 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22t(opcode, regA, regB, label_ref146));
5310 
5311 			}
5312 
5313 		}
5314 		catch (RecognitionException re) {
5315 			reportError(re);
5316 			recover(input,re);
5317 		}
5318 		finally {
5319 			// do for sure before leaving
5320 		}
5321 	}
5322 	// $ANTLR end "insn_format22t"
5323 
5324 
5325 
5326 	// $ANTLR start "insn_format22x"
5327 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:974:1: insn_format22x : ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) ;
insn_format22x()5328 	public final void insn_format22x() throws RecognitionException {
5329 		CommonTree registerA=null;
5330 		CommonTree registerB=null;
5331 		CommonTree INSTRUCTION_FORMAT22x147=null;
5332 
5333 		try {
5334 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:975:3: ( ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) )
5335 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:976:5: ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER )
5336 			{
5337 			match(input,I_STATEMENT_FORMAT22x,FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2619);
5338 			match(input, Token.DOWN, null);
5339 			INSTRUCTION_FORMAT22x147=(CommonTree)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2621);
5340 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2625);
5341 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2629);
5342 			match(input, Token.UP, null);
5343 
5344 
5345 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22x147!=null?INSTRUCTION_FORMAT22x147.getText():null));
5346 			      short regA = parseRegister_byte((registerA!=null?registerA.getText():null));
5347 			      int regB = parseRegister_short((registerB!=null?registerB.getText():null));
5348 
5349 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22x(opcode, regA, regB));
5350 
5351 			}
5352 
5353 		}
5354 		catch (RecognitionException re) {
5355 			reportError(re);
5356 			recover(input,re);
5357 		}
5358 		finally {
5359 			// do for sure before leaving
5360 		}
5361 	}
5362 	// $ANTLR end "insn_format22x"
5363 
5364 
5365 
5366 	// $ANTLR start "insn_format23x"
5367 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:985:1: insn_format23x : ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) ;
insn_format23x()5368 	public final void insn_format23x() throws RecognitionException {
5369 		CommonTree registerA=null;
5370 		CommonTree registerB=null;
5371 		CommonTree registerC=null;
5372 		CommonTree INSTRUCTION_FORMAT23x148=null;
5373 
5374 		try {
5375 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:986:3: ( ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) )
5376 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:987:5: ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER )
5377 			{
5378 			match(input,I_STATEMENT_FORMAT23x,FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2652);
5379 			match(input, Token.DOWN, null);
5380 			INSTRUCTION_FORMAT23x148=(CommonTree)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2654);
5381 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2658);
5382 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2662);
5383 			registerC=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2666);
5384 			match(input, Token.UP, null);
5385 
5386 
5387 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT23x148!=null?INSTRUCTION_FORMAT23x148.getText():null));
5388 			      short regA = parseRegister_byte((registerA!=null?registerA.getText():null));
5389 			      short regB = parseRegister_byte((registerB!=null?registerB.getText():null));
5390 			      short regC = parseRegister_byte((registerC!=null?registerC.getText():null));
5391 
5392 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction23x(opcode, regA, regB, regC));
5393 
5394 			}
5395 
5396 		}
5397 		catch (RecognitionException re) {
5398 			reportError(re);
5399 			recover(input,re);
5400 		}
5401 		finally {
5402 			// do for sure before leaving
5403 		}
5404 	}
5405 	// $ANTLR end "insn_format23x"
5406 
5407 
5408 
5409 	// $ANTLR start "insn_format30t"
5410 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:997:1: insn_format30t : ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) ;
insn_format30t()5411 	public final void insn_format30t() throws RecognitionException {
5412 		CommonTree INSTRUCTION_FORMAT30t149=null;
5413 		Label label_ref150 =null;
5414 
5415 		try {
5416 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:998:3: ( ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) )
5417 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:999:5: ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref )
5418 			{
5419 			match(input,I_STATEMENT_FORMAT30t,FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2689);
5420 			match(input, Token.DOWN, null);
5421 			INSTRUCTION_FORMAT30t149=(CommonTree)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2691);
5422 			pushFollow(FOLLOW_label_ref_in_insn_format30t2693);
5423 			label_ref150=label_ref();
5424 			state._fsp--;
5425 
5426 			match(input, Token.UP, null);
5427 
5428 
5429 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT30t149!=null?INSTRUCTION_FORMAT30t149.getText():null));
5430 
5431 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction30t(opcode, label_ref150));
5432 
5433 			}
5434 
5435 		}
5436 		catch (RecognitionException re) {
5437 			reportError(re);
5438 			recover(input,re);
5439 		}
5440 		finally {
5441 			// do for sure before leaving
5442 		}
5443 	}
5444 	// $ANTLR end "insn_format30t"
5445 
5446 
5447 
5448 	// $ANTLR start "insn_format31c"
5449 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1006:1: insn_format31c : ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) ;
insn_format31c()5450 	public final void insn_format31c() throws RecognitionException {
5451 		CommonTree INSTRUCTION_FORMAT31c151=null;
5452 		CommonTree REGISTER152=null;
5453 		String string_literal153 =null;
5454 
5455 		try {
5456 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1007:3: ( ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) )
5457 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1008:5: ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal )
5458 			{
5459 			match(input,I_STATEMENT_FORMAT31c,FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2716);
5460 			match(input, Token.DOWN, null);
5461 			INSTRUCTION_FORMAT31c151=(CommonTree)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2718);
5462 			REGISTER152=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c2720);
5463 			pushFollow(FOLLOW_string_literal_in_insn_format31c2722);
5464 			string_literal153=string_literal();
5465 			state._fsp--;
5466 
5467 			match(input, Token.UP, null);
5468 
5469 
5470 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31c151!=null?INSTRUCTION_FORMAT31c151.getText():null));
5471 			      short regA = parseRegister_byte((REGISTER152!=null?REGISTER152.getText():null));
5472 
5473 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31c(opcode, regA,
5474 			              dexBuilder.internStringReference(string_literal153)));
5475 
5476 			}
5477 
5478 		}
5479 		catch (RecognitionException re) {
5480 			reportError(re);
5481 			recover(input,re);
5482 		}
5483 		finally {
5484 			// do for sure before leaving
5485 		}
5486 	}
5487 	// $ANTLR end "insn_format31c"
5488 
5489 
5490 
5491 	// $ANTLR start "insn_format31i"
5492 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1017:1: insn_format31i : ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) ;
insn_format31i()5493 	public final void insn_format31i() throws RecognitionException {
5494 		CommonTree INSTRUCTION_FORMAT31i154=null;
5495 		CommonTree REGISTER155=null;
5496 		int fixed_32bit_literal156 =0;
5497 
5498 		try {
5499 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1018:3: ( ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) )
5500 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1019:5: ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal )
5501 			{
5502 			match(input,I_STATEMENT_FORMAT31i,FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2745);
5503 			match(input, Token.DOWN, null);
5504 			INSTRUCTION_FORMAT31i154=(CommonTree)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2747);
5505 			REGISTER155=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i2749);
5506 			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i2751);
5507 			fixed_32bit_literal156=fixed_32bit_literal();
5508 			state._fsp--;
5509 
5510 			match(input, Token.UP, null);
5511 
5512 
5513 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31i154!=null?INSTRUCTION_FORMAT31i154.getText():null));
5514 			      short regA = parseRegister_byte((REGISTER155!=null?REGISTER155.getText():null));
5515 
5516 			      int litB = fixed_32bit_literal156;
5517 
5518 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31i(opcode, regA, litB));
5519 
5520 			}
5521 
5522 		}
5523 		catch (RecognitionException re) {
5524 			reportError(re);
5525 			recover(input,re);
5526 		}
5527 		finally {
5528 			// do for sure before leaving
5529 		}
5530 	}
5531 	// $ANTLR end "insn_format31i"
5532 
5533 
5534 
5535 	// $ANTLR start "insn_format31t"
5536 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1029:1: insn_format31t : ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) ;
insn_format31t()5537 	public final void insn_format31t() throws RecognitionException {
5538 		CommonTree INSTRUCTION_FORMAT31t157=null;
5539 		CommonTree REGISTER158=null;
5540 		Label label_ref159 =null;
5541 
5542 		try {
5543 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1030:3: ( ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) )
5544 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1031:5: ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref )
5545 			{
5546 			match(input,I_STATEMENT_FORMAT31t,FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2774);
5547 			match(input, Token.DOWN, null);
5548 			INSTRUCTION_FORMAT31t157=(CommonTree)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2776);
5549 			REGISTER158=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t2778);
5550 			pushFollow(FOLLOW_label_ref_in_insn_format31t2780);
5551 			label_ref159=label_ref();
5552 			state._fsp--;
5553 
5554 			match(input, Token.UP, null);
5555 
5556 
5557 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31t157!=null?INSTRUCTION_FORMAT31t157.getText():null));
5558 
5559 			      short regA = parseRegister_byte((REGISTER158!=null?REGISTER158.getText():null));
5560 
5561 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31t(opcode, regA, label_ref159));
5562 
5563 			}
5564 
5565 		}
5566 		catch (RecognitionException re) {
5567 			reportError(re);
5568 			recover(input,re);
5569 		}
5570 		finally {
5571 			// do for sure before leaving
5572 		}
5573 	}
5574 	// $ANTLR end "insn_format31t"
5575 
5576 
5577 
5578 	// $ANTLR start "insn_format32x"
5579 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1040:1: insn_format32x : ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) ;
insn_format32x()5580 	public final void insn_format32x() throws RecognitionException {
5581 		CommonTree registerA=null;
5582 		CommonTree registerB=null;
5583 		CommonTree INSTRUCTION_FORMAT32x160=null;
5584 
5585 		try {
5586 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1041:3: ( ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) )
5587 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1042:5: ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER )
5588 			{
5589 			match(input,I_STATEMENT_FORMAT32x,FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2803);
5590 			match(input, Token.DOWN, null);
5591 			INSTRUCTION_FORMAT32x160=(CommonTree)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2805);
5592 			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2809);
5593 			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2813);
5594 			match(input, Token.UP, null);
5595 
5596 
5597 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT32x160!=null?INSTRUCTION_FORMAT32x160.getText():null));
5598 			      int regA = parseRegister_short((registerA!=null?registerA.getText():null));
5599 			      int regB = parseRegister_short((registerB!=null?registerB.getText():null));
5600 
5601 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction32x(opcode, regA, regB));
5602 
5603 			}
5604 
5605 		}
5606 		catch (RecognitionException re) {
5607 			reportError(re);
5608 			recover(input,re);
5609 		}
5610 		finally {
5611 			// do for sure before leaving
5612 		}
5613 	}
5614 	// $ANTLR end "insn_format32x"
5615 
5616 
5617 
5618 	// $ANTLR start "insn_format35c_method"
5619 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1051:1: insn_format35c_method : ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) ;
insn_format35c_method()5620 	public final void insn_format35c_method() throws RecognitionException {
5621 		CommonTree INSTRUCTION_FORMAT35c_METHOD161=null;
5622 		TreeRuleReturnScope register_list162 =null;
5623 		ImmutableMethodReference method_reference163 =null;
5624 
5625 		try {
5626 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1052:3: ( ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) )
5627 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1053:5: ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference )
5628 			{
5629 			match(input,I_STATEMENT_FORMAT35c_METHOD,FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2836);
5630 			match(input, Token.DOWN, null);
5631 			INSTRUCTION_FORMAT35c_METHOD161=(CommonTree)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2838);
5632 			pushFollow(FOLLOW_register_list_in_insn_format35c_method2840);
5633 			register_list162=register_list();
5634 			state._fsp--;
5635 
5636 			pushFollow(FOLLOW_method_reference_in_insn_format35c_method2842);
5637 			method_reference163=method_reference();
5638 			state._fsp--;
5639 
5640 			match(input, Token.UP, null);
5641 
5642 
5643 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT35c_METHOD161!=null?INSTRUCTION_FORMAT35c_METHOD161.getText():null));
5644 
5645 			      //this depends on the fact that register_list returns a byte[5]
5646 			      byte[] registers = (register_list162!=null?((smaliTreeWalker.register_list_return)register_list162).registers:null);
5647 			      byte registerCount = (register_list162!=null?((smaliTreeWalker.register_list_return)register_list162).registerCount:0);
5648 
5649 			      ImmutableMethodReference methodReference = method_reference163;
5650 
5651 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction35c(opcode, registerCount, registers[0], registers[1],
5652 			              registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
5653 
5654 			}
5655 
5656 		}
5657 		catch (RecognitionException re) {
5658 			reportError(re);
5659 			recover(input,re);
5660 		}
5661 		finally {
5662 			// do for sure before leaving
5663 		}
5664 	}
5665 	// $ANTLR end "insn_format35c_method"
5666 
5667 
5668 
5669 	// $ANTLR start "insn_format35c_type"
5670 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1067:1: insn_format35c_type : ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ;
insn_format35c_type()5671 	public final void insn_format35c_type() throws RecognitionException {
5672 		CommonTree INSTRUCTION_FORMAT35c_TYPE164=null;
5673 		TreeRuleReturnScope register_list165 =null;
5674 		TreeRuleReturnScope nonvoid_type_descriptor166 =null;
5675 
5676 		try {
5677 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1068:3: ( ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) )
5678 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1069:5: ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
5679 			{
5680 			match(input,I_STATEMENT_FORMAT35c_TYPE,FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2865);
5681 			match(input, Token.DOWN, null);
5682 			INSTRUCTION_FORMAT35c_TYPE164=(CommonTree)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2867);
5683 			pushFollow(FOLLOW_register_list_in_insn_format35c_type2869);
5684 			register_list165=register_list();
5685 			state._fsp--;
5686 
5687 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2871);
5688 			nonvoid_type_descriptor166=nonvoid_type_descriptor();
5689 			state._fsp--;
5690 
5691 			match(input, Token.UP, null);
5692 
5693 
5694 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT35c_TYPE164!=null?INSTRUCTION_FORMAT35c_TYPE164.getText():null));
5695 
5696 			      //this depends on the fact that register_list returns a byte[5]
5697 			      byte[] registers = (register_list165!=null?((smaliTreeWalker.register_list_return)register_list165).registers:null);
5698 			      byte registerCount = (register_list165!=null?((smaliTreeWalker.register_list_return)register_list165).registerCount:0);
5699 
5700 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction35c(opcode, registerCount, registers[0], registers[1],
5701 			              registers[2], registers[3], registers[4], dexBuilder.internTypeReference((nonvoid_type_descriptor166!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor166).type:null))));
5702 
5703 			}
5704 
5705 		}
5706 		catch (RecognitionException re) {
5707 			reportError(re);
5708 			recover(input,re);
5709 		}
5710 		finally {
5711 			// do for sure before leaving
5712 		}
5713 	}
5714 	// $ANTLR end "insn_format35c_type"
5715 
5716 
5717 
5718 	// $ANTLR start "insn_format3rc_method"
5719 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1081:1: insn_format3rc_method : ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) ;
insn_format3rc_method()5720 	public final void insn_format3rc_method() throws RecognitionException {
5721 		CommonTree INSTRUCTION_FORMAT3rc_METHOD167=null;
5722 		TreeRuleReturnScope register_range168 =null;
5723 		ImmutableMethodReference method_reference169 =null;
5724 
5725 		try {
5726 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1082:3: ( ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) )
5727 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1083:5: ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference )
5728 			{
5729 			match(input,I_STATEMENT_FORMAT3rc_METHOD,FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2894);
5730 			match(input, Token.DOWN, null);
5731 			INSTRUCTION_FORMAT3rc_METHOD167=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2896);
5732 			pushFollow(FOLLOW_register_range_in_insn_format3rc_method2898);
5733 			register_range168=register_range();
5734 			state._fsp--;
5735 
5736 			pushFollow(FOLLOW_method_reference_in_insn_format3rc_method2900);
5737 			method_reference169=method_reference();
5738 			state._fsp--;
5739 
5740 			match(input, Token.UP, null);
5741 
5742 
5743 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT3rc_METHOD167!=null?INSTRUCTION_FORMAT3rc_METHOD167.getText():null));
5744 			      int startRegister = (register_range168!=null?((smaliTreeWalker.register_range_return)register_range168).startRegister:0);
5745 			      int endRegister = (register_range168!=null?((smaliTreeWalker.register_range_return)register_range168).endRegister:0);
5746 
5747 			      int registerCount = endRegister-startRegister+1;
5748 
5749 			      ImmutableMethodReference methodReference = method_reference169;
5750 
5751 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction3rc(opcode, startRegister, registerCount,
5752 			              dexBuilder.internMethodReference(methodReference)));
5753 
5754 			}
5755 
5756 		}
5757 		catch (RecognitionException re) {
5758 			reportError(re);
5759 			recover(input,re);
5760 		}
5761 		finally {
5762 			// do for sure before leaving
5763 		}
5764 	}
5765 	// $ANTLR end "insn_format3rc_method"
5766 
5767 
5768 
5769 	// $ANTLR start "insn_format3rc_type"
5770 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1097:1: insn_format3rc_type : ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ;
insn_format3rc_type()5771 	public final void insn_format3rc_type() throws RecognitionException {
5772 		CommonTree INSTRUCTION_FORMAT3rc_TYPE170=null;
5773 		TreeRuleReturnScope register_range171 =null;
5774 		TreeRuleReturnScope nonvoid_type_descriptor172 =null;
5775 
5776 		try {
5777 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1098:3: ( ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) )
5778 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1099:5: ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
5779 			{
5780 			match(input,I_STATEMENT_FORMAT3rc_TYPE,FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2923);
5781 			match(input, Token.DOWN, null);
5782 			INSTRUCTION_FORMAT3rc_TYPE170=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2925);
5783 			pushFollow(FOLLOW_register_range_in_insn_format3rc_type2927);
5784 			register_range171=register_range();
5785 			state._fsp--;
5786 
5787 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2929);
5788 			nonvoid_type_descriptor172=nonvoid_type_descriptor();
5789 			state._fsp--;
5790 
5791 			match(input, Token.UP, null);
5792 
5793 
5794 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT3rc_TYPE170!=null?INSTRUCTION_FORMAT3rc_TYPE170.getText():null));
5795 			      int startRegister = (register_range171!=null?((smaliTreeWalker.register_range_return)register_range171).startRegister:0);
5796 			      int endRegister = (register_range171!=null?((smaliTreeWalker.register_range_return)register_range171).endRegister:0);
5797 
5798 			      int registerCount = endRegister-startRegister+1;
5799 
5800 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction3rc(opcode, startRegister, registerCount,
5801 			              dexBuilder.internTypeReference((nonvoid_type_descriptor172!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor172).type:null))));
5802 
5803 			}
5804 
5805 		}
5806 		catch (RecognitionException re) {
5807 			reportError(re);
5808 			recover(input,re);
5809 		}
5810 		finally {
5811 			// do for sure before leaving
5812 		}
5813 	}
5814 	// $ANTLR end "insn_format3rc_type"
5815 
5816 
5817 
5818 	// $ANTLR start "insn_format51l_type"
5819 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1111:1: insn_format51l_type : ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) ;
insn_format51l_type()5820 	public final void insn_format51l_type() throws RecognitionException {
5821 		CommonTree INSTRUCTION_FORMAT51l173=null;
5822 		CommonTree REGISTER174=null;
5823 		long fixed_64bit_literal175 =0;
5824 
5825 		try {
5826 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1112:3: ( ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) )
5827 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1113:5: ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal )
5828 			{
5829 			match(input,I_STATEMENT_FORMAT51l,FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2952);
5830 			match(input, Token.DOWN, null);
5831 			INSTRUCTION_FORMAT51l173=(CommonTree)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2954);
5832 			REGISTER174=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l_type2956);
5833 			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format51l_type2958);
5834 			fixed_64bit_literal175=fixed_64bit_literal();
5835 			state._fsp--;
5836 
5837 			match(input, Token.UP, null);
5838 
5839 
5840 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT51l173!=null?INSTRUCTION_FORMAT51l173.getText():null));
5841 			      short regA = parseRegister_byte((REGISTER174!=null?REGISTER174.getText():null));
5842 
5843 			      long litB = fixed_64bit_literal175;
5844 
5845 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction51l(opcode, regA, litB));
5846 
5847 			}
5848 
5849 		}
5850 		catch (RecognitionException re) {
5851 			reportError(re);
5852 			recover(input,re);
5853 		}
5854 		finally {
5855 			// do for sure before leaving
5856 		}
5857 	}
5858 	// $ANTLR end "insn_format51l_type"
5859 
5860 
5861 
5862 	// $ANTLR start "insn_array_data_directive"
5863 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1123:1: insn_array_data_directive : ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) ;
insn_array_data_directive()5864 	public final void insn_array_data_directive() throws RecognitionException {
5865 		short short_integral_literal176 =0;
5866 		List<Number> array_elements177 =null;
5867 
5868 		try {
5869 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1124:3: ( ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) )
5870 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1125:5: ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements )
5871 			{
5872 			match(input,I_STATEMENT_ARRAY_DATA,FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2981);
5873 			match(input, Token.DOWN, null);
5874 			match(input,I_ARRAY_ELEMENT_SIZE,FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2984);
5875 			match(input, Token.DOWN, null);
5876 			pushFollow(FOLLOW_short_integral_literal_in_insn_array_data_directive2986);
5877 			short_integral_literal176=short_integral_literal();
5878 			state._fsp--;
5879 
5880 			match(input, Token.UP, null);
5881 
5882 			pushFollow(FOLLOW_array_elements_in_insn_array_data_directive2989);
5883 			array_elements177=array_elements();
5884 			state._fsp--;
5885 
5886 			match(input, Token.UP, null);
5887 
5888 
5889 			      int elementWidth = short_integral_literal176;
5890 			      List<Number> elements = array_elements177;
5891 
5892 			      method_stack.peek().methodBuilder.addInstruction(new BuilderArrayPayload(elementWidth, array_elements177));
5893 
5894 			}
5895 
5896 		}
5897 		catch (RecognitionException re) {
5898 			reportError(re);
5899 			recover(input,re);
5900 		}
5901 		finally {
5902 			// do for sure before leaving
5903 		}
5904 	}
5905 	// $ANTLR end "insn_array_data_directive"
5906 
5907 
5908 
5909 	// $ANTLR start "insn_packed_switch_directive"
5910 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1133:1: insn_packed_switch_directive : ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) ;
insn_packed_switch_directive()5911 	public final void insn_packed_switch_directive() throws RecognitionException {
5912 		int fixed_32bit_literal178 =0;
5913 		List<Label> packed_switch_elements179 =null;
5914 
5915 		try {
5916 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1134:3: ( ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) )
5917 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1135:5: ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements )
5918 			{
5919 			match(input,I_STATEMENT_PACKED_SWITCH,FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3011);
5920 			match(input, Token.DOWN, null);
5921 			match(input,I_PACKED_SWITCH_START_KEY,FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3014);
5922 			match(input, Token.DOWN, null);
5923 			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3016);
5924 			fixed_32bit_literal178=fixed_32bit_literal();
5925 			state._fsp--;
5926 
5927 			match(input, Token.UP, null);
5928 
5929 			pushFollow(FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3019);
5930 			packed_switch_elements179=packed_switch_elements();
5931 			state._fsp--;
5932 
5933 			match(input, Token.UP, null);
5934 
5935 
5936 			        int startKey = fixed_32bit_literal178;
5937 			        method_stack.peek().methodBuilder.addInstruction(new BuilderPackedSwitchPayload(startKey,
5938 			            packed_switch_elements179));
5939 
5940 			}
5941 
5942 		}
5943 		catch (RecognitionException re) {
5944 			reportError(re);
5945 			recover(input,re);
5946 		}
5947 		finally {
5948 			// do for sure before leaving
5949 		}
5950 	}
5951 	// $ANTLR end "insn_packed_switch_directive"
5952 
5953 
5954 
5955 	// $ANTLR start "insn_sparse_switch_directive"
5956 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1142:1: insn_sparse_switch_directive : ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) ;
insn_sparse_switch_directive()5957 	public final void insn_sparse_switch_directive() throws RecognitionException {
5958 		List<SwitchLabelElement> sparse_switch_elements180 =null;
5959 
5960 		try {
5961 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1143:3: ( ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) )
5962 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1144:5: ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements )
5963 			{
5964 			match(input,I_STATEMENT_SPARSE_SWITCH,FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3043);
5965 			match(input, Token.DOWN, null);
5966 			pushFollow(FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3045);
5967 			sparse_switch_elements180=sparse_switch_elements();
5968 			state._fsp--;
5969 
5970 			match(input, Token.UP, null);
5971 
5972 
5973 			      method_stack.peek().methodBuilder.addInstruction(new BuilderSparseSwitchPayload(sparse_switch_elements180));
5974 
5975 			}
5976 
5977 		}
5978 		catch (RecognitionException re) {
5979 			reportError(re);
5980 			recover(input,re);
5981 		}
5982 		finally {
5983 			// do for sure before leaving
5984 		}
5985 	}
5986 	// $ANTLR end "insn_sparse_switch_directive"
5987 
5988 
5989 	public static class nonvoid_type_descriptor_return extends TreeRuleReturnScope {
5990 		public String type;
5991 	};
5992 
5993 
5994 	// $ANTLR start "nonvoid_type_descriptor"
5995 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1149:1: nonvoid_type_descriptor returns [String type] : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
nonvoid_type_descriptor()5996 	public final smaliTreeWalker.nonvoid_type_descriptor_return nonvoid_type_descriptor() throws RecognitionException {
5997 		smaliTreeWalker.nonvoid_type_descriptor_return retval = new smaliTreeWalker.nonvoid_type_descriptor_return();
5998 		retval.start = input.LT(1);
5999 
6000 		try {
6001 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1150:3: ( ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
6002 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1150:5: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
6003 			{
6004 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE ) {
6005 				input.consume();
6006 				state.errorRecovery=false;
6007 			}
6008 			else {
6009 				MismatchedSetException mse = new MismatchedSetException(null,input);
6010 				throw mse;
6011 			}
6012 
6013 			    retval.type = ((CommonTree)retval.start).getText();
6014 
6015 			}
6016 
6017 		}
6018 		catch (RecognitionException re) {
6019 			reportError(re);
6020 			recover(input,re);
6021 		}
6022 		finally {
6023 			// do for sure before leaving
6024 		}
6025 		return retval;
6026 	}
6027 	// $ANTLR end "nonvoid_type_descriptor"
6028 
6029 
6030 	public static class reference_type_descriptor_return extends TreeRuleReturnScope {
6031 		public String type;
6032 	};
6033 
6034 
6035 	// $ANTLR start "reference_type_descriptor"
6036 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1157:1: reference_type_descriptor returns [String type] : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
reference_type_descriptor()6037 	public final smaliTreeWalker.reference_type_descriptor_return reference_type_descriptor() throws RecognitionException {
6038 		smaliTreeWalker.reference_type_descriptor_return retval = new smaliTreeWalker.reference_type_descriptor_return();
6039 		retval.start = input.LT(1);
6040 
6041 		try {
6042 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:3: ( ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
6043 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:5: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
6044 			{
6045 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR ) {
6046 				input.consume();
6047 				state.errorRecovery=false;
6048 			}
6049 			else {
6050 				MismatchedSetException mse = new MismatchedSetException(null,input);
6051 				throw mse;
6052 			}
6053 
6054 			    retval.type = ((CommonTree)retval.start).getText();
6055 
6056 			}
6057 
6058 		}
6059 		catch (RecognitionException re) {
6060 			reportError(re);
6061 			recover(input,re);
6062 		}
6063 		finally {
6064 			// do for sure before leaving
6065 		}
6066 		return retval;
6067 	}
6068 	// $ANTLR end "reference_type_descriptor"
6069 
6070 
6071 
6072 	// $ANTLR start "type_descriptor"
6073 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1164:1: type_descriptor returns [String type] : ( VOID_TYPE | nonvoid_type_descriptor );
type_descriptor()6074 	public final String type_descriptor() throws RecognitionException {
6075 		String type = null;
6076 
6077 
6078 		TreeRuleReturnScope nonvoid_type_descriptor181 =null;
6079 
6080 		try {
6081 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1165:3: ( VOID_TYPE | nonvoid_type_descriptor )
6082 			int alt37=2;
6083 			int LA37_0 = input.LA(1);
6084 			if ( (LA37_0==VOID_TYPE) ) {
6085 				alt37=1;
6086 			}
6087 			else if ( (LA37_0==ARRAY_DESCRIPTOR||LA37_0==CLASS_DESCRIPTOR||LA37_0==PRIMITIVE_TYPE) ) {
6088 				alt37=2;
6089 			}
6090 
6091 			else {
6092 				NoViableAltException nvae =
6093 					new NoViableAltException("", 37, 0, input);
6094 				throw nvae;
6095 			}
6096 
6097 			switch (alt37) {
6098 				case 1 :
6099 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1165:5: VOID_TYPE
6100 					{
6101 					match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_descriptor3124);
6102 					type = "V";
6103 					}
6104 					break;
6105 				case 2 :
6106 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1166:5: nonvoid_type_descriptor
6107 					{
6108 					pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_descriptor3132);
6109 					nonvoid_type_descriptor181=nonvoid_type_descriptor();
6110 					state._fsp--;
6111 
6112 					type = (nonvoid_type_descriptor181!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor181).type:null);
6113 					}
6114 					break;
6115 
6116 			}
6117 		}
6118 		catch (RecognitionException re) {
6119 			reportError(re);
6120 			recover(input,re);
6121 		}
6122 		finally {
6123 			// do for sure before leaving
6124 		}
6125 		return type;
6126 	}
6127 	// $ANTLR end "type_descriptor"
6128 
6129 
6130 
6131 	// $ANTLR start "short_integral_literal"
6132 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1169:1: short_integral_literal returns [short value] : ( long_literal | integer_literal | short_literal | char_literal | byte_literal );
short_integral_literal()6133 	public final short short_integral_literal() throws RecognitionException {
6134 		short value = 0;
6135 
6136 
6137 		long long_literal182 =0;
6138 		int integer_literal183 =0;
6139 		short short_literal184 =0;
6140 		char char_literal185 =0;
6141 		byte byte_literal186 =0;
6142 
6143 		try {
6144 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1170:3: ( long_literal | integer_literal | short_literal | char_literal | byte_literal )
6145 			int alt38=5;
6146 			switch ( input.LA(1) ) {
6147 			case LONG_LITERAL:
6148 				{
6149 				alt38=1;
6150 				}
6151 				break;
6152 			case INTEGER_LITERAL:
6153 				{
6154 				alt38=2;
6155 				}
6156 				break;
6157 			case SHORT_LITERAL:
6158 				{
6159 				alt38=3;
6160 				}
6161 				break;
6162 			case CHAR_LITERAL:
6163 				{
6164 				alt38=4;
6165 				}
6166 				break;
6167 			case BYTE_LITERAL:
6168 				{
6169 				alt38=5;
6170 				}
6171 				break;
6172 			default:
6173 				NoViableAltException nvae =
6174 					new NoViableAltException("", 38, 0, input);
6175 				throw nvae;
6176 			}
6177 			switch (alt38) {
6178 				case 1 :
6179 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1170:5: long_literal
6180 					{
6181 					pushFollow(FOLLOW_long_literal_in_short_integral_literal3150);
6182 					long_literal182=long_literal();
6183 					state._fsp--;
6184 
6185 
6186 					      LiteralTools.checkShort(long_literal182);
6187 					      value = (short)long_literal182;
6188 
6189 					}
6190 					break;
6191 				case 2 :
6192 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1175:5: integer_literal
6193 					{
6194 					pushFollow(FOLLOW_integer_literal_in_short_integral_literal3162);
6195 					integer_literal183=integer_literal();
6196 					state._fsp--;
6197 
6198 
6199 					      LiteralTools.checkShort(integer_literal183);
6200 					      value = (short)integer_literal183;
6201 
6202 					}
6203 					break;
6204 				case 3 :
6205 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1180:5: short_literal
6206 					{
6207 					pushFollow(FOLLOW_short_literal_in_short_integral_literal3174);
6208 					short_literal184=short_literal();
6209 					state._fsp--;
6210 
6211 					value = short_literal184;
6212 					}
6213 					break;
6214 				case 4 :
6215 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1181:5: char_literal
6216 					{
6217 					pushFollow(FOLLOW_char_literal_in_short_integral_literal3182);
6218 					char_literal185=char_literal();
6219 					state._fsp--;
6220 
6221 					value = (short)char_literal185;
6222 					}
6223 					break;
6224 				case 5 :
6225 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1182:5: byte_literal
6226 					{
6227 					pushFollow(FOLLOW_byte_literal_in_short_integral_literal3190);
6228 					byte_literal186=byte_literal();
6229 					state._fsp--;
6230 
6231 					value = byte_literal186;
6232 					}
6233 					break;
6234 
6235 			}
6236 		}
6237 		catch (RecognitionException re) {
6238 			reportError(re);
6239 			recover(input,re);
6240 		}
6241 		finally {
6242 			// do for sure before leaving
6243 		}
6244 		return value;
6245 	}
6246 	// $ANTLR end "short_integral_literal"
6247 
6248 
6249 
6250 	// $ANTLR start "integral_literal"
6251 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1184:1: integral_literal returns [int value] : ( long_literal | integer_literal | short_literal | byte_literal );
integral_literal()6252 	public final int integral_literal() throws RecognitionException {
6253 		int value = 0;
6254 
6255 
6256 		long long_literal187 =0;
6257 		int integer_literal188 =0;
6258 		short short_literal189 =0;
6259 		byte byte_literal190 =0;
6260 
6261 		try {
6262 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1185:3: ( long_literal | integer_literal | short_literal | byte_literal )
6263 			int alt39=4;
6264 			switch ( input.LA(1) ) {
6265 			case LONG_LITERAL:
6266 				{
6267 				alt39=1;
6268 				}
6269 				break;
6270 			case INTEGER_LITERAL:
6271 				{
6272 				alt39=2;
6273 				}
6274 				break;
6275 			case SHORT_LITERAL:
6276 				{
6277 				alt39=3;
6278 				}
6279 				break;
6280 			case BYTE_LITERAL:
6281 				{
6282 				alt39=4;
6283 				}
6284 				break;
6285 			default:
6286 				NoViableAltException nvae =
6287 					new NoViableAltException("", 39, 0, input);
6288 				throw nvae;
6289 			}
6290 			switch (alt39) {
6291 				case 1 :
6292 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1185:5: long_literal
6293 					{
6294 					pushFollow(FOLLOW_long_literal_in_integral_literal3205);
6295 					long_literal187=long_literal();
6296 					state._fsp--;
6297 
6298 
6299 					      LiteralTools.checkInt(long_literal187);
6300 					      value = (int)long_literal187;
6301 
6302 					}
6303 					break;
6304 				case 2 :
6305 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1190:5: integer_literal
6306 					{
6307 					pushFollow(FOLLOW_integer_literal_in_integral_literal3217);
6308 					integer_literal188=integer_literal();
6309 					state._fsp--;
6310 
6311 					value = integer_literal188;
6312 					}
6313 					break;
6314 				case 3 :
6315 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1191:5: short_literal
6316 					{
6317 					pushFollow(FOLLOW_short_literal_in_integral_literal3225);
6318 					short_literal189=short_literal();
6319 					state._fsp--;
6320 
6321 					value = short_literal189;
6322 					}
6323 					break;
6324 				case 4 :
6325 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1192:5: byte_literal
6326 					{
6327 					pushFollow(FOLLOW_byte_literal_in_integral_literal3233);
6328 					byte_literal190=byte_literal();
6329 					state._fsp--;
6330 
6331 					value = byte_literal190;
6332 					}
6333 					break;
6334 
6335 			}
6336 		}
6337 		catch (RecognitionException re) {
6338 			reportError(re);
6339 			recover(input,re);
6340 		}
6341 		finally {
6342 			// do for sure before leaving
6343 		}
6344 		return value;
6345 	}
6346 	// $ANTLR end "integral_literal"
6347 
6348 
6349 
6350 	// $ANTLR start "integer_literal"
6351 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1195:1: integer_literal returns [int value] : INTEGER_LITERAL ;
integer_literal()6352 	public final int integer_literal() throws RecognitionException {
6353 		int value = 0;
6354 
6355 
6356 		CommonTree INTEGER_LITERAL191=null;
6357 
6358 		try {
6359 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:3: ( INTEGER_LITERAL )
6360 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:5: INTEGER_LITERAL
6361 			{
6362 			INTEGER_LITERAL191=(CommonTree)match(input,INTEGER_LITERAL,FOLLOW_INTEGER_LITERAL_in_integer_literal3249);
6363 			 value = LiteralTools.parseInt((INTEGER_LITERAL191!=null?INTEGER_LITERAL191.getText():null));
6364 			}
6365 
6366 		}
6367 		catch (RecognitionException re) {
6368 			reportError(re);
6369 			recover(input,re);
6370 		}
6371 		finally {
6372 			// do for sure before leaving
6373 		}
6374 		return value;
6375 	}
6376 	// $ANTLR end "integer_literal"
6377 
6378 
6379 
6380 	// $ANTLR start "long_literal"
6381 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1198:1: long_literal returns [long value] : LONG_LITERAL ;
long_literal()6382 	public final long long_literal() throws RecognitionException {
6383 		long value = 0;
6384 
6385 
6386 		CommonTree LONG_LITERAL192=null;
6387 
6388 		try {
6389 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:3: ( LONG_LITERAL )
6390 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:5: LONG_LITERAL
6391 			{
6392 			LONG_LITERAL192=(CommonTree)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_long_literal3264);
6393 			 value = LiteralTools.parseLong((LONG_LITERAL192!=null?LONG_LITERAL192.getText():null));
6394 			}
6395 
6396 		}
6397 		catch (RecognitionException re) {
6398 			reportError(re);
6399 			recover(input,re);
6400 		}
6401 		finally {
6402 			// do for sure before leaving
6403 		}
6404 		return value;
6405 	}
6406 	// $ANTLR end "long_literal"
6407 
6408 
6409 
6410 	// $ANTLR start "short_literal"
6411 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1201:1: short_literal returns [short value] : SHORT_LITERAL ;
short_literal()6412 	public final short short_literal() throws RecognitionException {
6413 		short value = 0;
6414 
6415 
6416 		CommonTree SHORT_LITERAL193=null;
6417 
6418 		try {
6419 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:3: ( SHORT_LITERAL )
6420 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:5: SHORT_LITERAL
6421 			{
6422 			SHORT_LITERAL193=(CommonTree)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_short_literal3279);
6423 			 value = LiteralTools.parseShort((SHORT_LITERAL193!=null?SHORT_LITERAL193.getText():null));
6424 			}
6425 
6426 		}
6427 		catch (RecognitionException re) {
6428 			reportError(re);
6429 			recover(input,re);
6430 		}
6431 		finally {
6432 			// do for sure before leaving
6433 		}
6434 		return value;
6435 	}
6436 	// $ANTLR end "short_literal"
6437 
6438 
6439 
6440 	// $ANTLR start "byte_literal"
6441 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1204:1: byte_literal returns [byte value] : BYTE_LITERAL ;
byte_literal()6442 	public final byte byte_literal() throws RecognitionException {
6443 		byte value = 0;
6444 
6445 
6446 		CommonTree BYTE_LITERAL194=null;
6447 
6448 		try {
6449 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:3: ( BYTE_LITERAL )
6450 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:5: BYTE_LITERAL
6451 			{
6452 			BYTE_LITERAL194=(CommonTree)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_byte_literal3294);
6453 			 value = LiteralTools.parseByte((BYTE_LITERAL194!=null?BYTE_LITERAL194.getText():null));
6454 			}
6455 
6456 		}
6457 		catch (RecognitionException re) {
6458 			reportError(re);
6459 			recover(input,re);
6460 		}
6461 		finally {
6462 			// do for sure before leaving
6463 		}
6464 		return value;
6465 	}
6466 	// $ANTLR end "byte_literal"
6467 
6468 
6469 
6470 	// $ANTLR start "float_literal"
6471 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1207:1: float_literal returns [float value] : FLOAT_LITERAL ;
float_literal()6472 	public final float float_literal() throws RecognitionException {
6473 		float value = 0.0f;
6474 
6475 
6476 		CommonTree FLOAT_LITERAL195=null;
6477 
6478 		try {
6479 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1208:3: ( FLOAT_LITERAL )
6480 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1208:5: FLOAT_LITERAL
6481 			{
6482 			FLOAT_LITERAL195=(CommonTree)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal3309);
6483 			 value = LiteralTools.parseFloat((FLOAT_LITERAL195!=null?FLOAT_LITERAL195.getText():null));
6484 			}
6485 
6486 		}
6487 		catch (RecognitionException re) {
6488 			reportError(re);
6489 			recover(input,re);
6490 		}
6491 		finally {
6492 			// do for sure before leaving
6493 		}
6494 		return value;
6495 	}
6496 	// $ANTLR end "float_literal"
6497 
6498 
6499 
6500 	// $ANTLR start "double_literal"
6501 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1210:1: double_literal returns [double value] : DOUBLE_LITERAL ;
double_literal()6502 	public final double double_literal() throws RecognitionException {
6503 		double value = 0.0;
6504 
6505 
6506 		CommonTree DOUBLE_LITERAL196=null;
6507 
6508 		try {
6509 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1211:3: ( DOUBLE_LITERAL )
6510 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1211:5: DOUBLE_LITERAL
6511 			{
6512 			DOUBLE_LITERAL196=(CommonTree)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal3324);
6513 			 value = LiteralTools.parseDouble((DOUBLE_LITERAL196!=null?DOUBLE_LITERAL196.getText():null));
6514 			}
6515 
6516 		}
6517 		catch (RecognitionException re) {
6518 			reportError(re);
6519 			recover(input,re);
6520 		}
6521 		finally {
6522 			// do for sure before leaving
6523 		}
6524 		return value;
6525 	}
6526 	// $ANTLR end "double_literal"
6527 
6528 
6529 
6530 	// $ANTLR start "char_literal"
6531 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1213:1: char_literal returns [char value] : CHAR_LITERAL ;
char_literal()6532 	public final char char_literal() throws RecognitionException {
6533 		char value = 0;
6534 
6535 
6536 		CommonTree CHAR_LITERAL197=null;
6537 
6538 		try {
6539 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1214:3: ( CHAR_LITERAL )
6540 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1214:5: CHAR_LITERAL
6541 			{
6542 			CHAR_LITERAL197=(CommonTree)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_char_literal3339);
6543 			 value = (CHAR_LITERAL197!=null?CHAR_LITERAL197.getText():null).charAt(1);
6544 			}
6545 
6546 		}
6547 		catch (RecognitionException re) {
6548 			reportError(re);
6549 			recover(input,re);
6550 		}
6551 		finally {
6552 			// do for sure before leaving
6553 		}
6554 		return value;
6555 	}
6556 	// $ANTLR end "char_literal"
6557 
6558 
6559 
6560 	// $ANTLR start "string_literal"
6561 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1216:1: string_literal returns [String value] : STRING_LITERAL ;
string_literal()6562 	public final String string_literal() throws RecognitionException {
6563 		String value = null;
6564 
6565 
6566 		CommonTree STRING_LITERAL198=null;
6567 
6568 		try {
6569 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1217:3: ( STRING_LITERAL )
6570 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1217:5: STRING_LITERAL
6571 			{
6572 			STRING_LITERAL198=(CommonTree)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_string_literal3354);
6573 
6574 			      value = (STRING_LITERAL198!=null?STRING_LITERAL198.getText():null);
6575 			      value = value.substring(1,value.length()-1);
6576 
6577 			}
6578 
6579 		}
6580 		catch (RecognitionException re) {
6581 			reportError(re);
6582 			recover(input,re);
6583 		}
6584 		finally {
6585 			// do for sure before leaving
6586 		}
6587 		return value;
6588 	}
6589 	// $ANTLR end "string_literal"
6590 
6591 
6592 
6593 	// $ANTLR start "bool_literal"
6594 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1223:1: bool_literal returns [boolean value] : BOOL_LITERAL ;
bool_literal()6595 	public final boolean bool_literal() throws RecognitionException {
6596 		boolean value = false;
6597 
6598 
6599 		CommonTree BOOL_LITERAL199=null;
6600 
6601 		try {
6602 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1224:3: ( BOOL_LITERAL )
6603 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1224:5: BOOL_LITERAL
6604 			{
6605 			BOOL_LITERAL199=(CommonTree)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_bool_literal3373);
6606 			 value = Boolean.parseBoolean((BOOL_LITERAL199!=null?BOOL_LITERAL199.getText():null));
6607 			}
6608 
6609 		}
6610 		catch (RecognitionException re) {
6611 			reportError(re);
6612 			recover(input,re);
6613 		}
6614 		finally {
6615 			// do for sure before leaving
6616 		}
6617 		return value;
6618 	}
6619 	// $ANTLR end "bool_literal"
6620 
6621 
6622 
6623 	// $ANTLR start "array_literal"
6624 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1226:1: array_literal returns [List<EncodedValue> elements] : ^( I_ENCODED_ARRAY ( literal )* ) ;
array_literal()6625 	public final List<EncodedValue> array_literal() throws RecognitionException {
6626 		List<EncodedValue> elements = null;
6627 
6628 
6629 		EncodedValue literal200 =null;
6630 
6631 		try {
6632 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1227:3: ( ^( I_ENCODED_ARRAY ( literal )* ) )
6633 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1227:5: ^( I_ENCODED_ARRAY ( literal )* )
6634 			{
6635 			elements = Lists.newArrayList();
6636 			match(input,I_ENCODED_ARRAY,FOLLOW_I_ENCODED_ARRAY_in_array_literal3395);
6637 			if ( input.LA(1)==Token.DOWN ) {
6638 				match(input, Token.DOWN, null);
6639 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1228:23: ( literal )*
6640 				loop40:
6641 				while (true) {
6642 					int alt40=2;
6643 					int LA40_0 = input.LA(1);
6644 					if ( (LA40_0==ARRAY_DESCRIPTOR||(LA40_0 >= BOOL_LITERAL && LA40_0 <= BYTE_LITERAL)||(LA40_0 >= CHAR_LITERAL && LA40_0 <= CLASS_DESCRIPTOR)||LA40_0==DOUBLE_LITERAL||LA40_0==FLOAT_LITERAL||LA40_0==INTEGER_LITERAL||(LA40_0 >= I_ENCODED_ARRAY && LA40_0 <= I_ENCODED_METHOD)||LA40_0==I_SUBANNOTATION||LA40_0==LONG_LITERAL||LA40_0==NULL_LITERAL||LA40_0==PRIMITIVE_TYPE||LA40_0==SHORT_LITERAL||LA40_0==STRING_LITERAL||LA40_0==VOID_TYPE) ) {
6645 						alt40=1;
6646 					}
6647 
6648 					switch (alt40) {
6649 					case 1 :
6650 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1228:24: literal
6651 						{
6652 						pushFollow(FOLLOW_literal_in_array_literal3398);
6653 						literal200=literal();
6654 						state._fsp--;
6655 
6656 						elements.add(literal200);
6657 						}
6658 						break;
6659 
6660 					default :
6661 						break loop40;
6662 					}
6663 				}
6664 
6665 				match(input, Token.UP, null);
6666 			}
6667 
6668 			}
6669 
6670 		}
6671 		catch (RecognitionException re) {
6672 			reportError(re);
6673 			recover(input,re);
6674 		}
6675 		finally {
6676 			// do for sure before leaving
6677 		}
6678 		return elements;
6679 	}
6680 	// $ANTLR end "array_literal"
6681 
6682 
6683 
6684 	// $ANTLR start "annotations"
6685 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1230:1: annotations returns [Set<Annotation> annotations] : ^( I_ANNOTATIONS ( annotation )* ) ;
annotations()6686 	public final Set<Annotation> annotations() throws RecognitionException {
6687 		Set<Annotation> annotations = null;
6688 
6689 
6690 		Annotation annotation201 =null;
6691 
6692 		try {
6693 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1231:3: ( ^( I_ANNOTATIONS ( annotation )* ) )
6694 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1231:5: ^( I_ANNOTATIONS ( annotation )* )
6695 			{
6696 			HashMap<String, Annotation> annotationMap = Maps.newHashMap();
6697 			match(input,I_ANNOTATIONS,FOLLOW_I_ANNOTATIONS_in_annotations3423);
6698 			if ( input.LA(1)==Token.DOWN ) {
6699 				match(input, Token.DOWN, null);
6700 				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1232:21: ( annotation )*
6701 				loop41:
6702 				while (true) {
6703 					int alt41=2;
6704 					int LA41_0 = input.LA(1);
6705 					if ( (LA41_0==I_ANNOTATION) ) {
6706 						alt41=1;
6707 					}
6708 
6709 					switch (alt41) {
6710 					case 1 :
6711 						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1232:22: annotation
6712 						{
6713 						pushFollow(FOLLOW_annotation_in_annotations3426);
6714 						annotation201=annotation();
6715 						state._fsp--;
6716 
6717 
6718 						        Annotation anno = annotation201;
6719 						        Annotation old = annotationMap.put(anno.getType(), anno);
6720 						        if (old != null) {
6721 						            throw new SemanticException(input, "Multiple annotations of type %s", anno.getType());
6722 						        }
6723 
6724 						}
6725 						break;
6726 
6727 					default :
6728 						break loop41;
6729 					}
6730 				}
6731 
6732 				match(input, Token.UP, null);
6733 			}
6734 
6735 
6736 			      if (annotationMap.size() > 0) {
6737 			        annotations = ImmutableSet.copyOf(annotationMap.values());
6738 			      }
6739 
6740 			}
6741 
6742 		}
6743 		catch (RecognitionException re) {
6744 			reportError(re);
6745 			recover(input,re);
6746 		}
6747 		finally {
6748 			// do for sure before leaving
6749 		}
6750 		return annotations;
6751 	}
6752 	// $ANTLR end "annotations"
6753 
6754 
6755 
6756 	// $ANTLR start "annotation"
6757 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1246:1: annotation returns [Annotation annotation] : ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) ;
annotation()6758 	public final Annotation annotation() throws RecognitionException {
6759 		Annotation annotation = null;
6760 
6761 
6762 		CommonTree ANNOTATION_VISIBILITY202=null;
6763 		TreeRuleReturnScope subannotation203 =null;
6764 
6765 		try {
6766 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1247:3: ( ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) )
6767 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1247:5: ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation )
6768 			{
6769 			match(input,I_ANNOTATION,FOLLOW_I_ANNOTATION_in_annotation3455);
6770 			match(input, Token.DOWN, null);
6771 			ANNOTATION_VISIBILITY202=(CommonTree)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation3457);
6772 			pushFollow(FOLLOW_subannotation_in_annotation3459);
6773 			subannotation203=subannotation();
6774 			state._fsp--;
6775 
6776 			match(input, Token.UP, null);
6777 
6778 
6779 			      int visibility = AnnotationVisibility.getVisibility((ANNOTATION_VISIBILITY202!=null?ANNOTATION_VISIBILITY202.getText():null));
6780 			      annotation = new ImmutableAnnotation(visibility, (subannotation203!=null?((smaliTreeWalker.subannotation_return)subannotation203).annotationType:null), (subannotation203!=null?((smaliTreeWalker.subannotation_return)subannotation203).elements:null));
6781 
6782 			}
6783 
6784 		}
6785 		catch (RecognitionException re) {
6786 			reportError(re);
6787 			recover(input,re);
6788 		}
6789 		finally {
6790 			// do for sure before leaving
6791 		}
6792 		return annotation;
6793 	}
6794 	// $ANTLR end "annotation"
6795 
6796 
6797 
6798 	// $ANTLR start "annotation_element"
6799 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1253:1: annotation_element returns [AnnotationElement element] : ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) ;
annotation_element()6800 	public final AnnotationElement annotation_element() throws RecognitionException {
6801 		AnnotationElement element = null;
6802 
6803 
6804 		CommonTree SIMPLE_NAME204=null;
6805 		EncodedValue literal205 =null;
6806 
6807 		try {
6808 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1254:3: ( ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) )
6809 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1254:5: ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal )
6810 			{
6811 			match(input,I_ANNOTATION_ELEMENT,FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3480);
6812 			match(input, Token.DOWN, null);
6813 			SIMPLE_NAME204=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_annotation_element3482);
6814 			pushFollow(FOLLOW_literal_in_annotation_element3484);
6815 			literal205=literal();
6816 			state._fsp--;
6817 
6818 			match(input, Token.UP, null);
6819 
6820 
6821 			      element = new ImmutableAnnotationElement((SIMPLE_NAME204!=null?SIMPLE_NAME204.getText():null), literal205);
6822 
6823 			}
6824 
6825 		}
6826 		catch (RecognitionException re) {
6827 			reportError(re);
6828 			recover(input,re);
6829 		}
6830 		finally {
6831 			// do for sure before leaving
6832 		}
6833 		return element;
6834 	}
6835 	// $ANTLR end "annotation_element"
6836 
6837 
6838 	public static class subannotation_return extends TreeRuleReturnScope {
6839 		public String annotationType;
6840 		public List<AnnotationElement> elements;
6841 	};
6842 
6843 
6844 	// $ANTLR start "subannotation"
6845 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1259:1: subannotation returns [String annotationType, List<AnnotationElement> elements] : ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) ;
subannotation()6846 	public final smaliTreeWalker.subannotation_return subannotation() throws RecognitionException {
6847 		smaliTreeWalker.subannotation_return retval = new smaliTreeWalker.subannotation_return();
6848 		retval.start = input.LT(1);
6849 
6850 		CommonTree CLASS_DESCRIPTOR207=null;
6851 		AnnotationElement annotation_element206 =null;
6852 
6853 		try {
6854 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1260:3: ( ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) )
6855 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1260:5: ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* )
6856 			{
6857 			ArrayList<AnnotationElement> elements = Lists.newArrayList();
6858 			match(input,I_SUBANNOTATION,FOLLOW_I_SUBANNOTATION_in_subannotation3511);
6859 			match(input, Token.DOWN, null);
6860 			CLASS_DESCRIPTOR207=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation3521);
6861 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1263:9: ( annotation_element )*
6862 			loop42:
6863 			while (true) {
6864 				int alt42=2;
6865 				int LA42_0 = input.LA(1);
6866 				if ( (LA42_0==I_ANNOTATION_ELEMENT) ) {
6867 					alt42=1;
6868 				}
6869 
6870 				switch (alt42) {
6871 				case 1 :
6872 					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1263:10: annotation_element
6873 					{
6874 					pushFollow(FOLLOW_annotation_element_in_subannotation3532);
6875 					annotation_element206=annotation_element();
6876 					state._fsp--;
6877 
6878 
6879 					           elements.add(annotation_element206);
6880 
6881 					}
6882 					break;
6883 
6884 				default :
6885 					break loop42;
6886 				}
6887 			}
6888 
6889 			match(input, Token.UP, null);
6890 
6891 
6892 			      retval.annotationType = (CLASS_DESCRIPTOR207!=null?CLASS_DESCRIPTOR207.getText():null);
6893 			      retval.elements = elements;
6894 
6895 			}
6896 
6897 		}
6898 		catch (RecognitionException re) {
6899 			reportError(re);
6900 			recover(input,re);
6901 		}
6902 		finally {
6903 			// do for sure before leaving
6904 		}
6905 		return retval;
6906 	}
6907 	// $ANTLR end "subannotation"
6908 
6909 
6910 
6911 	// $ANTLR start "field_literal"
6912 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1273:1: field_literal returns [FieldReference value] : ^( I_ENCODED_FIELD field_reference ) ;
field_literal()6913 	public final FieldReference field_literal() throws RecognitionException {
6914 		FieldReference value = null;
6915 
6916 
6917 		ImmutableFieldReference field_reference208 =null;
6918 
6919 		try {
6920 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:3: ( ^( I_ENCODED_FIELD field_reference ) )
6921 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:5: ^( I_ENCODED_FIELD field_reference )
6922 			{
6923 			match(input,I_ENCODED_FIELD,FOLLOW_I_ENCODED_FIELD_in_field_literal3571);
6924 			match(input, Token.DOWN, null);
6925 			pushFollow(FOLLOW_field_reference_in_field_literal3573);
6926 			field_reference208=field_reference();
6927 			state._fsp--;
6928 
6929 			match(input, Token.UP, null);
6930 
6931 
6932 			      value = field_reference208;
6933 
6934 			}
6935 
6936 		}
6937 		catch (RecognitionException re) {
6938 			reportError(re);
6939 			recover(input,re);
6940 		}
6941 		finally {
6942 			// do for sure before leaving
6943 		}
6944 		return value;
6945 	}
6946 	// $ANTLR end "field_literal"
6947 
6948 
6949 
6950 	// $ANTLR start "method_literal"
6951 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1279:1: method_literal returns [MethodReference value] : ^( I_ENCODED_METHOD method_reference ) ;
method_literal()6952 	public final MethodReference method_literal() throws RecognitionException {
6953 		MethodReference value = null;
6954 
6955 
6956 		ImmutableMethodReference method_reference209 =null;
6957 
6958 		try {
6959 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1280:3: ( ^( I_ENCODED_METHOD method_reference ) )
6960 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1280:5: ^( I_ENCODED_METHOD method_reference )
6961 			{
6962 			match(input,I_ENCODED_METHOD,FOLLOW_I_ENCODED_METHOD_in_method_literal3594);
6963 			match(input, Token.DOWN, null);
6964 			pushFollow(FOLLOW_method_reference_in_method_literal3596);
6965 			method_reference209=method_reference();
6966 			state._fsp--;
6967 
6968 			match(input, Token.UP, null);
6969 
6970 
6971 			      value = method_reference209;
6972 
6973 			}
6974 
6975 		}
6976 		catch (RecognitionException re) {
6977 			reportError(re);
6978 			recover(input,re);
6979 		}
6980 		finally {
6981 			// do for sure before leaving
6982 		}
6983 		return value;
6984 	}
6985 	// $ANTLR end "method_literal"
6986 
6987 
6988 
6989 	// $ANTLR start "enum_literal"
6990 	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1285:1: enum_literal returns [FieldReference value] : ^( I_ENCODED_ENUM field_reference ) ;
enum_literal()6991 	public final FieldReference enum_literal() throws RecognitionException {
6992 		FieldReference value = null;
6993 
6994 
6995 		ImmutableFieldReference field_reference210 =null;
6996 
6997 		try {
6998 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1286:3: ( ^( I_ENCODED_ENUM field_reference ) )
6999 			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1286:5: ^( I_ENCODED_ENUM field_reference )
7000 			{
7001 			match(input,I_ENCODED_ENUM,FOLLOW_I_ENCODED_ENUM_in_enum_literal3617);
7002 			match(input, Token.DOWN, null);
7003 			pushFollow(FOLLOW_field_reference_in_enum_literal3619);
7004 			field_reference210=field_reference();
7005 			state._fsp--;
7006 
7007 			match(input, Token.UP, null);
7008 
7009 
7010 			      value = field_reference210;
7011 
7012 			}
7013 
7014 		}
7015 		catch (RecognitionException re) {
7016 			reportError(re);
7017 			recover(input,re);
7018 		}
7019 		finally {
7020 			// do for sure before leaving
7021 		}
7022 		return value;
7023 	}
7024 	// $ANTLR end "enum_literal"
7025 
7026 	// Delegated rules
7027 
7028 
7029 
7030 	public static final BitSet FOLLOW_I_CLASS_DEF_in_smali_file52 = new BitSet(new long[]{0x0000000000000004L});
7031 	public static final BitSet FOLLOW_header_in_smali_file54 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
7032 	public static final BitSet FOLLOW_methods_in_smali_file56 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
7033 	public static final BitSet FOLLOW_fields_in_smali_file58 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
7034 	public static final BitSet FOLLOW_annotations_in_smali_file60 = new BitSet(new long[]{0x0000000000000008L});
7035 	public static final BitSet FOLLOW_class_spec_in_header85 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L,0x0000002000000001L});
7036 	public static final BitSet FOLLOW_super_spec_in_header87 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L,0x0000000000000001L});
7037 	public static final BitSet FOLLOW_implements_list_in_header90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
7038 	public static final BitSet FOLLOW_source_spec_in_header92 = new BitSet(new long[]{0x0000000000000002L});
7039 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec110 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
7040 	public static final BitSet FOLLOW_access_list_in_class_spec112 = new BitSet(new long[]{0x0000000000000002L});
7041 	public static final BitSet FOLLOW_I_SUPER_in_super_spec130 = new BitSet(new long[]{0x0000000000000004L});
7042 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_super_spec132 = new BitSet(new long[]{0x0000000000000008L});
7043 	public static final BitSet FOLLOW_I_IMPLEMENTS_in_implements_spec152 = new BitSet(new long[]{0x0000000000000004L});
7044 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_implements_spec154 = new BitSet(new long[]{0x0000000000000008L});
7045 	public static final BitSet FOLLOW_implements_spec_in_implements_list184 = new BitSet(new long[]{0x0000000000000002L,0x0000100000000000L});
7046 	public static final BitSet FOLLOW_I_SOURCE_in_source_spec213 = new BitSet(new long[]{0x0000000000000004L});
7047 	public static final BitSet FOLLOW_string_literal_in_source_spec215 = new BitSet(new long[]{0x0000000000000008L});
7048 	public static final BitSet FOLLOW_I_ACCESS_LIST_in_access_list248 = new BitSet(new long[]{0x0000000000000004L});
7049 	public static final BitSet FOLLOW_ACCESS_SPEC_in_access_list266 = new BitSet(new long[]{0x0000000000000018L});
7050 	public static final BitSet FOLLOW_I_FIELDS_in_fields308 = new BitSet(new long[]{0x0000000000000004L});
7051 	public static final BitSet FOLLOW_field_in_fields317 = new BitSet(new long[]{0x0000000000000008L,0x0000010000000000L});
7052 	public static final BitSet FOLLOW_I_METHODS_in_methods349 = new BitSet(new long[]{0x0000000000000004L});
7053 	public static final BitSet FOLLOW_method_in_methods358 = new BitSet(new long[]{0x0000000000000008L,0x0002000000000000L});
7054 	public static final BitSet FOLLOW_I_FIELD_in_field383 = new BitSet(new long[]{0x0000000000000004L});
7055 	public static final BitSet FOLLOW_SIMPLE_NAME_in_field385 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
7056 	public static final BitSet FOLLOW_access_list_in_field387 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
7057 	public static final BitSet FOLLOW_I_FIELD_TYPE_in_field390 = new BitSet(new long[]{0x0000000000000004L});
7058 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field392 = new BitSet(new long[]{0x0000000000000008L});
7059 	public static final BitSet FOLLOW_field_initial_value_in_field395 = new BitSet(new long[]{0x0000000000000008L,0x0000000004000000L});
7060 	public static final BitSet FOLLOW_annotations_in_field397 = new BitSet(new long[]{0x0000000000000008L});
7061 	public static final BitSet FOLLOW_I_FIELD_INITIAL_VALUE_in_field_initial_value418 = new BitSet(new long[]{0x0000000000000004L});
7062 	public static final BitSet FOLLOW_literal_in_field_initial_value420 = new BitSet(new long[]{0x0000000000000008L});
7063 	public static final BitSet FOLLOW_integer_literal_in_literal442 = new BitSet(new long[]{0x0000000000000002L});
7064 	public static final BitSet FOLLOW_long_literal_in_literal450 = new BitSet(new long[]{0x0000000000000002L});
7065 	public static final BitSet FOLLOW_short_literal_in_literal458 = new BitSet(new long[]{0x0000000000000002L});
7066 	public static final BitSet FOLLOW_byte_literal_in_literal466 = new BitSet(new long[]{0x0000000000000002L});
7067 	public static final BitSet FOLLOW_float_literal_in_literal474 = new BitSet(new long[]{0x0000000000000002L});
7068 	public static final BitSet FOLLOW_double_literal_in_literal482 = new BitSet(new long[]{0x0000000000000002L});
7069 	public static final BitSet FOLLOW_char_literal_in_literal490 = new BitSet(new long[]{0x0000000000000002L});
7070 	public static final BitSet FOLLOW_string_literal_in_literal498 = new BitSet(new long[]{0x0000000000000002L});
7071 	public static final BitSet FOLLOW_bool_literal_in_literal506 = new BitSet(new long[]{0x0000000000000002L});
7072 	public static final BitSet FOLLOW_NULL_LITERAL_in_literal514 = new BitSet(new long[]{0x0000000000000002L});
7073 	public static final BitSet FOLLOW_type_descriptor_in_literal522 = new BitSet(new long[]{0x0000000000000002L});
7074 	public static final BitSet FOLLOW_array_literal_in_literal530 = new BitSet(new long[]{0x0000000000000002L});
7075 	public static final BitSet FOLLOW_subannotation_in_literal538 = new BitSet(new long[]{0x0000000000000002L});
7076 	public static final BitSet FOLLOW_field_literal_in_literal546 = new BitSet(new long[]{0x0000000000000002L});
7077 	public static final BitSet FOLLOW_method_literal_in_literal554 = new BitSet(new long[]{0x0000000000000002L});
7078 	public static final BitSet FOLLOW_enum_literal_in_literal562 = new BitSet(new long[]{0x0000000000000002L});
7079 	public static final BitSet FOLLOW_integer_literal_in_fixed_64bit_literal_number578 = new BitSet(new long[]{0x0000000000000002L});
7080 	public static final BitSet FOLLOW_long_literal_in_fixed_64bit_literal_number586 = new BitSet(new long[]{0x0000000000000002L});
7081 	public static final BitSet FOLLOW_short_literal_in_fixed_64bit_literal_number594 = new BitSet(new long[]{0x0000000000000002L});
7082 	public static final BitSet FOLLOW_byte_literal_in_fixed_64bit_literal_number602 = new BitSet(new long[]{0x0000000000000002L});
7083 	public static final BitSet FOLLOW_float_literal_in_fixed_64bit_literal_number610 = new BitSet(new long[]{0x0000000000000002L});
7084 	public static final BitSet FOLLOW_double_literal_in_fixed_64bit_literal_number618 = new BitSet(new long[]{0x0000000000000002L});
7085 	public static final BitSet FOLLOW_char_literal_in_fixed_64bit_literal_number626 = new BitSet(new long[]{0x0000000000000002L});
7086 	public static final BitSet FOLLOW_bool_literal_in_fixed_64bit_literal_number634 = new BitSet(new long[]{0x0000000000000002L});
7087 	public static final BitSet FOLLOW_integer_literal_in_fixed_64bit_literal649 = new BitSet(new long[]{0x0000000000000002L});
7088 	public static final BitSet FOLLOW_long_literal_in_fixed_64bit_literal657 = new BitSet(new long[]{0x0000000000000002L});
7089 	public static final BitSet FOLLOW_short_literal_in_fixed_64bit_literal665 = new BitSet(new long[]{0x0000000000000002L});
7090 	public static final BitSet FOLLOW_byte_literal_in_fixed_64bit_literal673 = new BitSet(new long[]{0x0000000000000002L});
7091 	public static final BitSet FOLLOW_float_literal_in_fixed_64bit_literal681 = new BitSet(new long[]{0x0000000000000002L});
7092 	public static final BitSet FOLLOW_double_literal_in_fixed_64bit_literal689 = new BitSet(new long[]{0x0000000000000002L});
7093 	public static final BitSet FOLLOW_char_literal_in_fixed_64bit_literal697 = new BitSet(new long[]{0x0000000000000002L});
7094 	public static final BitSet FOLLOW_bool_literal_in_fixed_64bit_literal705 = new BitSet(new long[]{0x0000000000000002L});
7095 	public static final BitSet FOLLOW_integer_literal_in_fixed_32bit_literal722 = new BitSet(new long[]{0x0000000000000002L});
7096 	public static final BitSet FOLLOW_long_literal_in_fixed_32bit_literal730 = new BitSet(new long[]{0x0000000000000002L});
7097 	public static final BitSet FOLLOW_short_literal_in_fixed_32bit_literal738 = new BitSet(new long[]{0x0000000000000002L});
7098 	public static final BitSet FOLLOW_byte_literal_in_fixed_32bit_literal746 = new BitSet(new long[]{0x0000000000000002L});
7099 	public static final BitSet FOLLOW_float_literal_in_fixed_32bit_literal754 = new BitSet(new long[]{0x0000000000000002L});
7100 	public static final BitSet FOLLOW_char_literal_in_fixed_32bit_literal762 = new BitSet(new long[]{0x0000000000000002L});
7101 	public static final BitSet FOLLOW_bool_literal_in_fixed_32bit_literal770 = new BitSet(new long[]{0x0000000000000002L});
7102 	public static final BitSet FOLLOW_I_ARRAY_ELEMENTS_in_array_elements792 = new BitSet(new long[]{0x0000000000000004L});
7103 	public static final BitSet FOLLOW_fixed_64bit_literal_number_in_array_elements801 = new BitSet(new long[]{0x0000004000404C08L,0x0000000000400000L,0x2000040000000000L});
7104 	public static final BitSet FOLLOW_I_PACKED_SWITCH_ELEMENTS_in_packed_switch_elements837 = new BitSet(new long[]{0x0000000000000004L});
7105 	public static final BitSet FOLLOW_label_ref_in_packed_switch_elements846 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x4000000000000000L});
7106 	public static final BitSet FOLLOW_I_SPARSE_SWITCH_ELEMENTS_in_sparse_switch_elements881 = new BitSet(new long[]{0x0000000000000004L});
7107 	public static final BitSet FOLLOW_fixed_32bit_literal_in_sparse_switch_elements891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7108 	public static final BitSet FOLLOW_label_ref_in_sparse_switch_elements893 = new BitSet(new long[]{0x0000004000004C08L,0x0000000000400000L,0x2000040000000000L});
7109 	public static final BitSet FOLLOW_I_METHOD_in_method945 = new BitSet(new long[]{0x0000000000000004L});
7110 	public static final BitSet FOLLOW_method_name_and_prototype_in_method953 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
7111 	public static final BitSet FOLLOW_access_list_in_method961 = new BitSet(new long[]{0x0000000000000000L,0x1021000000000000L});
7112 	public static final BitSet FOLLOW_registers_directive_in_method988 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
7113 	public static final BitSet FOLLOW_ordered_method_items_in_method1045 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
7114 	public static final BitSet FOLLOW_catches_in_method1053 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
7115 	public static final BitSet FOLLOW_parameters_in_method1061 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
7116 	public static final BitSet FOLLOW_annotations_in_method1070 = new BitSet(new long[]{0x0000000000000008L});
7117 	public static final BitSet FOLLOW_I_METHOD_PROTOTYPE_in_method_prototype1094 = new BitSet(new long[]{0x0000000000000004L});
7118 	public static final BitSet FOLLOW_I_METHOD_RETURN_TYPE_in_method_prototype1097 = new BitSet(new long[]{0x0000000000000004L});
7119 	public static final BitSet FOLLOW_type_descriptor_in_method_prototype1099 = new BitSet(new long[]{0x0000000000000008L});
7120 	public static final BitSet FOLLOW_method_type_list_in_method_prototype1102 = new BitSet(new long[]{0x0000000000000008L});
7121 	public static final BitSet FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
7122 	public static final BitSet FOLLOW_method_prototype_in_method_name_and_prototype1122 = new BitSet(new long[]{0x0000000000000002L});
7123 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_method_type_list1156 = new BitSet(new long[]{0x0000000000008102L,0x0000000000000000L,0x0100000000000000L});
7124 	public static final BitSet FOLLOW_reference_type_descriptor_in_method_reference1185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7125 	public static final BitSet FOLLOW_SIMPLE_NAME_in_method_reference1188 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
7126 	public static final BitSet FOLLOW_method_prototype_in_method_reference1190 = new BitSet(new long[]{0x0000000000000002L});
7127 	public static final BitSet FOLLOW_reference_type_descriptor_in_field_reference1207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7128 	public static final BitSet FOLLOW_SIMPLE_NAME_in_field_reference1210 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
7129 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field_reference1212 = new BitSet(new long[]{0x0000000000000002L});
7130 	public static final BitSet FOLLOW_I_REGISTERS_in_registers_directive1238 = new BitSet(new long[]{0x0000000000000004L});
7131 	public static final BitSet FOLLOW_I_LOCALS_in_registers_directive1250 = new BitSet(new long[]{0x0000000000000004L});
7132 	public static final BitSet FOLLOW_short_integral_literal_in_registers_directive1268 = new BitSet(new long[]{0x0000000000000008L});
7133 	public static final BitSet FOLLOW_I_LABEL_in_label_def1288 = new BitSet(new long[]{0x0000000000000004L});
7134 	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_def1290 = new BitSet(new long[]{0x0000000000000008L});
7135 	public static final BitSet FOLLOW_I_CATCHES_in_catches1316 = new BitSet(new long[]{0x0000000000000004L});
7136 	public static final BitSet FOLLOW_catch_directive_in_catches1318 = new BitSet(new long[]{0x0000000000000008L,0x00000000C0000000L});
7137 	public static final BitSet FOLLOW_catchall_directive_in_catches1321 = new BitSet(new long[]{0x0000000000000008L,0x0000000080000000L});
7138 	public static final BitSet FOLLOW_I_CATCH_in_catch_directive1334 = new BitSet(new long[]{0x0000000000000004L});
7139 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive1336 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7140 	public static final BitSet FOLLOW_label_ref_in_catch_directive1340 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7141 	public static final BitSet FOLLOW_label_ref_in_catch_directive1344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7142 	public static final BitSet FOLLOW_label_ref_in_catch_directive1348 = new BitSet(new long[]{0x0000000000000008L});
7143 	public static final BitSet FOLLOW_I_CATCHALL_in_catchall_directive1364 = new BitSet(new long[]{0x0000000000000004L});
7144 	public static final BitSet FOLLOW_label_ref_in_catchall_directive1368 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7145 	public static final BitSet FOLLOW_label_ref_in_catchall_directive1372 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7146 	public static final BitSet FOLLOW_label_ref_in_catchall_directive1376 = new BitSet(new long[]{0x0000000000000008L});
7147 	public static final BitSet FOLLOW_I_PARAMETERS_in_parameters1393 = new BitSet(new long[]{0x0000000000000004L});
7148 	public static final BitSet FOLLOW_parameter_in_parameters1396 = new BitSet(new long[]{0x0000000000000008L,0x0100000000000000L});
7149 	public static final BitSet FOLLOW_I_PARAMETER_in_parameter1412 = new BitSet(new long[]{0x0000000000000004L});
7150 	public static final BitSet FOLLOW_REGISTER_in_parameter1414 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L,0x0000000000000000L,0x0000000000000002L});
7151 	public static final BitSet FOLLOW_string_literal_in_parameter1416 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
7152 	public static final BitSet FOLLOW_annotations_in_parameter1419 = new BitSet(new long[]{0x0000000000000008L});
7153 	public static final BitSet FOLLOW_line_in_debug_directive1436 = new BitSet(new long[]{0x0000000000000002L});
7154 	public static final BitSet FOLLOW_local_in_debug_directive1442 = new BitSet(new long[]{0x0000000000000002L});
7155 	public static final BitSet FOLLOW_end_local_in_debug_directive1448 = new BitSet(new long[]{0x0000000000000002L});
7156 	public static final BitSet FOLLOW_restart_local_in_debug_directive1454 = new BitSet(new long[]{0x0000000000000002L});
7157 	public static final BitSet FOLLOW_prologue_in_debug_directive1460 = new BitSet(new long[]{0x0000000000000002L});
7158 	public static final BitSet FOLLOW_epilogue_in_debug_directive1466 = new BitSet(new long[]{0x0000000000000002L});
7159 	public static final BitSet FOLLOW_source_in_debug_directive1472 = new BitSet(new long[]{0x0000000000000002L});
7160 	public static final BitSet FOLLOW_I_LINE_in_line1483 = new BitSet(new long[]{0x0000000000000004L});
7161 	public static final BitSet FOLLOW_integral_literal_in_line1485 = new BitSet(new long[]{0x0000000000000008L});
7162 	public static final BitSet FOLLOW_I_LOCAL_in_local1503 = new BitSet(new long[]{0x0000000000000004L});
7163 	public static final BitSet FOLLOW_REGISTER_in_local1505 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L,0x0000000000000002L});
7164 	public static final BitSet FOLLOW_NULL_LITERAL_in_local1509 = new BitSet(new long[]{0x0000000000008108L,0x0000000000000000L,0x0100000000000000L,0x0000000000000002L});
7165 	public static final BitSet FOLLOW_string_literal_in_local1515 = new BitSet(new long[]{0x0000000000008108L,0x0000000000000000L,0x0100000000000000L,0x0000000000000002L});
7166 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local1518 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
7167 	public static final BitSet FOLLOW_string_literal_in_local1523 = new BitSet(new long[]{0x0000000000000008L});
7168 	public static final BitSet FOLLOW_I_END_LOCAL_in_end_local1544 = new BitSet(new long[]{0x0000000000000004L});
7169 	public static final BitSet FOLLOW_REGISTER_in_end_local1546 = new BitSet(new long[]{0x0000000000000008L});
7170 	public static final BitSet FOLLOW_I_RESTART_LOCAL_in_restart_local1564 = new BitSet(new long[]{0x0000000000000004L});
7171 	public static final BitSet FOLLOW_REGISTER_in_restart_local1566 = new BitSet(new long[]{0x0000000000000008L});
7172 	public static final BitSet FOLLOW_I_PROLOGUE_in_prologue1583 = new BitSet(new long[]{0x0000000000000002L});
7173 	public static final BitSet FOLLOW_I_EPILOGUE_in_epilogue1599 = new BitSet(new long[]{0x0000000000000002L});
7174 	public static final BitSet FOLLOW_I_SOURCE_in_source1616 = new BitSet(new long[]{0x0000000000000004L});
7175 	public static final BitSet FOLLOW_string_literal_in_source1618 = new BitSet(new long[]{0x0000000000000008L});
7176 	public static final BitSet FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1637 = new BitSet(new long[]{0x0000000000000004L});
7177 	public static final BitSet FOLLOW_label_def_in_ordered_method_items1640 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
7178 	public static final BitSet FOLLOW_instruction_in_ordered_method_items1644 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
7179 	public static final BitSet FOLLOW_debug_directive_in_ordered_method_items1648 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
7180 	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_ref1664 = new BitSet(new long[]{0x0000000000000002L});
7181 	public static final BitSet FOLLOW_I_REGISTER_LIST_in_register_list1689 = new BitSet(new long[]{0x0000000000000004L});
7182 	public static final BitSet FOLLOW_REGISTER_in_register_list1698 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0400000000000000L});
7183 	public static final BitSet FOLLOW_I_REGISTER_RANGE_in_register_range1723 = new BitSet(new long[]{0x0000000000000004L});
7184 	public static final BitSet FOLLOW_REGISTER_in_register_range1728 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0400000000000000L});
7185 	public static final BitSet FOLLOW_REGISTER_in_register_range1732 = new BitSet(new long[]{0x0000000000000008L});
7186 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1755 = new BitSet(new long[]{0x0000000000000002L});
7187 	public static final BitSet FOLLOW_field_reference_in_verification_error_reference1765 = new BitSet(new long[]{0x0000000000000002L});
7188 	public static final BitSet FOLLOW_method_reference_in_verification_error_reference1775 = new BitSet(new long[]{0x0000000000000002L});
7189 	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1792 = new BitSet(new long[]{0x0000000000000002L});
7190 	public static final BitSet FOLLOW_insn_format10t_in_instruction1806 = new BitSet(new long[]{0x0000000000000002L});
7191 	public static final BitSet FOLLOW_insn_format10x_in_instruction1812 = new BitSet(new long[]{0x0000000000000002L});
7192 	public static final BitSet FOLLOW_insn_format11n_in_instruction1818 = new BitSet(new long[]{0x0000000000000002L});
7193 	public static final BitSet FOLLOW_insn_format11x_in_instruction1824 = new BitSet(new long[]{0x0000000000000002L});
7194 	public static final BitSet FOLLOW_insn_format12x_in_instruction1830 = new BitSet(new long[]{0x0000000000000002L});
7195 	public static final BitSet FOLLOW_insn_format20bc_in_instruction1836 = new BitSet(new long[]{0x0000000000000002L});
7196 	public static final BitSet FOLLOW_insn_format20t_in_instruction1842 = new BitSet(new long[]{0x0000000000000002L});
7197 	public static final BitSet FOLLOW_insn_format21c_field_in_instruction1848 = new BitSet(new long[]{0x0000000000000002L});
7198 	public static final BitSet FOLLOW_insn_format21c_string_in_instruction1854 = new BitSet(new long[]{0x0000000000000002L});
7199 	public static final BitSet FOLLOW_insn_format21c_type_in_instruction1860 = new BitSet(new long[]{0x0000000000000002L});
7200 	public static final BitSet FOLLOW_insn_format21ih_in_instruction1866 = new BitSet(new long[]{0x0000000000000002L});
7201 	public static final BitSet FOLLOW_insn_format21lh_in_instruction1872 = new BitSet(new long[]{0x0000000000000002L});
7202 	public static final BitSet FOLLOW_insn_format21s_in_instruction1878 = new BitSet(new long[]{0x0000000000000002L});
7203 	public static final BitSet FOLLOW_insn_format21t_in_instruction1884 = new BitSet(new long[]{0x0000000000000002L});
7204 	public static final BitSet FOLLOW_insn_format22b_in_instruction1890 = new BitSet(new long[]{0x0000000000000002L});
7205 	public static final BitSet FOLLOW_insn_format22c_field_in_instruction1896 = new BitSet(new long[]{0x0000000000000002L});
7206 	public static final BitSet FOLLOW_insn_format22c_type_in_instruction1902 = new BitSet(new long[]{0x0000000000000002L});
7207 	public static final BitSet FOLLOW_insn_format22s_in_instruction1908 = new BitSet(new long[]{0x0000000000000002L});
7208 	public static final BitSet FOLLOW_insn_format22t_in_instruction1914 = new BitSet(new long[]{0x0000000000000002L});
7209 	public static final BitSet FOLLOW_insn_format22x_in_instruction1920 = new BitSet(new long[]{0x0000000000000002L});
7210 	public static final BitSet FOLLOW_insn_format23x_in_instruction1926 = new BitSet(new long[]{0x0000000000000002L});
7211 	public static final BitSet FOLLOW_insn_format30t_in_instruction1932 = new BitSet(new long[]{0x0000000000000002L});
7212 	public static final BitSet FOLLOW_insn_format31c_in_instruction1938 = new BitSet(new long[]{0x0000000000000002L});
7213 	public static final BitSet FOLLOW_insn_format31i_in_instruction1944 = new BitSet(new long[]{0x0000000000000002L});
7214 	public static final BitSet FOLLOW_insn_format31t_in_instruction1950 = new BitSet(new long[]{0x0000000000000002L});
7215 	public static final BitSet FOLLOW_insn_format32x_in_instruction1956 = new BitSet(new long[]{0x0000000000000002L});
7216 	public static final BitSet FOLLOW_insn_format35c_method_in_instruction1962 = new BitSet(new long[]{0x0000000000000002L});
7217 	public static final BitSet FOLLOW_insn_format35c_type_in_instruction1968 = new BitSet(new long[]{0x0000000000000002L});
7218 	public static final BitSet FOLLOW_insn_format3rc_method_in_instruction1974 = new BitSet(new long[]{0x0000000000000002L});
7219 	public static final BitSet FOLLOW_insn_format3rc_type_in_instruction1980 = new BitSet(new long[]{0x0000000000000002L});
7220 	public static final BitSet FOLLOW_insn_format51l_type_in_instruction1986 = new BitSet(new long[]{0x0000000000000002L});
7221 	public static final BitSet FOLLOW_insn_array_data_directive_in_instruction1992 = new BitSet(new long[]{0x0000000000000002L});
7222 	public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction1998 = new BitSet(new long[]{0x0000000000000002L});
7223 	public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction2004 = new BitSet(new long[]{0x0000000000000002L});
7224 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2028 = new BitSet(new long[]{0x0000000000000004L});
7225 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2030 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7226 	public static final BitSet FOLLOW_label_ref_in_insn_format10t2032 = new BitSet(new long[]{0x0000000000000008L});
7227 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2055 = new BitSet(new long[]{0x0000000000000004L});
7228 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2057 = new BitSet(new long[]{0x0000000000000008L});
7229 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2080 = new BitSet(new long[]{0x0000000000000004L});
7230 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2082 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7231 	public static final BitSet FOLLOW_REGISTER_in_insn_format11n2084 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
7232 	public static final BitSet FOLLOW_short_integral_literal_in_insn_format11n2086 = new BitSet(new long[]{0x0000000000000008L});
7233 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2109 = new BitSet(new long[]{0x0000000000000004L});
7234 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7235 	public static final BitSet FOLLOW_REGISTER_in_insn_format11x2113 = new BitSet(new long[]{0x0000000000000008L});
7236 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2136 = new BitSet(new long[]{0x0000000000000004L});
7237 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7238 	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7239 	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2146 = new BitSet(new long[]{0x0000000000000008L});
7240 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2169 = new BitSet(new long[]{0x0000000000000004L});
7241 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
7242 	public static final BitSet FOLLOW_verification_error_type_in_insn_format20bc2173 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
7243 	public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc2175 = new BitSet(new long[]{0x0000000000000008L});
7244 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2198 = new BitSet(new long[]{0x0000000000000004L});
7245 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2200 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7246 	public static final BitSet FOLLOW_label_ref_in_insn_format20t2202 = new BitSet(new long[]{0x0000000000000008L});
7247 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2225 = new BitSet(new long[]{0x0000000000000004L});
7248 	public static final BitSet FOLLOW_set_in_insn_format21c_field2229 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7249 	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field2237 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
7250 	public static final BitSet FOLLOW_field_reference_in_insn_format21c_field2239 = new BitSet(new long[]{0x0000000000000008L});
7251 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2262 = new BitSet(new long[]{0x0000000000000004L});
7252 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2264 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7253 	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string2266 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
7254 	public static final BitSet FOLLOW_string_literal_in_insn_format21c_string2268 = new BitSet(new long[]{0x0000000000000008L});
7255 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2291 = new BitSet(new long[]{0x0000000000000004L});
7256 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2293 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7257 	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type2295 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
7258 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2297 = new BitSet(new long[]{0x0000000000000008L});
7259 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2320 = new BitSet(new long[]{0x0000000000000004L});
7260 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2322 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7261 	public static final BitSet FOLLOW_REGISTER_in_insn_format21ih2324 = new BitSet(new long[]{0x0000004000004C00L,0x0000000000400000L,0x2000040000000000L});
7262 	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih2326 = new BitSet(new long[]{0x0000000000000008L});
7263 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2349 = new BitSet(new long[]{0x0000000000000004L});
7264 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7265 	public static final BitSet FOLLOW_REGISTER_in_insn_format21lh2353 = new BitSet(new long[]{0x0000004000404C00L,0x0000000000400000L,0x2000040000000000L});
7266 	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format21lh2355 = new BitSet(new long[]{0x0000000000000008L});
7267 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2378 = new BitSet(new long[]{0x0000000000000004L});
7268 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7269 	public static final BitSet FOLLOW_REGISTER_in_insn_format21s2382 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
7270 	public static final BitSet FOLLOW_short_integral_literal_in_insn_format21s2384 = new BitSet(new long[]{0x0000000000000008L});
7271 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2407 = new BitSet(new long[]{0x0000000000000004L});
7272 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7273 	public static final BitSet FOLLOW_REGISTER_in_insn_format21t2411 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7274 	public static final BitSet FOLLOW_label_ref_in_insn_format21t2413 = new BitSet(new long[]{0x0000000000000008L});
7275 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2436 = new BitSet(new long[]{0x0000000000000004L});
7276 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2438 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7277 	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2442 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7278 	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2446 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
7279 	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22b2448 = new BitSet(new long[]{0x0000000000000008L});
7280 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2471 = new BitSet(new long[]{0x0000000000000004L});
7281 	public static final BitSet FOLLOW_set_in_insn_format22c_field2475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7282 	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2485 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7283 	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2489 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
7284 	public static final BitSet FOLLOW_field_reference_in_insn_format22c_field2491 = new BitSet(new long[]{0x0000000000000008L});
7285 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2514 = new BitSet(new long[]{0x0000000000000004L});
7286 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2516 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7287 	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2520 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7288 	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2524 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
7289 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2526 = new BitSet(new long[]{0x0000000000000008L});
7290 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2549 = new BitSet(new long[]{0x0000000000000004L});
7291 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2551 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7292 	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2555 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7293 	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2559 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
7294 	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22s2561 = new BitSet(new long[]{0x0000000000000008L});
7295 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2584 = new BitSet(new long[]{0x0000000000000004L});
7296 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2586 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7297 	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7298 	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2594 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7299 	public static final BitSet FOLLOW_label_ref_in_insn_format22t2596 = new BitSet(new long[]{0x0000000000000008L});
7300 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2619 = new BitSet(new long[]{0x0000000000000004L});
7301 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2621 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7302 	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2625 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7303 	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2629 = new BitSet(new long[]{0x0000000000000008L});
7304 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2652 = new BitSet(new long[]{0x0000000000000004L});
7305 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2654 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7306 	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2658 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7307 	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2662 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7308 	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2666 = new BitSet(new long[]{0x0000000000000008L});
7309 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2689 = new BitSet(new long[]{0x0000000000000004L});
7310 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2691 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7311 	public static final BitSet FOLLOW_label_ref_in_insn_format30t2693 = new BitSet(new long[]{0x0000000000000008L});
7312 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2716 = new BitSet(new long[]{0x0000000000000004L});
7313 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2718 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7314 	public static final BitSet FOLLOW_REGISTER_in_insn_format31c2720 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
7315 	public static final BitSet FOLLOW_string_literal_in_insn_format31c2722 = new BitSet(new long[]{0x0000000000000008L});
7316 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2745 = new BitSet(new long[]{0x0000000000000004L});
7317 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2747 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7318 	public static final BitSet FOLLOW_REGISTER_in_insn_format31i2749 = new BitSet(new long[]{0x0000004000004C00L,0x0000000000400000L,0x2000040000000000L});
7319 	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i2751 = new BitSet(new long[]{0x0000000000000008L});
7320 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2774 = new BitSet(new long[]{0x0000000000000004L});
7321 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7322 	public static final BitSet FOLLOW_REGISTER_in_insn_format31t2778 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
7323 	public static final BitSet FOLLOW_label_ref_in_insn_format31t2780 = new BitSet(new long[]{0x0000000000000008L});
7324 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2803 = new BitSet(new long[]{0x0000000000000004L});
7325 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7326 	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7327 	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2813 = new BitSet(new long[]{0x0000000000000008L});
7328 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2836 = new BitSet(new long[]{0x0000000000000004L});
7329 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2838 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
7330 	public static final BitSet FOLLOW_register_list_in_insn_format35c_method2840 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
7331 	public static final BitSet FOLLOW_method_reference_in_insn_format35c_method2842 = new BitSet(new long[]{0x0000000000000008L});
7332 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2865 = new BitSet(new long[]{0x0000000000000004L});
7333 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2867 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
7334 	public static final BitSet FOLLOW_register_list_in_insn_format35c_type2869 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
7335 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2871 = new BitSet(new long[]{0x0000000000000008L});
7336 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2894 = new BitSet(new long[]{0x0000000000000004L});
7337 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2896 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
7338 	public static final BitSet FOLLOW_register_range_in_insn_format3rc_method2898 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
7339 	public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method2900 = new BitSet(new long[]{0x0000000000000008L});
7340 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2923 = new BitSet(new long[]{0x0000000000000004L});
7341 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2925 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
7342 	public static final BitSet FOLLOW_register_range_in_insn_format3rc_type2927 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
7343 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2929 = new BitSet(new long[]{0x0000000000000008L});
7344 	public static final BitSet FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2952 = new BitSet(new long[]{0x0000000000000004L});
7345 	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2954 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
7346 	public static final BitSet FOLLOW_REGISTER_in_insn_format51l_type2956 = new BitSet(new long[]{0x0000004000404C00L,0x0000000000400000L,0x2000040000000000L});
7347 	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format51l_type2958 = new BitSet(new long[]{0x0000000000000008L});
7348 	public static final BitSet FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2981 = new BitSet(new long[]{0x0000000000000004L});
7349 	public static final BitSet FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2984 = new BitSet(new long[]{0x0000000000000004L});
7350 	public static final BitSet FOLLOW_short_integral_literal_in_insn_array_data_directive2986 = new BitSet(new long[]{0x0000000000000008L});
7351 	public static final BitSet FOLLOW_array_elements_in_insn_array_data_directive2989 = new BitSet(new long[]{0x0000000000000008L});
7352 	public static final BitSet FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3011 = new BitSet(new long[]{0x0000000000000004L});
7353 	public static final BitSet FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3014 = new BitSet(new long[]{0x0000000000000004L});
7354 	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3016 = new BitSet(new long[]{0x0000000000000008L});
7355 	public static final BitSet FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3019 = new BitSet(new long[]{0x0000000000000008L});
7356 	public static final BitSet FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3043 = new BitSet(new long[]{0x0000000000000004L});
7357 	public static final BitSet FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3045 = new BitSet(new long[]{0x0000000000000008L});
7358 	public static final BitSet FOLLOW_set_in_nonvoid_type_descriptor3066 = new BitSet(new long[]{0x0000000000000002L});
7359 	public static final BitSet FOLLOW_set_in_reference_type_descriptor3098 = new BitSet(new long[]{0x0000000000000002L});
7360 	public static final BitSet FOLLOW_VOID_TYPE_in_type_descriptor3124 = new BitSet(new long[]{0x0000000000000002L});
7361 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_descriptor3132 = new BitSet(new long[]{0x0000000000000002L});
7362 	public static final BitSet FOLLOW_long_literal_in_short_integral_literal3150 = new BitSet(new long[]{0x0000000000000002L});
7363 	public static final BitSet FOLLOW_integer_literal_in_short_integral_literal3162 = new BitSet(new long[]{0x0000000000000002L});
7364 	public static final BitSet FOLLOW_short_literal_in_short_integral_literal3174 = new BitSet(new long[]{0x0000000000000002L});
7365 	public static final BitSet FOLLOW_char_literal_in_short_integral_literal3182 = new BitSet(new long[]{0x0000000000000002L});
7366 	public static final BitSet FOLLOW_byte_literal_in_short_integral_literal3190 = new BitSet(new long[]{0x0000000000000002L});
7367 	public static final BitSet FOLLOW_long_literal_in_integral_literal3205 = new BitSet(new long[]{0x0000000000000002L});
7368 	public static final BitSet FOLLOW_integer_literal_in_integral_literal3217 = new BitSet(new long[]{0x0000000000000002L});
7369 	public static final BitSet FOLLOW_short_literal_in_integral_literal3225 = new BitSet(new long[]{0x0000000000000002L});
7370 	public static final BitSet FOLLOW_byte_literal_in_integral_literal3233 = new BitSet(new long[]{0x0000000000000002L});
7371 	public static final BitSet FOLLOW_INTEGER_LITERAL_in_integer_literal3249 = new BitSet(new long[]{0x0000000000000002L});
7372 	public static final BitSet FOLLOW_LONG_LITERAL_in_long_literal3264 = new BitSet(new long[]{0x0000000000000002L});
7373 	public static final BitSet FOLLOW_SHORT_LITERAL_in_short_literal3279 = new BitSet(new long[]{0x0000000000000002L});
7374 	public static final BitSet FOLLOW_BYTE_LITERAL_in_byte_literal3294 = new BitSet(new long[]{0x0000000000000002L});
7375 	public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal3309 = new BitSet(new long[]{0x0000000000000002L});
7376 	public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal3324 = new BitSet(new long[]{0x0000000000000002L});
7377 	public static final BitSet FOLLOW_CHAR_LITERAL_in_char_literal3339 = new BitSet(new long[]{0x0000000000000002L});
7378 	public static final BitSet FOLLOW_STRING_LITERAL_in_string_literal3354 = new BitSet(new long[]{0x0000000000000002L});
7379 	public static final BitSet FOLLOW_BOOL_LITERAL_in_bool_literal3373 = new BitSet(new long[]{0x0000000000000002L});
7380 	public static final BitSet FOLLOW_I_ENCODED_ARRAY_in_array_literal3395 = new BitSet(new long[]{0x0000000000000004L});
7381 	public static final BitSet FOLLOW_literal_in_array_literal3398 = new BitSet(new long[]{0x000000400040CD08L,0x0000003C00400000L,0x2100441000000000L,0x0000000000000022L});
7382 	public static final BitSet FOLLOW_I_ANNOTATIONS_in_annotations3423 = new BitSet(new long[]{0x0000000000000004L});
7383 	public static final BitSet FOLLOW_annotation_in_annotations3426 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
7384 	public static final BitSet FOLLOW_I_ANNOTATION_in_annotation3455 = new BitSet(new long[]{0x0000000000000004L});
7385 	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation3457 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
7386 	public static final BitSet FOLLOW_subannotation_in_annotation3459 = new BitSet(new long[]{0x0000000000000008L});
7387 	public static final BitSet FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3480 = new BitSet(new long[]{0x0000000000000004L});
7388 	public static final BitSet FOLLOW_SIMPLE_NAME_in_annotation_element3482 = new BitSet(new long[]{0x000000400040CD00L,0x0000003C00400000L,0x2100441000000000L,0x0000000000000022L});
7389 	public static final BitSet FOLLOW_literal_in_annotation_element3484 = new BitSet(new long[]{0x0000000000000008L});
7390 	public static final BitSet FOLLOW_I_SUBANNOTATION_in_subannotation3511 = new BitSet(new long[]{0x0000000000000004L});
7391 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation3521 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
7392 	public static final BitSet FOLLOW_annotation_element_in_subannotation3532 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
7393 	public static final BitSet FOLLOW_I_ENCODED_FIELD_in_field_literal3571 = new BitSet(new long[]{0x0000000000000004L});
7394 	public static final BitSet FOLLOW_field_reference_in_field_literal3573 = new BitSet(new long[]{0x0000000000000008L});
7395 	public static final BitSet FOLLOW_I_ENCODED_METHOD_in_method_literal3594 = new BitSet(new long[]{0x0000000000000004L});
7396 	public static final BitSet FOLLOW_method_reference_in_method_literal3596 = new BitSet(new long[]{0x0000000000000008L});
7397 	public static final BitSet FOLLOW_I_ENCODED_ENUM_in_enum_literal3617 = new BitSet(new long[]{0x0000000000000004L});
7398 	public static final BitSet FOLLOW_field_reference_in_enum_literal3619 = new BitSet(new long[]{0x0000000000000008L});
7399 }
7400