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