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