1 // $ANTLR 3.5 /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g 2014-02-12 17:39:16 2 3 package org.jf.smali; 4 5 import org.jf.dexlib2.Format; 6 import org.jf.dexlib2.Opcode; 7 import org.jf.dexlib2.Opcodes; 8 9 10 import org.antlr.runtime.*; 11 import java.util.Stack; 12 import java.util.List; 13 import java.util.ArrayList; 14 15 import org.antlr.runtime.tree.*; 16 17 18 @SuppressWarnings("all") 19 public class smaliParser extends Parser { 20 public static final String[] tokenNames = new String[] { 21 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE", 22 "ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW", 23 "BASE_ARRAY_DESCRIPTOR", "BASE_CHAR_LITERAL", "BASE_CLASS_DESCRIPTOR", 24 "BASE_FLOAT", "BASE_FLOAT_OR_ID", "BASE_INTEGER", "BASE_PRIMITIVE_TYPE", 25 "BASE_SIMPLE_NAME", "BASE_STRING_LITERAL", "BASE_TYPE", "BINARY_EXPONENT", 26 "BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE", 27 "CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE", 28 "CLOSE_PAREN", "COLON", "COMMA", "DECIMAL_EXPONENT", "DOTDOT", "DOUBLE_LITERAL", 29 "DOUBLE_LITERAL_OR_ID", "END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", 30 "END_FIELD_DIRECTIVE", "END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", 31 "END_PACKED_SWITCH_DIRECTIVE", "END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", 32 "END_SUBANNOTATION_DIRECTIVE", "ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", 33 "EQUAL", "ESCAPE_SEQUENCE", "FIELD_DIRECTIVE", "FIELD_OFFSET", "FLOAT_LITERAL", 34 "FLOAT_LITERAL_OR_ID", "HEX_DIGIT", "HEX_DIGITS", "HEX_PREFIX", "IMPLEMENTS_DIRECTIVE", 35 "INLINE_INDEX", "INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX", 36 "INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x", 37 "INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t", 38 "INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING", 39 "INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh", 40 "INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b", 41 "INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE", 42 "INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID", 43 "INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x", 44 "INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i", 45 "INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x", 46 "INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE", 47 "INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD", 48 "INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD", 49 "INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL", 50 "INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT", 51 "I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES", 52 "I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD", 53 "I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS", 54 "I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE", 55 "I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE", 56 "I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS", 57 "I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED", 58 "I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL", 59 "I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t", 60 "I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x", 61 "I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t", 62 "I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE", 63 "I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s", 64 "I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD", 65 "I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t", 66 "I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t", 67 "I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t", 68 "I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE", 69 "I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l", 70 "I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION", 71 "I_SUPER", "LABEL", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", 72 "LOCAL_DIRECTIVE", "LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", 73 "NEGATIVE_INTEGER_LITERAL", "NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", 74 "PACKED_SWITCH_DIRECTIVE", "PARAMETER_DIRECTIVE", "PARAM_LIST", "PARAM_LIST_OR_ID", 75 "POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE", "REGISTER", 76 "REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL", "SIMPLE_NAME", 77 "SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL", "SUBANNOTATION_DIRECTIVE", 78 "SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE", "VOID_TYPE", "VTABLE_INDEX", 79 "WHITE_SPACE" 80 }; 81 public static final int EOF=-1; 82 public static final int ACCESS_SPEC=4; 83 public static final int ANNOTATION_DIRECTIVE=5; 84 public static final int ANNOTATION_VISIBILITY=6; 85 public static final int ARRAY_DATA_DIRECTIVE=7; 86 public static final int ARRAY_DESCRIPTOR=8; 87 public static final int ARROW=9; 88 public static final int BASE_ARRAY_DESCRIPTOR=10; 89 public static final int BASE_CHAR_LITERAL=11; 90 public static final int BASE_CLASS_DESCRIPTOR=12; 91 public static final int BASE_FLOAT=13; 92 public static final int BASE_FLOAT_OR_ID=14; 93 public static final int BASE_INTEGER=15; 94 public static final int BASE_PRIMITIVE_TYPE=16; 95 public static final int BASE_SIMPLE_NAME=17; 96 public static final int BASE_STRING_LITERAL=18; 97 public static final int BASE_TYPE=19; 98 public static final int BINARY_EXPONENT=20; 99 public static final int BOOL_LITERAL=21; 100 public static final int BYTE_LITERAL=22; 101 public static final int CATCHALL_DIRECTIVE=23; 102 public static final int CATCH_DIRECTIVE=24; 103 public static final int CHAR_LITERAL=25; 104 public static final int CLASS_DESCRIPTOR=26; 105 public static final int CLASS_DIRECTIVE=27; 106 public static final int CLOSE_BRACE=28; 107 public static final int CLOSE_PAREN=29; 108 public static final int COLON=30; 109 public static final int COMMA=31; 110 public static final int DECIMAL_EXPONENT=32; 111 public static final int DOTDOT=33; 112 public static final int DOUBLE_LITERAL=34; 113 public static final int DOUBLE_LITERAL_OR_ID=35; 114 public static final int END_ANNOTATION_DIRECTIVE=36; 115 public static final int END_ARRAY_DATA_DIRECTIVE=37; 116 public static final int END_FIELD_DIRECTIVE=38; 117 public static final int END_LOCAL_DIRECTIVE=39; 118 public static final int END_METHOD_DIRECTIVE=40; 119 public static final int END_PACKED_SWITCH_DIRECTIVE=41; 120 public static final int END_PARAMETER_DIRECTIVE=42; 121 public static final int END_SPARSE_SWITCH_DIRECTIVE=43; 122 public static final int END_SUBANNOTATION_DIRECTIVE=44; 123 public static final int ENUM_DIRECTIVE=45; 124 public static final int EPILOGUE_DIRECTIVE=46; 125 public static final int EQUAL=47; 126 public static final int ESCAPE_SEQUENCE=48; 127 public static final int FIELD_DIRECTIVE=49; 128 public static final int FIELD_OFFSET=50; 129 public static final int FLOAT_LITERAL=51; 130 public static final int FLOAT_LITERAL_OR_ID=52; 131 public static final int HEX_DIGIT=53; 132 public static final int HEX_DIGITS=54; 133 public static final int HEX_PREFIX=55; 134 public static final int IMPLEMENTS_DIRECTIVE=56; 135 public static final int INLINE_INDEX=57; 136 public static final int INSTRUCTION_FORMAT10t=58; 137 public static final int INSTRUCTION_FORMAT10x=59; 138 public static final int INSTRUCTION_FORMAT10x_ODEX=60; 139 public static final int INSTRUCTION_FORMAT11n=61; 140 public static final int INSTRUCTION_FORMAT11x=62; 141 public static final int INSTRUCTION_FORMAT12x=63; 142 public static final int INSTRUCTION_FORMAT12x_OR_ID=64; 143 public static final int INSTRUCTION_FORMAT20bc=65; 144 public static final int INSTRUCTION_FORMAT20t=66; 145 public static final int INSTRUCTION_FORMAT21c_FIELD=67; 146 public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=68; 147 public static final int INSTRUCTION_FORMAT21c_STRING=69; 148 public static final int INSTRUCTION_FORMAT21c_TYPE=70; 149 public static final int INSTRUCTION_FORMAT21ih=71; 150 public static final int INSTRUCTION_FORMAT21lh=72; 151 public static final int INSTRUCTION_FORMAT21s=73; 152 public static final int INSTRUCTION_FORMAT21t=74; 153 public static final int INSTRUCTION_FORMAT22b=75; 154 public static final int INSTRUCTION_FORMAT22c_FIELD=76; 155 public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=77; 156 public static final int INSTRUCTION_FORMAT22c_TYPE=78; 157 public static final int INSTRUCTION_FORMAT22cs_FIELD=79; 158 public static final int INSTRUCTION_FORMAT22s=80; 159 public static final int INSTRUCTION_FORMAT22s_OR_ID=81; 160 public static final int INSTRUCTION_FORMAT22t=82; 161 public static final int INSTRUCTION_FORMAT22x=83; 162 public static final int INSTRUCTION_FORMAT23x=84; 163 public static final int INSTRUCTION_FORMAT30t=85; 164 public static final int INSTRUCTION_FORMAT31c=86; 165 public static final int INSTRUCTION_FORMAT31i=87; 166 public static final int INSTRUCTION_FORMAT31i_OR_ID=88; 167 public static final int INSTRUCTION_FORMAT31t=89; 168 public static final int INSTRUCTION_FORMAT32x=90; 169 public static final int INSTRUCTION_FORMAT35c_METHOD=91; 170 public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=92; 171 public static final int INSTRUCTION_FORMAT35c_TYPE=93; 172 public static final int INSTRUCTION_FORMAT35mi_METHOD=94; 173 public static final int INSTRUCTION_FORMAT35ms_METHOD=95; 174 public static final int INSTRUCTION_FORMAT3rc_METHOD=96; 175 public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=97; 176 public static final int INSTRUCTION_FORMAT3rc_TYPE=98; 177 public static final int INSTRUCTION_FORMAT3rmi_METHOD=99; 178 public static final int INSTRUCTION_FORMAT3rms_METHOD=100; 179 public static final int INSTRUCTION_FORMAT51l=101; 180 public static final int INTEGER_LITERAL=102; 181 public static final int INVALID_TOKEN=103; 182 public static final int I_ACCESS_LIST=104; 183 public static final int I_ANNOTATION=105; 184 public static final int I_ANNOTATIONS=106; 185 public static final int I_ANNOTATION_ELEMENT=107; 186 public static final int I_ARRAY_ELEMENTS=108; 187 public static final int I_ARRAY_ELEMENT_SIZE=109; 188 public static final int I_CATCH=110; 189 public static final int I_CATCHALL=111; 190 public static final int I_CATCHES=112; 191 public static final int I_CLASS_DEF=113; 192 public static final int I_ENCODED_ARRAY=114; 193 public static final int I_ENCODED_ENUM=115; 194 public static final int I_ENCODED_FIELD=116; 195 public static final int I_ENCODED_METHOD=117; 196 public static final int I_END_LOCAL=118; 197 public static final int I_EPILOGUE=119; 198 public static final int I_FIELD=120; 199 public static final int I_FIELDS=121; 200 public static final int I_FIELD_INITIAL_VALUE=122; 201 public static final int I_FIELD_TYPE=123; 202 public static final int I_IMPLEMENTS=124; 203 public static final int I_LABEL=125; 204 public static final int I_LINE=126; 205 public static final int I_LOCAL=127; 206 public static final int I_LOCALS=128; 207 public static final int I_METHOD=129; 208 public static final int I_METHODS=130; 209 public static final int I_METHOD_PROTOTYPE=131; 210 public static final int I_METHOD_RETURN_TYPE=132; 211 public static final int I_ORDERED_METHOD_ITEMS=133; 212 public static final int I_PACKED_SWITCH_ELEMENTS=134; 213 public static final int I_PACKED_SWITCH_START_KEY=135; 214 public static final int I_PARAMETER=136; 215 public static final int I_PARAMETERS=137; 216 public static final int I_PARAMETER_NOT_SPECIFIED=138; 217 public static final int I_PROLOGUE=139; 218 public static final int I_REGISTERS=140; 219 public static final int I_REGISTER_LIST=141; 220 public static final int I_REGISTER_RANGE=142; 221 public static final int I_RESTART_LOCAL=143; 222 public static final int I_SOURCE=144; 223 public static final int I_SPARSE_SWITCH_ELEMENTS=145; 224 public static final int I_STATEMENT_ARRAY_DATA=146; 225 public static final int I_STATEMENT_FORMAT10t=147; 226 public static final int I_STATEMENT_FORMAT10x=148; 227 public static final int I_STATEMENT_FORMAT11n=149; 228 public static final int I_STATEMENT_FORMAT11x=150; 229 public static final int I_STATEMENT_FORMAT12x=151; 230 public static final int I_STATEMENT_FORMAT20bc=152; 231 public static final int I_STATEMENT_FORMAT20t=153; 232 public static final int I_STATEMENT_FORMAT21c_FIELD=154; 233 public static final int I_STATEMENT_FORMAT21c_STRING=155; 234 public static final int I_STATEMENT_FORMAT21c_TYPE=156; 235 public static final int I_STATEMENT_FORMAT21ih=157; 236 public static final int I_STATEMENT_FORMAT21lh=158; 237 public static final int I_STATEMENT_FORMAT21s=159; 238 public static final int I_STATEMENT_FORMAT21t=160; 239 public static final int I_STATEMENT_FORMAT22b=161; 240 public static final int I_STATEMENT_FORMAT22c_FIELD=162; 241 public static final int I_STATEMENT_FORMAT22c_TYPE=163; 242 public static final int I_STATEMENT_FORMAT22s=164; 243 public static final int I_STATEMENT_FORMAT22t=165; 244 public static final int I_STATEMENT_FORMAT22x=166; 245 public static final int I_STATEMENT_FORMAT23x=167; 246 public static final int I_STATEMENT_FORMAT30t=168; 247 public static final int I_STATEMENT_FORMAT31c=169; 248 public static final int I_STATEMENT_FORMAT31i=170; 249 public static final int I_STATEMENT_FORMAT31t=171; 250 public static final int I_STATEMENT_FORMAT32x=172; 251 public static final int I_STATEMENT_FORMAT35c_METHOD=173; 252 public static final int I_STATEMENT_FORMAT35c_TYPE=174; 253 public static final int I_STATEMENT_FORMAT3rc_METHOD=175; 254 public static final int I_STATEMENT_FORMAT3rc_TYPE=176; 255 public static final int I_STATEMENT_FORMAT51l=177; 256 public static final int I_STATEMENT_PACKED_SWITCH=178; 257 public static final int I_STATEMENT_SPARSE_SWITCH=179; 258 public static final int I_SUBANNOTATION=180; 259 public static final int I_SUPER=181; 260 public static final int LABEL=182; 261 public static final int LINE_COMMENT=183; 262 public static final int LINE_DIRECTIVE=184; 263 public static final int LOCALS_DIRECTIVE=185; 264 public static final int LOCAL_DIRECTIVE=186; 265 public static final int LONG_LITERAL=187; 266 public static final int MEMBER_NAME=188; 267 public static final int METHOD_DIRECTIVE=189; 268 public static final int NEGATIVE_INTEGER_LITERAL=190; 269 public static final int NULL_LITERAL=191; 270 public static final int OPEN_BRACE=192; 271 public static final int OPEN_PAREN=193; 272 public static final int PACKED_SWITCH_DIRECTIVE=194; 273 public static final int PARAMETER_DIRECTIVE=195; 274 public static final int PARAM_LIST=196; 275 public static final int PARAM_LIST_OR_ID=197; 276 public static final int POSITIVE_INTEGER_LITERAL=198; 277 public static final int PRIMITIVE_TYPE=199; 278 public static final int PROLOGUE_DIRECTIVE=200; 279 public static final int REGISTER=201; 280 public static final int REGISTERS_DIRECTIVE=202; 281 public static final int RESTART_LOCAL_DIRECTIVE=203; 282 public static final int SHORT_LITERAL=204; 283 public static final int SIMPLE_NAME=205; 284 public static final int SOURCE_DIRECTIVE=206; 285 public static final int SPARSE_SWITCH_DIRECTIVE=207; 286 public static final int STRING_LITERAL=208; 287 public static final int SUBANNOTATION_DIRECTIVE=209; 288 public static final int SUPER_DIRECTIVE=210; 289 public static final int VERIFICATION_ERROR_TYPE=211; 290 public static final int VOID_TYPE=212; 291 public static final int VTABLE_INDEX=213; 292 public static final int WHITE_SPACE=214; 293 294 // delegates 295 public Parser[] getDelegates() { 296 return new Parser[] {}; 297 } 298 299 // delegators 300 301 302 public smaliParser(TokenStream input) { 303 this(input, new RecognizerSharedState()); 304 } 305 public smaliParser(TokenStream input, RecognizerSharedState state) { 306 super(input, state); 307 } 308 309 protected TreeAdaptor adaptor = new CommonTreeAdaptor(); 310 311 public void setTreeAdaptor(TreeAdaptor adaptor) { 312 this.adaptor = adaptor; 313 } 314 public TreeAdaptor getTreeAdaptor() { 315 return adaptor; 316 } 317 @Override public String[] getTokenNames() { return smaliParser.tokenNames; } 318 @Override public String getGrammarFileName() { return "/usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g"; } 319 320 321 public static final int ERROR_CHANNEL = 100; 322 323 private boolean verboseErrors = false; 324 private boolean allowOdex = false; 325 private int apiLevel = 15; 326 private Opcodes opcodes = new Opcodes(apiLevel); 327 328 public void setVerboseErrors(boolean verboseErrors) { 329 this.verboseErrors = verboseErrors; 330 } 331 332 public void setAllowOdex(boolean allowOdex) { 333 this.allowOdex = allowOdex; 334 } 335 336 public void setApiLevel(int apiLevel) { 337 this.opcodes = new Opcodes(apiLevel); 338 this.apiLevel = apiLevel; 339 } 340 341 public String getErrorMessage(RecognitionException e, 342 String[] tokenNames) { 343 344 if (verboseErrors) { 345 List stack = getRuleInvocationStack(e, this.getClass().getName()); 346 String msg = null; 347 348 if (e instanceof NoViableAltException) { 349 NoViableAltException nvae = (NoViableAltException)e; 350 msg = " no viable alt; token="+getTokenErrorDisplay(e.token)+ 351 " (decision="+nvae.decisionNumber+ 352 " state "+nvae.stateNumber+")"+ 353 " decision=<<"+nvae.grammarDecisionDescription+">>"; 354 } else { 355 msg = super.getErrorMessage(e, tokenNames); 356 } 357 358 return stack + " " + msg; 359 } else { 360 return super.getErrorMessage(e, tokenNames); 361 } 362 } 363 364 public String getTokenErrorDisplay(Token t) { 365 if (!verboseErrors) { 366 String s = t.getText(); 367 if ( s==null ) { 368 if ( t.getType()==Token.EOF ) { 369 s = "<EOF>"; 370 } 371 else { 372 s = "<"+tokenNames[t.getType()]+">"; 373 } 374 } 375 s = s.replaceAll("\n","\\\\n"); 376 s = s.replaceAll("\r","\\\\r"); 377 s = s.replaceAll("\t","\\\\t"); 378 return "'"+s+"'"; 379 } 380 381 CommonToken ct = (CommonToken)t; 382 383 String channelStr = ""; 384 if (t.getChannel()>0) { 385 channelStr=",channel="+t.getChannel(); 386 } 387 String txt = t.getText(); 388 if ( txt!=null ) { 389 txt = txt.replaceAll("\n","\\\\n"); 390 txt = txt.replaceAll("\r","\\\\r"); 391 txt = txt.replaceAll("\t","\\\\t"); 392 } 393 else { 394 txt = "<no text>"; 395 } 396 return "[@"+t.getTokenIndex()+","+ct.getStartIndex()+":"+ct.getStopIndex()+"='"+txt+"',<"+tokenNames[t.getType()]+">"+channelStr+","+t.getLine()+":"+t.getCharPositionInLine()+"]"; 397 } 398 399 public String getErrorHeader(RecognitionException e) { 400 return getSourceName()+"["+ e.line+","+e.charPositionInLine+"]"; 401 } 402 403 private CommonTree buildTree(int type, String text, List<CommonTree> children) { 404 CommonTree root = new CommonTree(new CommonToken(type, text)); 405 for (CommonTree child: children) { 406 root.addChild(child); 407 } 408 return root; 409 } 410 411 private CommonToken getParamListSubToken(CommonToken baseToken, String str, int typeStartIndex) { 412 CommonToken token = new CommonToken(baseToken); 413 token.setStartIndex(baseToken.getStartIndex() + typeStartIndex); 414 415 switch (str.charAt(typeStartIndex)) { 416 case 'Z': 417 case 'B': 418 case 'S': 419 case 'C': 420 case 'I': 421 case 'J': 422 case 'F': 423 case 'D': 424 { 425 token.setType(PRIMITIVE_TYPE); 426 token.setText(str.substring(typeStartIndex, typeStartIndex+1)); 427 token.setStopIndex(baseToken.getStartIndex() + typeStartIndex); 428 break; 429 } 430 case 'L': 431 { 432 int i = typeStartIndex; 433 while (str.charAt(++i) != ';'); 434 435 token.setType(CLASS_DESCRIPTOR); 436 token.setText(str.substring(typeStartIndex, i + 1)); 437 token.setStopIndex(baseToken.getStartIndex() + i); 438 break; 439 } 440 case '[': 441 { 442 int i = typeStartIndex; 443 while (str.charAt(++i) == '['); 444 445 if (str.charAt(i++) == 'L') { 446 while (str.charAt(i++) != ';'); 447 } 448 449 token.setType(ARRAY_DESCRIPTOR); 450 token.setText(str.substring(typeStartIndex, i)); 451 token.setStopIndex(baseToken.getStartIndex() + i - 1); 452 break; 453 } 454 default: 455 throw new RuntimeException(String.format("Invalid character '%c' in param list \"%s\" at position %d", str.charAt(typeStartIndex), str, typeStartIndex)); 456 } 457 458 return token; 459 } 460 461 private CommonTree parseParamList(CommonToken paramListToken) { 462 String paramList = paramListToken.getText(); 463 CommonTree root = new CommonTree(); 464 465 int startIndex = paramListToken.getStartIndex(); 466 467 int i=0; 468 while (i<paramList.length()) { 469 CommonToken token = getParamListSubToken(paramListToken, paramList, i); 470 root.addChild(new CommonTree(token)); 471 i += token.getText().length(); 472 } 473 474 if (root.getChildCount() == 0) { 475 return null; 476 } 477 return root; 478 } 479 480 private void throwOdexedInstructionException(IntStream input, String odexedInstruction) 481 throws OdexedInstructionException { 482 /*this has to be done in a separate method, otherwise java will complain about the 483 auto-generated code in the rule after the throw not being reachable*/ 484 throw new OdexedInstructionException(input, odexedInstruction); 485 } 486 487 488 protected static class smali_file_scope { 489 boolean hasClassSpec; 490 boolean hasSuperSpec; 491 boolean hasSourceSpec; 492 List<CommonTree> classAnnotations; 493 } 494 protected Stack<smali_file_scope> smali_file_stack = new Stack<smali_file_scope>(); 495 496 public static class smali_file_return extends ParserRuleReturnScope { 497 CommonTree tree; 498 @Override 499 public CommonTree getTree() { return tree; } 500 }; 501 502 503 // $ANTLR start "smali_file" 504 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:433:1: smali_file : ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) ; 505 public final smaliParser.smali_file_return smali_file() throws RecognitionException { 506 smali_file_stack.push(new smali_file_scope()); 507 smaliParser.smali_file_return retval = new smaliParser.smali_file_return(); 508 retval.start = input.LT(1); 509 510 CommonTree root_0 = null; 511 512 Token EOF8=null; 513 ParserRuleReturnScope class_spec1 =null; 514 ParserRuleReturnScope super_spec2 =null; 515 ParserRuleReturnScope implements_spec3 =null; 516 ParserRuleReturnScope source_spec4 =null; 517 ParserRuleReturnScope method5 =null; 518 ParserRuleReturnScope field6 =null; 519 ParserRuleReturnScope annotation7 =null; 520 521 CommonTree EOF8_tree=null; 522 RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF"); 523 RewriteRuleSubtreeStream stream_field=new RewriteRuleSubtreeStream(adaptor,"rule field"); 524 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 525 RewriteRuleSubtreeStream stream_super_spec=new RewriteRuleSubtreeStream(adaptor,"rule super_spec"); 526 RewriteRuleSubtreeStream stream_implements_spec=new RewriteRuleSubtreeStream(adaptor,"rule implements_spec"); 527 RewriteRuleSubtreeStream stream_source_spec=new RewriteRuleSubtreeStream(adaptor,"rule source_spec"); 528 RewriteRuleSubtreeStream stream_method=new RewriteRuleSubtreeStream(adaptor,"rule method"); 529 RewriteRuleSubtreeStream stream_class_spec=new RewriteRuleSubtreeStream(adaptor,"rule class_spec"); 530 531 smali_file_stack.peek().hasClassSpec = smali_file_stack.peek().hasSuperSpec = smali_file_stack.peek().hasSourceSpec = false; 532 smali_file_stack.peek().classAnnotations = new ArrayList<CommonTree>(); 533 534 try { 535 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:445:3: ( ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) ) 536 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF 537 { 538 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ 539 int cnt1=0; 540 loop1: 541 while (true) { 542 int alt1=8; 543 int LA1_0 = input.LA(1); 544 if ( (LA1_0==CLASS_DIRECTIVE) && ((!smali_file_stack.peek().hasClassSpec))) { 545 alt1=1; 546 } 547 else if ( (LA1_0==SUPER_DIRECTIVE) && ((!smali_file_stack.peek().hasSuperSpec))) { 548 alt1=2; 549 } 550 else if ( (LA1_0==IMPLEMENTS_DIRECTIVE) ) { 551 alt1=3; 552 } 553 else if ( (LA1_0==SOURCE_DIRECTIVE) && ((!smali_file_stack.peek().hasSourceSpec))) { 554 alt1=4; 555 } 556 else if ( (LA1_0==METHOD_DIRECTIVE) ) { 557 alt1=5; 558 } 559 else if ( (LA1_0==FIELD_DIRECTIVE) ) { 560 alt1=6; 561 } 562 else if ( (LA1_0==ANNOTATION_DIRECTIVE) ) { 563 alt1=7; 564 } 565 566 switch (alt1) { 567 case 1 : 568 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:5: {...}? => class_spec 569 { 570 if ( !((!smali_file_stack.peek().hasClassSpec)) ) { 571 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasClassSpec"); 572 } 573 pushFollow(FOLLOW_class_spec_in_smali_file1145); 574 class_spec1=class_spec(); 575 state._fsp--; 576 577 stream_class_spec.add(class_spec1.getTree()); 578 smali_file_stack.peek().hasClassSpec = true; 579 } 580 break; 581 case 2 : 582 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:447:5: {...}? => super_spec 583 { 584 if ( !((!smali_file_stack.peek().hasSuperSpec)) ) { 585 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSuperSpec"); 586 } 587 pushFollow(FOLLOW_super_spec_in_smali_file1156); 588 super_spec2=super_spec(); 589 state._fsp--; 590 591 stream_super_spec.add(super_spec2.getTree()); 592 smali_file_stack.peek().hasSuperSpec = true; 593 } 594 break; 595 case 3 : 596 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:448:5: implements_spec 597 { 598 pushFollow(FOLLOW_implements_spec_in_smali_file1164); 599 implements_spec3=implements_spec(); 600 state._fsp--; 601 602 stream_implements_spec.add(implements_spec3.getTree()); 603 } 604 break; 605 case 4 : 606 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:449:5: {...}? => source_spec 607 { 608 if ( !((!smali_file_stack.peek().hasSourceSpec)) ) { 609 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSourceSpec"); 610 } 611 pushFollow(FOLLOW_source_spec_in_smali_file1173); 612 source_spec4=source_spec(); 613 state._fsp--; 614 615 stream_source_spec.add(source_spec4.getTree()); 616 smali_file_stack.peek().hasSourceSpec = true; 617 } 618 break; 619 case 5 : 620 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:450:5: method 621 { 622 pushFollow(FOLLOW_method_in_smali_file1181); 623 method5=method(); 624 state._fsp--; 625 626 stream_method.add(method5.getTree()); 627 } 628 break; 629 case 6 : 630 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:451:5: field 631 { 632 pushFollow(FOLLOW_field_in_smali_file1187); 633 field6=field(); 634 state._fsp--; 635 636 stream_field.add(field6.getTree()); 637 } 638 break; 639 case 7 : 640 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:452:5: annotation 641 { 642 pushFollow(FOLLOW_annotation_in_smali_file1193); 643 annotation7=annotation(); 644 state._fsp--; 645 646 stream_annotation.add(annotation7.getTree()); 647 smali_file_stack.peek().classAnnotations.add((annotation7!=null?((CommonTree)annotation7.getTree()):null)); 648 } 649 break; 650 651 default : 652 if ( cnt1 >= 1 ) break loop1; 653 EarlyExitException eee = new EarlyExitException(1, input); 654 throw eee; 655 } 656 cnt1++; 657 } 658 659 EOF8=(Token)match(input,EOF,FOLLOW_EOF_in_smali_file1204); 660 stream_EOF.add(EOF8); 661 662 663 if (!smali_file_stack.peek().hasClassSpec) { 664 throw new SemanticException(input, "The file must contain a .class directive"); 665 } 666 667 if (!smali_file_stack.peek().hasSuperSpec) { 668 if (!(class_spec1!=null?((smaliParser.class_spec_return)class_spec1).className:null).equals("Ljava/lang/Object;")) { 669 throw new SemanticException(input, "The file must contain a .super directive"); 670 } 671 } 672 673 // AST REWRITE 674 // elements: source_spec, implements_spec, super_spec, field, class_spec, method 675 // token labels: 676 // rule labels: retval 677 // token list labels: 678 // rule list labels: 679 // wildcard labels: 680 retval.tree = root_0; 681 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 682 683 root_0 = (CommonTree)adaptor.nil(); 684 // 466:3: -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) 685 { 686 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:466:6: ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) 687 { 688 CommonTree root_1 = (CommonTree)adaptor.nil(); 689 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CLASS_DEF, "I_CLASS_DEF"), root_1); 690 adaptor.addChild(root_1, stream_class_spec.nextTree()); 691 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:468:8: ( super_spec )? 692 if ( stream_super_spec.hasNext() ) { 693 adaptor.addChild(root_1, stream_super_spec.nextTree()); 694 } 695 stream_super_spec.reset(); 696 697 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:469:8: ( implements_spec )* 698 while ( stream_implements_spec.hasNext() ) { 699 adaptor.addChild(root_1, stream_implements_spec.nextTree()); 700 } 701 stream_implements_spec.reset(); 702 703 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:470:8: ( source_spec )? 704 if ( stream_source_spec.hasNext() ) { 705 adaptor.addChild(root_1, stream_source_spec.nextTree()); 706 } 707 stream_source_spec.reset(); 708 709 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:8: ^( I_METHODS ( method )* ) 710 { 711 CommonTree root_2 = (CommonTree)adaptor.nil(); 712 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHODS, "I_METHODS"), root_2); 713 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:20: ( method )* 714 while ( stream_method.hasNext() ) { 715 adaptor.addChild(root_2, stream_method.nextTree()); 716 } 717 stream_method.reset(); 718 719 adaptor.addChild(root_1, root_2); 720 } 721 722 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:29: ^( I_FIELDS ( field )* ) 723 { 724 CommonTree root_2 = (CommonTree)adaptor.nil(); 725 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELDS, "I_FIELDS"), root_2); 726 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:40: ( field )* 727 while ( stream_field.hasNext() ) { 728 adaptor.addChild(root_2, stream_field.nextTree()); 729 } 730 stream_field.reset(); 731 732 adaptor.addChild(root_1, root_2); 733 } 734 735 adaptor.addChild(root_1, buildTree(I_ANNOTATIONS, "I_ANNOTATIONS", smali_file_stack.peek().classAnnotations)); 736 adaptor.addChild(root_0, root_1); 737 } 738 739 } 740 741 742 retval.tree = root_0; 743 744 } 745 746 retval.stop = input.LT(-1); 747 748 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 749 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 750 751 } 752 catch (RecognitionException re) { 753 reportError(re); 754 recover(input,re); 755 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 756 } 757 finally { 758 // do for sure before leaving 759 smali_file_stack.pop(); 760 } 761 return retval; 762 } 763 // $ANTLR end "smali_file" 764 765 766 public static class class_spec_return extends ParserRuleReturnScope { 767 public String className; 768 CommonTree tree; 769 @Override 770 public CommonTree getTree() { return tree; } 771 }; 772 773 774 // $ANTLR start "class_spec" 775 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:473:1: class_spec returns [String className] : CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ; 776 public final smaliParser.class_spec_return class_spec() throws RecognitionException { 777 smaliParser.class_spec_return retval = new smaliParser.class_spec_return(); 778 retval.start = input.LT(1); 779 780 CommonTree root_0 = null; 781 782 Token CLASS_DIRECTIVE9=null; 783 Token CLASS_DESCRIPTOR11=null; 784 ParserRuleReturnScope access_list10 =null; 785 786 CommonTree CLASS_DIRECTIVE9_tree=null; 787 CommonTree CLASS_DESCRIPTOR11_tree=null; 788 RewriteRuleTokenStream stream_CLASS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token CLASS_DIRECTIVE"); 789 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 790 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 791 792 try { 793 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:474:3: ( CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ) 794 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:474:5: CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR 795 { 796 CLASS_DIRECTIVE9=(Token)match(input,CLASS_DIRECTIVE,FOLLOW_CLASS_DIRECTIVE_in_class_spec1291); 797 stream_CLASS_DIRECTIVE.add(CLASS_DIRECTIVE9); 798 799 pushFollow(FOLLOW_access_list_in_class_spec1293); 800 access_list10=access_list(); 801 state._fsp--; 802 803 stream_access_list.add(access_list10.getTree()); 804 CLASS_DESCRIPTOR11=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec1295); 805 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR11); 806 807 retval.className = (CLASS_DESCRIPTOR11!=null?CLASS_DESCRIPTOR11.getText():null); 808 // AST REWRITE 809 // elements: CLASS_DESCRIPTOR, access_list 810 // token labels: 811 // rule labels: retval 812 // token list labels: 813 // rule list labels: 814 // wildcard labels: 815 retval.tree = root_0; 816 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 817 818 root_0 = (CommonTree)adaptor.nil(); 819 // 474:89: -> CLASS_DESCRIPTOR access_list 820 { 821 adaptor.addChild(root_0, stream_CLASS_DESCRIPTOR.nextNode()); 822 adaptor.addChild(root_0, stream_access_list.nextTree()); 823 } 824 825 826 retval.tree = root_0; 827 828 } 829 830 retval.stop = input.LT(-1); 831 832 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 833 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 834 835 } 836 catch (RecognitionException re) { 837 reportError(re); 838 recover(input,re); 839 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 840 } 841 finally { 842 // do for sure before leaving 843 } 844 return retval; 845 } 846 // $ANTLR end "class_spec" 847 848 849 public static class super_spec_return extends ParserRuleReturnScope { 850 CommonTree tree; 851 @Override 852 public CommonTree getTree() { return tree; } 853 }; 854 855 856 // $ANTLR start "super_spec" 857 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:476:1: super_spec : SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ; 858 public final smaliParser.super_spec_return super_spec() throws RecognitionException { 859 smaliParser.super_spec_return retval = new smaliParser.super_spec_return(); 860 retval.start = input.LT(1); 861 862 CommonTree root_0 = null; 863 864 Token SUPER_DIRECTIVE12=null; 865 Token CLASS_DESCRIPTOR13=null; 866 867 CommonTree SUPER_DIRECTIVE12_tree=null; 868 CommonTree CLASS_DESCRIPTOR13_tree=null; 869 RewriteRuleTokenStream stream_SUPER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SUPER_DIRECTIVE"); 870 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 871 872 try { 873 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:3: ( SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ) 874 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:5: SUPER_DIRECTIVE CLASS_DESCRIPTOR 875 { 876 SUPER_DIRECTIVE12=(Token)match(input,SUPER_DIRECTIVE,FOLLOW_SUPER_DIRECTIVE_in_super_spec1313); 877 stream_SUPER_DIRECTIVE.add(SUPER_DIRECTIVE12); 878 879 CLASS_DESCRIPTOR13=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec1315); 880 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR13); 881 882 // AST REWRITE 883 // elements: CLASS_DESCRIPTOR 884 // token labels: 885 // rule labels: retval 886 // token list labels: 887 // rule list labels: 888 // wildcard labels: 889 retval.tree = root_0; 890 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 891 892 root_0 = (CommonTree)adaptor.nil(); 893 // 477:38: -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) 894 { 895 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:41: ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) 896 { 897 CommonTree root_1 = (CommonTree)adaptor.nil(); 898 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUPER, (retval.start), "I_SUPER"), root_1); 899 adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode()); 900 adaptor.addChild(root_0, root_1); 901 } 902 903 } 904 905 906 retval.tree = root_0; 907 908 } 909 910 retval.stop = input.LT(-1); 911 912 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 913 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 914 915 } 916 catch (RecognitionException re) { 917 reportError(re); 918 recover(input,re); 919 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 920 } 921 finally { 922 // do for sure before leaving 923 } 924 return retval; 925 } 926 // $ANTLR end "super_spec" 927 928 929 public static class implements_spec_return extends ParserRuleReturnScope { 930 CommonTree tree; 931 @Override 932 public CommonTree getTree() { return tree; } 933 }; 934 935 936 // $ANTLR start "implements_spec" 937 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:479:1: implements_spec : IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ; 938 public final smaliParser.implements_spec_return implements_spec() throws RecognitionException { 939 smaliParser.implements_spec_return retval = new smaliParser.implements_spec_return(); 940 retval.start = input.LT(1); 941 942 CommonTree root_0 = null; 943 944 Token IMPLEMENTS_DIRECTIVE14=null; 945 Token CLASS_DESCRIPTOR15=null; 946 947 CommonTree IMPLEMENTS_DIRECTIVE14_tree=null; 948 CommonTree CLASS_DESCRIPTOR15_tree=null; 949 RewriteRuleTokenStream stream_IMPLEMENTS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token IMPLEMENTS_DIRECTIVE"); 950 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 951 952 try { 953 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:3: ( IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ) 954 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:5: IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR 955 { 956 IMPLEMENTS_DIRECTIVE14=(Token)match(input,IMPLEMENTS_DIRECTIVE,FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1334); 957 stream_IMPLEMENTS_DIRECTIVE.add(IMPLEMENTS_DIRECTIVE14); 958 959 CLASS_DESCRIPTOR15=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1336); 960 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR15); 961 962 // AST REWRITE 963 // elements: CLASS_DESCRIPTOR 964 // token labels: 965 // rule labels: retval 966 // token list labels: 967 // rule list labels: 968 // wildcard labels: 969 retval.tree = root_0; 970 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 971 972 root_0 = (CommonTree)adaptor.nil(); 973 // 480:43: -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) 974 { 975 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:46: ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) 976 { 977 CommonTree root_1 = (CommonTree)adaptor.nil(); 978 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_IMPLEMENTS, (retval.start), "I_IMPLEMENTS"), root_1); 979 adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode()); 980 adaptor.addChild(root_0, root_1); 981 } 982 983 } 984 985 986 retval.tree = root_0; 987 988 } 989 990 retval.stop = input.LT(-1); 991 992 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 993 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 994 995 } 996 catch (RecognitionException re) { 997 reportError(re); 998 recover(input,re); 999 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1000 } 1001 finally { 1002 // do for sure before leaving 1003 } 1004 return retval; 1005 } 1006 // $ANTLR end "implements_spec" 1007 1008 1009 public static class source_spec_return extends ParserRuleReturnScope { 1010 CommonTree tree; 1011 @Override 1012 public CommonTree getTree() { return tree; } 1013 }; 1014 1015 1016 // $ANTLR start "source_spec" 1017 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:482:1: source_spec : SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ; 1018 public final smaliParser.source_spec_return source_spec() throws RecognitionException { 1019 smaliParser.source_spec_return retval = new smaliParser.source_spec_return(); 1020 retval.start = input.LT(1); 1021 1022 CommonTree root_0 = null; 1023 1024 Token SOURCE_DIRECTIVE16=null; 1025 Token STRING_LITERAL17=null; 1026 1027 CommonTree SOURCE_DIRECTIVE16_tree=null; 1028 CommonTree STRING_LITERAL17_tree=null; 1029 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 1030 RewriteRuleTokenStream stream_SOURCE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SOURCE_DIRECTIVE"); 1031 1032 try { 1033 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:3: ( SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ) 1034 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:5: SOURCE_DIRECTIVE STRING_LITERAL 1035 { 1036 SOURCE_DIRECTIVE16=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_spec1355); 1037 stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE16); 1038 1039 STRING_LITERAL17=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_spec1357); 1040 stream_STRING_LITERAL.add(STRING_LITERAL17); 1041 1042 // AST REWRITE 1043 // elements: STRING_LITERAL 1044 // token labels: 1045 // rule labels: retval 1046 // token list labels: 1047 // rule list labels: 1048 // wildcard labels: 1049 retval.tree = root_0; 1050 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1051 1052 root_0 = (CommonTree)adaptor.nil(); 1053 // 483:37: -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) 1054 { 1055 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:40: ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) 1056 { 1057 CommonTree root_1 = (CommonTree)adaptor.nil(); 1058 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SOURCE, (retval.start), "I_SOURCE"), root_1); 1059 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 1060 adaptor.addChild(root_0, root_1); 1061 } 1062 1063 } 1064 1065 1066 retval.tree = root_0; 1067 1068 } 1069 1070 retval.stop = input.LT(-1); 1071 1072 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1073 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1074 1075 } 1076 catch (RecognitionException re) { 1077 reportError(re); 1078 recover(input,re); 1079 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1080 } 1081 finally { 1082 // do for sure before leaving 1083 } 1084 return retval; 1085 } 1086 // $ANTLR end "source_spec" 1087 1088 1089 public static class access_list_return extends ParserRuleReturnScope { 1090 CommonTree tree; 1091 @Override 1092 public CommonTree getTree() { return tree; } 1093 }; 1094 1095 1096 // $ANTLR start "access_list" 1097 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:485:1: access_list : ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ; 1098 public final smaliParser.access_list_return access_list() throws RecognitionException { 1099 smaliParser.access_list_return retval = new smaliParser.access_list_return(); 1100 retval.start = input.LT(1); 1101 1102 CommonTree root_0 = null; 1103 1104 Token ACCESS_SPEC18=null; 1105 1106 CommonTree ACCESS_SPEC18_tree=null; 1107 RewriteRuleTokenStream stream_ACCESS_SPEC=new RewriteRuleTokenStream(adaptor,"token ACCESS_SPEC"); 1108 1109 try { 1110 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:3: ( ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ) 1111 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ( ACCESS_SPEC )* 1112 { 1113 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ( ACCESS_SPEC )* 1114 loop2: 1115 while (true) { 1116 int alt2=2; 1117 int LA2_0 = input.LA(1); 1118 if ( (LA2_0==ACCESS_SPEC) ) { 1119 int LA2_2 = input.LA(2); 1120 if ( (LA2_2==ACCESS_SPEC||LA2_2==ANNOTATION_VISIBILITY||LA2_2==BOOL_LITERAL||LA2_2==CLASS_DESCRIPTOR||LA2_2==DOUBLE_LITERAL_OR_ID||LA2_2==FLOAT_LITERAL_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT10t && LA2_2 <= INSTRUCTION_FORMAT10x_ODEX)||LA2_2==INSTRUCTION_FORMAT11x||LA2_2==INSTRUCTION_FORMAT12x_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT21c_FIELD && LA2_2 <= INSTRUCTION_FORMAT21c_TYPE)||LA2_2==INSTRUCTION_FORMAT21t||(LA2_2 >= INSTRUCTION_FORMAT22c_FIELD && LA2_2 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA2_2 >= INSTRUCTION_FORMAT22s_OR_ID && LA2_2 <= INSTRUCTION_FORMAT22t)||LA2_2==INSTRUCTION_FORMAT23x||(LA2_2 >= INSTRUCTION_FORMAT31i_OR_ID && LA2_2 <= INSTRUCTION_FORMAT31t)||(LA2_2 >= INSTRUCTION_FORMAT35c_METHOD && LA2_2 <= INSTRUCTION_FORMAT35ms_METHOD)||LA2_2==INSTRUCTION_FORMAT51l||LA2_2==MEMBER_NAME||(LA2_2 >= NEGATIVE_INTEGER_LITERAL && LA2_2 <= NULL_LITERAL)||(LA2_2 >= PARAM_LIST_OR_ID && LA2_2 <= PRIMITIVE_TYPE)||LA2_2==REGISTER||LA2_2==SIMPLE_NAME||(LA2_2 >= VERIFICATION_ERROR_TYPE && LA2_2 <= VOID_TYPE)) ) { 1121 alt2=1; 1122 } 1123 1124 } 1125 1126 switch (alt2) { 1127 case 1 : 1128 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ACCESS_SPEC 1129 { 1130 ACCESS_SPEC18=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list1376); 1131 stream_ACCESS_SPEC.add(ACCESS_SPEC18); 1132 1133 } 1134 break; 1135 1136 default : 1137 break loop2; 1138 } 1139 } 1140 1141 // AST REWRITE 1142 // elements: ACCESS_SPEC 1143 // token labels: 1144 // rule labels: retval 1145 // token list labels: 1146 // rule list labels: 1147 // wildcard labels: 1148 retval.tree = root_0; 1149 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1150 1151 root_0 = (CommonTree)adaptor.nil(); 1152 // 486:18: -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) 1153 { 1154 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:21: ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) 1155 { 1156 CommonTree root_1 = (CommonTree)adaptor.nil(); 1157 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ACCESS_LIST, (retval.start), "I_ACCESS_LIST"), root_1); 1158 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:61: ( ACCESS_SPEC )* 1159 while ( stream_ACCESS_SPEC.hasNext() ) { 1160 adaptor.addChild(root_1, stream_ACCESS_SPEC.nextNode()); 1161 } 1162 stream_ACCESS_SPEC.reset(); 1163 1164 adaptor.addChild(root_0, root_1); 1165 } 1166 1167 } 1168 1169 1170 retval.tree = root_0; 1171 1172 } 1173 1174 retval.stop = input.LT(-1); 1175 1176 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1177 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1178 1179 } 1180 catch (RecognitionException re) { 1181 reportError(re); 1182 recover(input,re); 1183 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1184 } 1185 finally { 1186 // do for sure before leaving 1187 } 1188 return retval; 1189 } 1190 // $ANTLR end "access_list" 1191 1192 1193 public static class field_return extends ParserRuleReturnScope { 1194 CommonTree tree; 1195 @Override 1196 public CommonTree getTree() { return tree; } 1197 }; 1198 1199 1200 // $ANTLR start "field" 1201 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:493:1: field : FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) ; 1202 public final smaliParser.field_return field() throws RecognitionException { 1203 smaliParser.field_return retval = new smaliParser.field_return(); 1204 retval.start = input.LT(1); 1205 1206 CommonTree root_0 = null; 1207 1208 Token FIELD_DIRECTIVE19=null; 1209 Token COLON22=null; 1210 Token EQUAL24=null; 1211 Token END_FIELD_DIRECTIVE27=null; 1212 ParserRuleReturnScope access_list20 =null; 1213 ParserRuleReturnScope member_name21 =null; 1214 ParserRuleReturnScope nonvoid_type_descriptor23 =null; 1215 ParserRuleReturnScope literal25 =null; 1216 ParserRuleReturnScope annotation26 =null; 1217 1218 CommonTree FIELD_DIRECTIVE19_tree=null; 1219 CommonTree COLON22_tree=null; 1220 CommonTree EQUAL24_tree=null; 1221 CommonTree END_FIELD_DIRECTIVE27_tree=null; 1222 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 1223 RewriteRuleTokenStream stream_FIELD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token FIELD_DIRECTIVE"); 1224 RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); 1225 RewriteRuleTokenStream stream_END_FIELD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_FIELD_DIRECTIVE"); 1226 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 1227 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 1228 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 1229 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 1230 RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal"); 1231 1232 List<CommonTree> annotations = new ArrayList<CommonTree>(); 1233 try { 1234 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:3: ( FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) ) 1235 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:5: FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) 1236 { 1237 FIELD_DIRECTIVE19=(Token)match(input,FIELD_DIRECTIVE,FOLLOW_FIELD_DIRECTIVE_in_field1407); 1238 stream_FIELD_DIRECTIVE.add(FIELD_DIRECTIVE19); 1239 1240 pushFollow(FOLLOW_access_list_in_field1409); 1241 access_list20=access_list(); 1242 state._fsp--; 1243 1244 stream_access_list.add(access_list20.getTree()); 1245 pushFollow(FOLLOW_member_name_in_field1411); 1246 member_name21=member_name(); 1247 state._fsp--; 1248 1249 stream_member_name.add(member_name21.getTree()); 1250 COLON22=(Token)match(input,COLON,FOLLOW_COLON_in_field1413); 1251 stream_COLON.add(COLON22); 1252 1253 pushFollow(FOLLOW_nonvoid_type_descriptor_in_field1415); 1254 nonvoid_type_descriptor23=nonvoid_type_descriptor(); 1255 state._fsp--; 1256 1257 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor23.getTree()); 1258 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:75: ( EQUAL literal )? 1259 int alt3=2; 1260 int LA3_0 = input.LA(1); 1261 if ( (LA3_0==EQUAL) ) { 1262 alt3=1; 1263 } 1264 switch (alt3) { 1265 case 1 : 1266 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:76: EQUAL literal 1267 { 1268 EQUAL24=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_field1418); 1269 stream_EQUAL.add(EQUAL24); 1270 1271 pushFollow(FOLLOW_literal_in_field1420); 1272 literal25=literal(); 1273 state._fsp--; 1274 1275 stream_literal.add(literal25.getTree()); 1276 } 1277 break; 1278 1279 } 1280 1281 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:5: ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) 1282 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:7: ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) 1283 { 1284 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:7: ({...}? annotation )* 1285 loop4: 1286 while (true) { 1287 int alt4=2; 1288 int LA4_0 = input.LA(1); 1289 if ( (LA4_0==ANNOTATION_DIRECTIVE) ) { 1290 int LA4_9 = input.LA(2); 1291 if ( ((input.LA(1) == ANNOTATION_DIRECTIVE)) ) { 1292 alt4=1; 1293 } 1294 1295 } 1296 1297 switch (alt4) { 1298 case 1 : 1299 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:8: {...}? annotation 1300 { 1301 if ( !((input.LA(1) == ANNOTATION_DIRECTIVE)) ) { 1302 throw new FailedPredicateException(input, "field", "input.LA(1) == ANNOTATION_DIRECTIVE"); 1303 } 1304 pushFollow(FOLLOW_annotation_in_field1433); 1305 annotation26=annotation(); 1306 state._fsp--; 1307 1308 stream_annotation.add(annotation26.getTree()); 1309 annotations.add((annotation26!=null?((CommonTree)annotation26.getTree()):null)); 1310 } 1311 break; 1312 1313 default : 1314 break loop4; 1315 } 1316 } 1317 1318 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:497:7: ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) 1319 int alt5=2; 1320 int LA5_0 = input.LA(1); 1321 if ( (LA5_0==END_FIELD_DIRECTIVE) ) { 1322 alt5=1; 1323 } 1324 else if ( (LA5_0==EOF||LA5_0==ANNOTATION_DIRECTIVE||LA5_0==CLASS_DIRECTIVE||LA5_0==FIELD_DIRECTIVE||LA5_0==IMPLEMENTS_DIRECTIVE||LA5_0==METHOD_DIRECTIVE||LA5_0==SOURCE_DIRECTIVE||LA5_0==SUPER_DIRECTIVE) ) { 1325 alt5=2; 1326 } 1327 1328 else { 1329 NoViableAltException nvae = 1330 new NoViableAltException("", 5, 0, input); 1331 throw nvae; 1332 } 1333 1334 switch (alt5) { 1335 case 1 : 1336 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:497:9: END_FIELD_DIRECTIVE 1337 { 1338 END_FIELD_DIRECTIVE27=(Token)match(input,END_FIELD_DIRECTIVE,FOLLOW_END_FIELD_DIRECTIVE_in_field1447); 1339 stream_END_FIELD_DIRECTIVE.add(END_FIELD_DIRECTIVE27); 1340 1341 // AST REWRITE 1342 // elements: access_list, nonvoid_type_descriptor, member_name, literal, annotation 1343 // token labels: 1344 // rule labels: retval 1345 // token list labels: 1346 // rule list labels: 1347 // wildcard labels: 1348 retval.tree = root_0; 1349 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1350 1351 root_0 = (CommonTree)adaptor.nil(); 1352 // 498:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) 1353 { 1354 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) 1355 { 1356 CommonTree root_1 = (CommonTree)adaptor.nil(); 1357 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1); 1358 adaptor.addChild(root_1, stream_member_name.nextTree()); 1359 adaptor.addChild(root_1, stream_access_list.nextTree()); 1360 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:65: ^( I_FIELD_TYPE nonvoid_type_descriptor ) 1361 { 1362 CommonTree root_2 = (CommonTree)adaptor.nil(); 1363 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2); 1364 adaptor.addChild(root_2, stream_nonvoid_type_descriptor.nextTree()); 1365 adaptor.addChild(root_1, root_2); 1366 } 1367 1368 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )? 1369 if ( stream_literal.hasNext() ) { 1370 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:105: ^( I_FIELD_INITIAL_VALUE literal ) 1371 { 1372 CommonTree root_2 = (CommonTree)adaptor.nil(); 1373 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2); 1374 adaptor.addChild(root_2, stream_literal.nextTree()); 1375 adaptor.addChild(root_1, root_2); 1376 } 1377 1378 } 1379 stream_literal.reset(); 1380 1381 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:139: ^( I_ANNOTATIONS ( annotation )* ) 1382 { 1383 CommonTree root_2 = (CommonTree)adaptor.nil(); 1384 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 1385 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:155: ( annotation )* 1386 while ( stream_annotation.hasNext() ) { 1387 adaptor.addChild(root_2, stream_annotation.nextTree()); 1388 } 1389 stream_annotation.reset(); 1390 1391 adaptor.addChild(root_1, root_2); 1392 } 1393 1394 adaptor.addChild(root_0, root_1); 1395 } 1396 1397 } 1398 1399 1400 retval.tree = root_0; 1401 1402 } 1403 break; 1404 case 2 : 1405 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:499:21: 1406 { 1407 smali_file_stack.peek().classAnnotations.addAll(annotations); 1408 // AST REWRITE 1409 // elements: access_list, nonvoid_type_descriptor, literal, member_name 1410 // token labels: 1411 // rule labels: retval 1412 // token list labels: 1413 // rule list labels: 1414 // wildcard labels: 1415 retval.tree = root_0; 1416 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1417 1418 root_0 = (CommonTree)adaptor.nil(); 1419 // 500:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) 1420 { 1421 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) 1422 { 1423 CommonTree root_1 = (CommonTree)adaptor.nil(); 1424 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1); 1425 adaptor.addChild(root_1, stream_member_name.nextTree()); 1426 adaptor.addChild(root_1, stream_access_list.nextTree()); 1427 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:65: ^( I_FIELD_TYPE nonvoid_type_descriptor ) 1428 { 1429 CommonTree root_2 = (CommonTree)adaptor.nil(); 1430 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2); 1431 adaptor.addChild(root_2, stream_nonvoid_type_descriptor.nextTree()); 1432 adaptor.addChild(root_1, root_2); 1433 } 1434 1435 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )? 1436 if ( stream_literal.hasNext() ) { 1437 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:105: ^( I_FIELD_INITIAL_VALUE literal ) 1438 { 1439 CommonTree root_2 = (CommonTree)adaptor.nil(); 1440 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2); 1441 adaptor.addChild(root_2, stream_literal.nextTree()); 1442 adaptor.addChild(root_1, root_2); 1443 } 1444 1445 } 1446 stream_literal.reset(); 1447 1448 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:139: ^( I_ANNOTATIONS ) 1449 { 1450 CommonTree root_2 = (CommonTree)adaptor.nil(); 1451 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 1452 adaptor.addChild(root_1, root_2); 1453 } 1454 1455 adaptor.addChild(root_0, root_1); 1456 } 1457 1458 } 1459 1460 1461 retval.tree = root_0; 1462 1463 } 1464 break; 1465 1466 } 1467 1468 } 1469 1470 } 1471 1472 retval.stop = input.LT(-1); 1473 1474 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1475 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1476 1477 } 1478 catch (RecognitionException re) { 1479 reportError(re); 1480 recover(input,re); 1481 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1482 } 1483 finally { 1484 // do for sure before leaving 1485 } 1486 return retval; 1487 } 1488 // $ANTLR end "field" 1489 1490 1491 public static class method_return extends ParserRuleReturnScope { 1492 CommonTree tree; 1493 @Override 1494 public CommonTree getTree() { return tree; } 1495 }; 1496 1497 1498 // $ANTLR start "method" 1499 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:504:1: method : METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) ; 1500 public final smaliParser.method_return method() throws RecognitionException { 1501 smaliParser.method_return retval = new smaliParser.method_return(); 1502 retval.start = input.LT(1); 1503 1504 CommonTree root_0 = null; 1505 1506 Token METHOD_DIRECTIVE28=null; 1507 Token END_METHOD_DIRECTIVE33=null; 1508 ParserRuleReturnScope access_list29 =null; 1509 ParserRuleReturnScope member_name30 =null; 1510 ParserRuleReturnScope method_prototype31 =null; 1511 ParserRuleReturnScope statements_and_directives32 =null; 1512 1513 CommonTree METHOD_DIRECTIVE28_tree=null; 1514 CommonTree END_METHOD_DIRECTIVE33_tree=null; 1515 RewriteRuleTokenStream stream_END_METHOD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_METHOD_DIRECTIVE"); 1516 RewriteRuleTokenStream stream_METHOD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token METHOD_DIRECTIVE"); 1517 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 1518 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 1519 RewriteRuleSubtreeStream stream_statements_and_directives=new RewriteRuleSubtreeStream(adaptor,"rule statements_and_directives"); 1520 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 1521 1522 try { 1523 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:505:3: ( METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) ) 1524 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:505:5: METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE 1525 { 1526 METHOD_DIRECTIVE28=(Token)match(input,METHOD_DIRECTIVE,FOLLOW_METHOD_DIRECTIVE_in_method1558); 1527 stream_METHOD_DIRECTIVE.add(METHOD_DIRECTIVE28); 1528 1529 pushFollow(FOLLOW_access_list_in_method1560); 1530 access_list29=access_list(); 1531 state._fsp--; 1532 1533 stream_access_list.add(access_list29.getTree()); 1534 pushFollow(FOLLOW_member_name_in_method1562); 1535 member_name30=member_name(); 1536 state._fsp--; 1537 1538 stream_member_name.add(member_name30.getTree()); 1539 pushFollow(FOLLOW_method_prototype_in_method1564); 1540 method_prototype31=method_prototype(); 1541 state._fsp--; 1542 1543 stream_method_prototype.add(method_prototype31.getTree()); 1544 pushFollow(FOLLOW_statements_and_directives_in_method1566); 1545 statements_and_directives32=statements_and_directives(); 1546 state._fsp--; 1547 1548 stream_statements_and_directives.add(statements_and_directives32.getTree()); 1549 END_METHOD_DIRECTIVE33=(Token)match(input,END_METHOD_DIRECTIVE,FOLLOW_END_METHOD_DIRECTIVE_in_method1572); 1550 stream_END_METHOD_DIRECTIVE.add(END_METHOD_DIRECTIVE33); 1551 1552 // AST REWRITE 1553 // elements: method_prototype, statements_and_directives, access_list, member_name 1554 // token labels: 1555 // rule labels: retval 1556 // token list labels: 1557 // rule list labels: 1558 // wildcard labels: 1559 retval.tree = root_0; 1560 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1561 1562 root_0 = (CommonTree)adaptor.nil(); 1563 // 507:5: -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) 1564 { 1565 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:507:8: ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) 1566 { 1567 CommonTree root_1 = (CommonTree)adaptor.nil(); 1568 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD, (retval.start), "I_METHOD"), root_1); 1569 adaptor.addChild(root_1, stream_member_name.nextTree()); 1570 adaptor.addChild(root_1, stream_method_prototype.nextTree()); 1571 adaptor.addChild(root_1, stream_access_list.nextTree()); 1572 adaptor.addChild(root_1, stream_statements_and_directives.nextTree()); 1573 adaptor.addChild(root_0, root_1); 1574 } 1575 1576 } 1577 1578 1579 retval.tree = root_0; 1580 1581 } 1582 1583 retval.stop = input.LT(-1); 1584 1585 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1586 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1587 1588 } 1589 catch (RecognitionException re) { 1590 reportError(re); 1591 recover(input,re); 1592 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1593 } 1594 finally { 1595 // do for sure before leaving 1596 } 1597 return retval; 1598 } 1599 // $ANTLR end "method" 1600 1601 1602 protected static class statements_and_directives_scope { 1603 boolean hasRegistersDirective; 1604 List<CommonTree> methodAnnotations; 1605 } 1606 protected Stack<statements_and_directives_scope> statements_and_directives_stack = new Stack<statements_and_directives_scope>(); 1607 1608 public static class statements_and_directives_return extends ParserRuleReturnScope { 1609 CommonTree tree; 1610 @Override 1611 public CommonTree getTree() { return tree; } 1612 }; 1613 1614 1615 // $ANTLR start "statements_and_directives" 1616 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:509:1: statements_and_directives : ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) ; 1617 public final smaliParser.statements_and_directives_return statements_and_directives() throws RecognitionException { 1618 statements_and_directives_stack.push(new statements_and_directives_scope()); 1619 smaliParser.statements_and_directives_return retval = new smaliParser.statements_and_directives_return(); 1620 retval.start = input.LT(1); 1621 1622 CommonTree root_0 = null; 1623 1624 ParserRuleReturnScope ordered_method_item34 =null; 1625 ParserRuleReturnScope registers_directive35 =null; 1626 ParserRuleReturnScope catch_directive36 =null; 1627 ParserRuleReturnScope catchall_directive37 =null; 1628 ParserRuleReturnScope parameter_directive38 =null; 1629 ParserRuleReturnScope annotation39 =null; 1630 1631 RewriteRuleSubtreeStream stream_catchall_directive=new RewriteRuleSubtreeStream(adaptor,"rule catchall_directive"); 1632 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 1633 RewriteRuleSubtreeStream stream_ordered_method_item=new RewriteRuleSubtreeStream(adaptor,"rule ordered_method_item"); 1634 RewriteRuleSubtreeStream stream_catch_directive=new RewriteRuleSubtreeStream(adaptor,"rule catch_directive"); 1635 RewriteRuleSubtreeStream stream_registers_directive=new RewriteRuleSubtreeStream(adaptor,"rule registers_directive"); 1636 RewriteRuleSubtreeStream stream_parameter_directive=new RewriteRuleSubtreeStream(adaptor,"rule parameter_directive"); 1637 1638 try { 1639 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:515:3: ( ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) ) 1640 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:515:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* 1641 { 1642 1643 statements_and_directives_stack.peek().hasRegistersDirective = false; 1644 statements_and_directives_stack.peek().methodAnnotations = new ArrayList<CommonTree>(); 1645 1646 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:519:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* 1647 loop6: 1648 while (true) { 1649 int alt6=7; 1650 switch ( input.LA(1) ) { 1651 case ARRAY_DATA_DIRECTIVE: 1652 case COLON: 1653 case END_LOCAL_DIRECTIVE: 1654 case EPILOGUE_DIRECTIVE: 1655 case INSTRUCTION_FORMAT10t: 1656 case INSTRUCTION_FORMAT10x: 1657 case INSTRUCTION_FORMAT10x_ODEX: 1658 case INSTRUCTION_FORMAT11n: 1659 case INSTRUCTION_FORMAT11x: 1660 case INSTRUCTION_FORMAT12x: 1661 case INSTRUCTION_FORMAT12x_OR_ID: 1662 case INSTRUCTION_FORMAT20bc: 1663 case INSTRUCTION_FORMAT20t: 1664 case INSTRUCTION_FORMAT21c_FIELD: 1665 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 1666 case INSTRUCTION_FORMAT21c_STRING: 1667 case INSTRUCTION_FORMAT21c_TYPE: 1668 case INSTRUCTION_FORMAT21ih: 1669 case INSTRUCTION_FORMAT21lh: 1670 case INSTRUCTION_FORMAT21s: 1671 case INSTRUCTION_FORMAT21t: 1672 case INSTRUCTION_FORMAT22b: 1673 case INSTRUCTION_FORMAT22c_FIELD: 1674 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 1675 case INSTRUCTION_FORMAT22c_TYPE: 1676 case INSTRUCTION_FORMAT22cs_FIELD: 1677 case INSTRUCTION_FORMAT22s: 1678 case INSTRUCTION_FORMAT22s_OR_ID: 1679 case INSTRUCTION_FORMAT22t: 1680 case INSTRUCTION_FORMAT22x: 1681 case INSTRUCTION_FORMAT23x: 1682 case INSTRUCTION_FORMAT30t: 1683 case INSTRUCTION_FORMAT31c: 1684 case INSTRUCTION_FORMAT31i: 1685 case INSTRUCTION_FORMAT31i_OR_ID: 1686 case INSTRUCTION_FORMAT31t: 1687 case INSTRUCTION_FORMAT32x: 1688 case INSTRUCTION_FORMAT35c_METHOD: 1689 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 1690 case INSTRUCTION_FORMAT35c_TYPE: 1691 case INSTRUCTION_FORMAT35mi_METHOD: 1692 case INSTRUCTION_FORMAT35ms_METHOD: 1693 case INSTRUCTION_FORMAT3rc_METHOD: 1694 case INSTRUCTION_FORMAT3rc_METHOD_ODEX: 1695 case INSTRUCTION_FORMAT3rc_TYPE: 1696 case INSTRUCTION_FORMAT3rmi_METHOD: 1697 case INSTRUCTION_FORMAT3rms_METHOD: 1698 case INSTRUCTION_FORMAT51l: 1699 case LINE_DIRECTIVE: 1700 case LOCAL_DIRECTIVE: 1701 case PACKED_SWITCH_DIRECTIVE: 1702 case PROLOGUE_DIRECTIVE: 1703 case RESTART_LOCAL_DIRECTIVE: 1704 case SOURCE_DIRECTIVE: 1705 case SPARSE_SWITCH_DIRECTIVE: 1706 { 1707 alt6=1; 1708 } 1709 break; 1710 case LOCALS_DIRECTIVE: 1711 case REGISTERS_DIRECTIVE: 1712 { 1713 alt6=2; 1714 } 1715 break; 1716 case CATCH_DIRECTIVE: 1717 { 1718 alt6=3; 1719 } 1720 break; 1721 case CATCHALL_DIRECTIVE: 1722 { 1723 alt6=4; 1724 } 1725 break; 1726 case PARAMETER_DIRECTIVE: 1727 { 1728 alt6=5; 1729 } 1730 break; 1731 case ANNOTATION_DIRECTIVE: 1732 { 1733 alt6=6; 1734 } 1735 break; 1736 } 1737 switch (alt6) { 1738 case 1 : 1739 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:519:7: ordered_method_item 1740 { 1741 pushFollow(FOLLOW_ordered_method_item_in_statements_and_directives1617); 1742 ordered_method_item34=ordered_method_item(); 1743 state._fsp--; 1744 1745 stream_ordered_method_item.add(ordered_method_item34.getTree()); 1746 } 1747 break; 1748 case 2 : 1749 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:520:7: registers_directive 1750 { 1751 pushFollow(FOLLOW_registers_directive_in_statements_and_directives1625); 1752 registers_directive35=registers_directive(); 1753 state._fsp--; 1754 1755 stream_registers_directive.add(registers_directive35.getTree()); 1756 } 1757 break; 1758 case 3 : 1759 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:521:7: catch_directive 1760 { 1761 pushFollow(FOLLOW_catch_directive_in_statements_and_directives1633); 1762 catch_directive36=catch_directive(); 1763 state._fsp--; 1764 1765 stream_catch_directive.add(catch_directive36.getTree()); 1766 } 1767 break; 1768 case 4 : 1769 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:522:7: catchall_directive 1770 { 1771 pushFollow(FOLLOW_catchall_directive_in_statements_and_directives1641); 1772 catchall_directive37=catchall_directive(); 1773 state._fsp--; 1774 1775 stream_catchall_directive.add(catchall_directive37.getTree()); 1776 } 1777 break; 1778 case 5 : 1779 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:523:7: parameter_directive 1780 { 1781 pushFollow(FOLLOW_parameter_directive_in_statements_and_directives1649); 1782 parameter_directive38=parameter_directive(); 1783 state._fsp--; 1784 1785 stream_parameter_directive.add(parameter_directive38.getTree()); 1786 } 1787 break; 1788 case 6 : 1789 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:524:7: annotation 1790 { 1791 pushFollow(FOLLOW_annotation_in_statements_and_directives1657); 1792 annotation39=annotation(); 1793 state._fsp--; 1794 1795 stream_annotation.add(annotation39.getTree()); 1796 statements_and_directives_stack.peek().methodAnnotations.add((annotation39!=null?((CommonTree)annotation39.getTree()):null)); 1797 } 1798 break; 1799 1800 default : 1801 break loop6; 1802 } 1803 } 1804 1805 // AST REWRITE 1806 // elements: ordered_method_item, catchall_directive, catch_directive, registers_directive, parameter_directive 1807 // token labels: 1808 // rule labels: retval 1809 // token list labels: 1810 // rule list labels: 1811 // wildcard labels: 1812 retval.tree = root_0; 1813 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1814 1815 root_0 = (CommonTree)adaptor.nil(); 1816 // 526:5: -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) 1817 { 1818 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:526:8: ( registers_directive )? 1819 if ( stream_registers_directive.hasNext() ) { 1820 adaptor.addChild(root_0, stream_registers_directive.nextTree()); 1821 } 1822 stream_registers_directive.reset(); 1823 1824 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:527:8: ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) 1825 { 1826 CommonTree root_1 = (CommonTree)adaptor.nil(); 1827 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ORDERED_METHOD_ITEMS, "I_ORDERED_METHOD_ITEMS"), root_1); 1828 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:527:33: ( ordered_method_item )* 1829 while ( stream_ordered_method_item.hasNext() ) { 1830 adaptor.addChild(root_1, stream_ordered_method_item.nextTree()); 1831 } 1832 stream_ordered_method_item.reset(); 1833 1834 adaptor.addChild(root_0, root_1); 1835 } 1836 1837 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:8: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) 1838 { 1839 CommonTree root_1 = (CommonTree)adaptor.nil(); 1840 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCHES, "I_CATCHES"), root_1); 1841 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:20: ( catch_directive )* 1842 while ( stream_catch_directive.hasNext() ) { 1843 adaptor.addChild(root_1, stream_catch_directive.nextTree()); 1844 } 1845 stream_catch_directive.reset(); 1846 1847 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:37: ( catchall_directive )* 1848 while ( stream_catchall_directive.hasNext() ) { 1849 adaptor.addChild(root_1, stream_catchall_directive.nextTree()); 1850 } 1851 stream_catchall_directive.reset(); 1852 1853 adaptor.addChild(root_0, root_1); 1854 } 1855 1856 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:529:8: ^( I_PARAMETERS ( parameter_directive )* ) 1857 { 1858 CommonTree root_1 = (CommonTree)adaptor.nil(); 1859 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETERS, "I_PARAMETERS"), root_1); 1860 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:529:23: ( parameter_directive )* 1861 while ( stream_parameter_directive.hasNext() ) { 1862 adaptor.addChild(root_1, stream_parameter_directive.nextTree()); 1863 } 1864 stream_parameter_directive.reset(); 1865 1866 adaptor.addChild(root_0, root_1); 1867 } 1868 1869 adaptor.addChild(root_0, buildTree(I_ANNOTATIONS, "I_ANNOTATIONS", statements_and_directives_stack.peek().methodAnnotations)); 1870 } 1871 1872 1873 retval.tree = root_0; 1874 1875 } 1876 1877 retval.stop = input.LT(-1); 1878 1879 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1880 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1881 1882 } 1883 catch (RecognitionException re) { 1884 reportError(re); 1885 recover(input,re); 1886 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1887 } 1888 finally { 1889 // do for sure before leaving 1890 statements_and_directives_stack.pop(); 1891 } 1892 return retval; 1893 } 1894 // $ANTLR end "statements_and_directives" 1895 1896 1897 public static class ordered_method_item_return extends ParserRuleReturnScope { 1898 CommonTree tree; 1899 @Override 1900 public CommonTree getTree() { return tree; } 1901 }; 1902 1903 1904 // $ANTLR start "ordered_method_item" 1905 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:533:1: ordered_method_item : ( label | instruction | debug_directive ); 1906 public final smaliParser.ordered_method_item_return ordered_method_item() throws RecognitionException { 1907 smaliParser.ordered_method_item_return retval = new smaliParser.ordered_method_item_return(); 1908 retval.start = input.LT(1); 1909 1910 CommonTree root_0 = null; 1911 1912 ParserRuleReturnScope label40 =null; 1913 ParserRuleReturnScope instruction41 =null; 1914 ParserRuleReturnScope debug_directive42 =null; 1915 1916 1917 try { 1918 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:534:3: ( label | instruction | debug_directive ) 1919 int alt7=3; 1920 switch ( input.LA(1) ) { 1921 case COLON: 1922 { 1923 alt7=1; 1924 } 1925 break; 1926 case ARRAY_DATA_DIRECTIVE: 1927 case INSTRUCTION_FORMAT10t: 1928 case INSTRUCTION_FORMAT10x: 1929 case INSTRUCTION_FORMAT10x_ODEX: 1930 case INSTRUCTION_FORMAT11n: 1931 case INSTRUCTION_FORMAT11x: 1932 case INSTRUCTION_FORMAT12x: 1933 case INSTRUCTION_FORMAT12x_OR_ID: 1934 case INSTRUCTION_FORMAT20bc: 1935 case INSTRUCTION_FORMAT20t: 1936 case INSTRUCTION_FORMAT21c_FIELD: 1937 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 1938 case INSTRUCTION_FORMAT21c_STRING: 1939 case INSTRUCTION_FORMAT21c_TYPE: 1940 case INSTRUCTION_FORMAT21ih: 1941 case INSTRUCTION_FORMAT21lh: 1942 case INSTRUCTION_FORMAT21s: 1943 case INSTRUCTION_FORMAT21t: 1944 case INSTRUCTION_FORMAT22b: 1945 case INSTRUCTION_FORMAT22c_FIELD: 1946 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 1947 case INSTRUCTION_FORMAT22c_TYPE: 1948 case INSTRUCTION_FORMAT22cs_FIELD: 1949 case INSTRUCTION_FORMAT22s: 1950 case INSTRUCTION_FORMAT22s_OR_ID: 1951 case INSTRUCTION_FORMAT22t: 1952 case INSTRUCTION_FORMAT22x: 1953 case INSTRUCTION_FORMAT23x: 1954 case INSTRUCTION_FORMAT30t: 1955 case INSTRUCTION_FORMAT31c: 1956 case INSTRUCTION_FORMAT31i: 1957 case INSTRUCTION_FORMAT31i_OR_ID: 1958 case INSTRUCTION_FORMAT31t: 1959 case INSTRUCTION_FORMAT32x: 1960 case INSTRUCTION_FORMAT35c_METHOD: 1961 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 1962 case INSTRUCTION_FORMAT35c_TYPE: 1963 case INSTRUCTION_FORMAT35mi_METHOD: 1964 case INSTRUCTION_FORMAT35ms_METHOD: 1965 case INSTRUCTION_FORMAT3rc_METHOD: 1966 case INSTRUCTION_FORMAT3rc_METHOD_ODEX: 1967 case INSTRUCTION_FORMAT3rc_TYPE: 1968 case INSTRUCTION_FORMAT3rmi_METHOD: 1969 case INSTRUCTION_FORMAT3rms_METHOD: 1970 case INSTRUCTION_FORMAT51l: 1971 case PACKED_SWITCH_DIRECTIVE: 1972 case SPARSE_SWITCH_DIRECTIVE: 1973 { 1974 alt7=2; 1975 } 1976 break; 1977 case END_LOCAL_DIRECTIVE: 1978 case EPILOGUE_DIRECTIVE: 1979 case LINE_DIRECTIVE: 1980 case LOCAL_DIRECTIVE: 1981 case PROLOGUE_DIRECTIVE: 1982 case RESTART_LOCAL_DIRECTIVE: 1983 case SOURCE_DIRECTIVE: 1984 { 1985 alt7=3; 1986 } 1987 break; 1988 default: 1989 NoViableAltException nvae = 1990 new NoViableAltException("", 7, 0, input); 1991 throw nvae; 1992 } 1993 switch (alt7) { 1994 case 1 : 1995 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:534:5: label 1996 { 1997 root_0 = (CommonTree)adaptor.nil(); 1998 1999 2000 pushFollow(FOLLOW_label_in_ordered_method_item1742); 2001 label40=label(); 2002 state._fsp--; 2003 2004 adaptor.addChild(root_0, label40.getTree()); 2005 2006 } 2007 break; 2008 case 2 : 2009 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:535:5: instruction 2010 { 2011 root_0 = (CommonTree)adaptor.nil(); 2012 2013 2014 pushFollow(FOLLOW_instruction_in_ordered_method_item1748); 2015 instruction41=instruction(); 2016 state._fsp--; 2017 2018 adaptor.addChild(root_0, instruction41.getTree()); 2019 2020 } 2021 break; 2022 case 3 : 2023 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:536:5: debug_directive 2024 { 2025 root_0 = (CommonTree)adaptor.nil(); 2026 2027 2028 pushFollow(FOLLOW_debug_directive_in_ordered_method_item1754); 2029 debug_directive42=debug_directive(); 2030 state._fsp--; 2031 2032 adaptor.addChild(root_0, debug_directive42.getTree()); 2033 2034 } 2035 break; 2036 2037 } 2038 retval.stop = input.LT(-1); 2039 2040 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 2041 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 2042 2043 } 2044 catch (RecognitionException re) { 2045 reportError(re); 2046 recover(input,re); 2047 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 2048 } 2049 finally { 2050 // do for sure before leaving 2051 } 2052 return retval; 2053 } 2054 // $ANTLR end "ordered_method_item" 2055 2056 2057 public static class registers_directive_return extends ParserRuleReturnScope { 2058 CommonTree tree; 2059 @Override 2060 public CommonTree getTree() { return tree; } 2061 }; 2062 2063 2064 // $ANTLR start "registers_directive" 2065 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:538:1: registers_directive : (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) ; 2066 public final smaliParser.registers_directive_return registers_directive() throws RecognitionException { 2067 smaliParser.registers_directive_return retval = new smaliParser.registers_directive_return(); 2068 retval.start = input.LT(1); 2069 2070 CommonTree root_0 = null; 2071 2072 Token directive=null; 2073 ParserRuleReturnScope regCount =null; 2074 ParserRuleReturnScope regCount2 =null; 2075 2076 CommonTree directive_tree=null; 2077 RewriteRuleTokenStream stream_REGISTERS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token REGISTERS_DIRECTIVE"); 2078 RewriteRuleTokenStream stream_LOCALS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token LOCALS_DIRECTIVE"); 2079 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 2080 2081 try { 2082 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:3: ( (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) ) 2083 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) 2084 { 2085 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) 2086 int alt8=2; 2087 int LA8_0 = input.LA(1); 2088 if ( (LA8_0==REGISTERS_DIRECTIVE) ) { 2089 alt8=1; 2090 } 2091 else if ( (LA8_0==LOCALS_DIRECTIVE) ) { 2092 alt8=2; 2093 } 2094 2095 else { 2096 NoViableAltException nvae = 2097 new NoViableAltException("", 8, 0, input); 2098 throw nvae; 2099 } 2100 2101 switch (alt8) { 2102 case 1 : 2103 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:540:7: directive= REGISTERS_DIRECTIVE regCount= integral_literal 2104 { 2105 directive=(Token)match(input,REGISTERS_DIRECTIVE,FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1774); 2106 stream_REGISTERS_DIRECTIVE.add(directive); 2107 2108 pushFollow(FOLLOW_integral_literal_in_registers_directive1778); 2109 regCount=integral_literal(); 2110 state._fsp--; 2111 2112 stream_integral_literal.add(regCount.getTree()); 2113 // AST REWRITE 2114 // elements: regCount 2115 // token labels: 2116 // rule labels: retval, regCount 2117 // token list labels: 2118 // rule list labels: 2119 // wildcard labels: 2120 retval.tree = root_0; 2121 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2122 RewriteRuleSubtreeStream stream_regCount=new RewriteRuleSubtreeStream(adaptor,"rule regCount",regCount!=null?regCount.getTree():null); 2123 2124 root_0 = (CommonTree)adaptor.nil(); 2125 // 540:63: -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) 2126 { 2127 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:540:66: ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) 2128 { 2129 CommonTree root_1 = (CommonTree)adaptor.nil(); 2130 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTERS, directive, "I_REGISTERS"), root_1); 2131 adaptor.addChild(root_1, stream_regCount.nextTree()); 2132 adaptor.addChild(root_0, root_1); 2133 } 2134 2135 } 2136 2137 2138 retval.tree = root_0; 2139 2140 } 2141 break; 2142 case 2 : 2143 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:541:7: directive= LOCALS_DIRECTIVE regCount2= integral_literal 2144 { 2145 directive=(Token)match(input,LOCALS_DIRECTIVE,FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1798); 2146 stream_LOCALS_DIRECTIVE.add(directive); 2147 2148 pushFollow(FOLLOW_integral_literal_in_registers_directive1802); 2149 regCount2=integral_literal(); 2150 state._fsp--; 2151 2152 stream_integral_literal.add(regCount2.getTree()); 2153 // AST REWRITE 2154 // elements: regCount2 2155 // token labels: 2156 // rule labels: retval, regCount2 2157 // token list labels: 2158 // rule list labels: 2159 // wildcard labels: 2160 retval.tree = root_0; 2161 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2162 RewriteRuleSubtreeStream stream_regCount2=new RewriteRuleSubtreeStream(adaptor,"rule regCount2",regCount2!=null?regCount2.getTree():null); 2163 2164 root_0 = (CommonTree)adaptor.nil(); 2165 // 541:61: -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) 2166 { 2167 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:541:64: ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) 2168 { 2169 CommonTree root_1 = (CommonTree)adaptor.nil(); 2170 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LOCALS, directive, "I_LOCALS"), root_1); 2171 adaptor.addChild(root_1, stream_regCount2.nextTree()); 2172 adaptor.addChild(root_0, root_1); 2173 } 2174 2175 } 2176 2177 2178 retval.tree = root_0; 2179 2180 } 2181 break; 2182 2183 } 2184 2185 2186 if (statements_and_directives_stack.peek().hasRegistersDirective) { 2187 throw new SemanticException(input, directive, "There can only be a single .registers or .locals directive in a method"); 2188 } 2189 statements_and_directives_stack.peek().hasRegistersDirective =true; 2190 2191 } 2192 2193 retval.stop = input.LT(-1); 2194 2195 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 2196 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 2197 2198 } 2199 catch (RecognitionException re) { 2200 reportError(re); 2201 recover(input,re); 2202 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 2203 } 2204 finally { 2205 // do for sure before leaving 2206 } 2207 return retval; 2208 } 2209 // $ANTLR end "registers_directive" 2210 2211 2212 public static class simple_name_return extends ParserRuleReturnScope { 2213 CommonTree tree; 2214 @Override 2215 public CommonTree getTree() { return tree; } 2216 }; 2217 2218 2219 // $ANTLR start "simple_name" 2220 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:552:1: simple_name : ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | PARAM_LIST_OR_ID -> SIMPLE_NAME[$PARAM_LIST_OR_ID] | PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] ); 2221 public final smaliParser.simple_name_return simple_name() throws RecognitionException { 2222 smaliParser.simple_name_return retval = new smaliParser.simple_name_return(); 2223 retval.start = input.LT(1); 2224 2225 CommonTree root_0 = null; 2226 2227 Token SIMPLE_NAME43=null; 2228 Token ACCESS_SPEC44=null; 2229 Token VERIFICATION_ERROR_TYPE45=null; 2230 Token POSITIVE_INTEGER_LITERAL46=null; 2231 Token NEGATIVE_INTEGER_LITERAL47=null; 2232 Token FLOAT_LITERAL_OR_ID48=null; 2233 Token DOUBLE_LITERAL_OR_ID49=null; 2234 Token BOOL_LITERAL50=null; 2235 Token NULL_LITERAL51=null; 2236 Token REGISTER52=null; 2237 Token PARAM_LIST_OR_ID53=null; 2238 Token PRIMITIVE_TYPE54=null; 2239 Token VOID_TYPE55=null; 2240 Token ANNOTATION_VISIBILITY56=null; 2241 Token INSTRUCTION_FORMAT10t57=null; 2242 Token INSTRUCTION_FORMAT10x58=null; 2243 Token INSTRUCTION_FORMAT10x_ODEX59=null; 2244 Token INSTRUCTION_FORMAT11x60=null; 2245 Token INSTRUCTION_FORMAT12x_OR_ID61=null; 2246 Token INSTRUCTION_FORMAT21c_FIELD62=null; 2247 Token INSTRUCTION_FORMAT21c_FIELD_ODEX63=null; 2248 Token INSTRUCTION_FORMAT21c_STRING64=null; 2249 Token INSTRUCTION_FORMAT21c_TYPE65=null; 2250 Token INSTRUCTION_FORMAT21t66=null; 2251 Token INSTRUCTION_FORMAT22c_FIELD67=null; 2252 Token INSTRUCTION_FORMAT22c_FIELD_ODEX68=null; 2253 Token INSTRUCTION_FORMAT22c_TYPE69=null; 2254 Token INSTRUCTION_FORMAT22cs_FIELD70=null; 2255 Token INSTRUCTION_FORMAT22s_OR_ID71=null; 2256 Token INSTRUCTION_FORMAT22t72=null; 2257 Token INSTRUCTION_FORMAT23x73=null; 2258 Token INSTRUCTION_FORMAT31i_OR_ID74=null; 2259 Token INSTRUCTION_FORMAT31t75=null; 2260 Token INSTRUCTION_FORMAT35c_METHOD76=null; 2261 Token INSTRUCTION_FORMAT35c_METHOD_ODEX77=null; 2262 Token INSTRUCTION_FORMAT35c_TYPE78=null; 2263 Token INSTRUCTION_FORMAT35mi_METHOD79=null; 2264 Token INSTRUCTION_FORMAT35ms_METHOD80=null; 2265 Token INSTRUCTION_FORMAT51l81=null; 2266 2267 CommonTree SIMPLE_NAME43_tree=null; 2268 CommonTree ACCESS_SPEC44_tree=null; 2269 CommonTree VERIFICATION_ERROR_TYPE45_tree=null; 2270 CommonTree POSITIVE_INTEGER_LITERAL46_tree=null; 2271 CommonTree NEGATIVE_INTEGER_LITERAL47_tree=null; 2272 CommonTree FLOAT_LITERAL_OR_ID48_tree=null; 2273 CommonTree DOUBLE_LITERAL_OR_ID49_tree=null; 2274 CommonTree BOOL_LITERAL50_tree=null; 2275 CommonTree NULL_LITERAL51_tree=null; 2276 CommonTree REGISTER52_tree=null; 2277 CommonTree PARAM_LIST_OR_ID53_tree=null; 2278 CommonTree PRIMITIVE_TYPE54_tree=null; 2279 CommonTree VOID_TYPE55_tree=null; 2280 CommonTree ANNOTATION_VISIBILITY56_tree=null; 2281 CommonTree INSTRUCTION_FORMAT10t57_tree=null; 2282 CommonTree INSTRUCTION_FORMAT10x58_tree=null; 2283 CommonTree INSTRUCTION_FORMAT10x_ODEX59_tree=null; 2284 CommonTree INSTRUCTION_FORMAT11x60_tree=null; 2285 CommonTree INSTRUCTION_FORMAT12x_OR_ID61_tree=null; 2286 CommonTree INSTRUCTION_FORMAT21c_FIELD62_tree=null; 2287 CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX63_tree=null; 2288 CommonTree INSTRUCTION_FORMAT21c_STRING64_tree=null; 2289 CommonTree INSTRUCTION_FORMAT21c_TYPE65_tree=null; 2290 CommonTree INSTRUCTION_FORMAT21t66_tree=null; 2291 CommonTree INSTRUCTION_FORMAT22c_FIELD67_tree=null; 2292 CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX68_tree=null; 2293 CommonTree INSTRUCTION_FORMAT22c_TYPE69_tree=null; 2294 CommonTree INSTRUCTION_FORMAT22cs_FIELD70_tree=null; 2295 CommonTree INSTRUCTION_FORMAT22s_OR_ID71_tree=null; 2296 CommonTree INSTRUCTION_FORMAT22t72_tree=null; 2297 CommonTree INSTRUCTION_FORMAT23x73_tree=null; 2298 CommonTree INSTRUCTION_FORMAT31i_OR_ID74_tree=null; 2299 CommonTree INSTRUCTION_FORMAT31t75_tree=null; 2300 CommonTree INSTRUCTION_FORMAT35c_METHOD76_tree=null; 2301 CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX77_tree=null; 2302 CommonTree INSTRUCTION_FORMAT35c_TYPE78_tree=null; 2303 CommonTree INSTRUCTION_FORMAT35mi_METHOD79_tree=null; 2304 CommonTree INSTRUCTION_FORMAT35ms_METHOD80_tree=null; 2305 CommonTree INSTRUCTION_FORMAT51l81_tree=null; 2306 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_TYPE"); 2307 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD"); 2308 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11x"); 2309 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21t"); 2310 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_TYPE"); 2311 RewriteRuleTokenStream stream_ANNOTATION_VISIBILITY=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_VISIBILITY"); 2312 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31i_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31i_OR_ID"); 2313 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22s_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22s_OR_ID"); 2314 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT51l=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT51l"); 2315 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT23x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT23x"); 2316 RewriteRuleTokenStream stream_NULL_LITERAL=new RewriteRuleTokenStream(adaptor,"token NULL_LITERAL"); 2317 RewriteRuleTokenStream stream_BOOL_LITERAL=new RewriteRuleTokenStream(adaptor,"token BOOL_LITERAL"); 2318 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD"); 2319 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD_ODEX"); 2320 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD"); 2321 RewriteRuleTokenStream stream_ACCESS_SPEC=new RewriteRuleTokenStream(adaptor,"token ACCESS_SPEC"); 2322 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_STRING=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_STRING"); 2323 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT12x_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT12x_OR_ID"); 2324 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35ms_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35ms_METHOD"); 2325 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35mi_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35mi_METHOD"); 2326 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22cs_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22cs_FIELD"); 2327 RewriteRuleTokenStream stream_VOID_TYPE=new RewriteRuleTokenStream(adaptor,"token VOID_TYPE"); 2328 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x"); 2329 RewriteRuleTokenStream stream_FLOAT_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token FLOAT_LITERAL_OR_ID"); 2330 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22t"); 2331 RewriteRuleTokenStream stream_PRIMITIVE_TYPE=new RewriteRuleTokenStream(adaptor,"token PRIMITIVE_TYPE"); 2332 RewriteRuleTokenStream stream_PARAM_LIST_OR_ID=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID"); 2333 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x_ODEX"); 2334 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31t"); 2335 RewriteRuleTokenStream stream_DOUBLE_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token DOUBLE_LITERAL_OR_ID"); 2336 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD_ODEX"); 2337 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10t"); 2338 RewriteRuleTokenStream stream_NEGATIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token NEGATIVE_INTEGER_LITERAL"); 2339 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 2340 RewriteRuleTokenStream stream_VERIFICATION_ERROR_TYPE=new RewriteRuleTokenStream(adaptor,"token VERIFICATION_ERROR_TYPE"); 2341 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_TYPE"); 2342 RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL"); 2343 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD_ODEX"); 2344 2345 try { 2346 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:553:3: ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | PARAM_LIST_OR_ID -> SIMPLE_NAME[$PARAM_LIST_OR_ID] | PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] ) 2347 int alt9=39; 2348 switch ( input.LA(1) ) { 2349 case SIMPLE_NAME: 2350 { 2351 alt9=1; 2352 } 2353 break; 2354 case ACCESS_SPEC: 2355 { 2356 alt9=2; 2357 } 2358 break; 2359 case VERIFICATION_ERROR_TYPE: 2360 { 2361 alt9=3; 2362 } 2363 break; 2364 case POSITIVE_INTEGER_LITERAL: 2365 { 2366 alt9=4; 2367 } 2368 break; 2369 case NEGATIVE_INTEGER_LITERAL: 2370 { 2371 alt9=5; 2372 } 2373 break; 2374 case FLOAT_LITERAL_OR_ID: 2375 { 2376 alt9=6; 2377 } 2378 break; 2379 case DOUBLE_LITERAL_OR_ID: 2380 { 2381 alt9=7; 2382 } 2383 break; 2384 case BOOL_LITERAL: 2385 { 2386 alt9=8; 2387 } 2388 break; 2389 case NULL_LITERAL: 2390 { 2391 alt9=9; 2392 } 2393 break; 2394 case REGISTER: 2395 { 2396 alt9=10; 2397 } 2398 break; 2399 case PARAM_LIST_OR_ID: 2400 { 2401 alt9=11; 2402 } 2403 break; 2404 case PRIMITIVE_TYPE: 2405 { 2406 alt9=12; 2407 } 2408 break; 2409 case VOID_TYPE: 2410 { 2411 alt9=13; 2412 } 2413 break; 2414 case ANNOTATION_VISIBILITY: 2415 { 2416 alt9=14; 2417 } 2418 break; 2419 case INSTRUCTION_FORMAT10t: 2420 { 2421 alt9=15; 2422 } 2423 break; 2424 case INSTRUCTION_FORMAT10x: 2425 { 2426 alt9=16; 2427 } 2428 break; 2429 case INSTRUCTION_FORMAT10x_ODEX: 2430 { 2431 alt9=17; 2432 } 2433 break; 2434 case INSTRUCTION_FORMAT11x: 2435 { 2436 alt9=18; 2437 } 2438 break; 2439 case INSTRUCTION_FORMAT12x_OR_ID: 2440 { 2441 alt9=19; 2442 } 2443 break; 2444 case INSTRUCTION_FORMAT21c_FIELD: 2445 { 2446 alt9=20; 2447 } 2448 break; 2449 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 2450 { 2451 alt9=21; 2452 } 2453 break; 2454 case INSTRUCTION_FORMAT21c_STRING: 2455 { 2456 alt9=22; 2457 } 2458 break; 2459 case INSTRUCTION_FORMAT21c_TYPE: 2460 { 2461 alt9=23; 2462 } 2463 break; 2464 case INSTRUCTION_FORMAT21t: 2465 { 2466 alt9=24; 2467 } 2468 break; 2469 case INSTRUCTION_FORMAT22c_FIELD: 2470 { 2471 alt9=25; 2472 } 2473 break; 2474 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 2475 { 2476 alt9=26; 2477 } 2478 break; 2479 case INSTRUCTION_FORMAT22c_TYPE: 2480 { 2481 alt9=27; 2482 } 2483 break; 2484 case INSTRUCTION_FORMAT22cs_FIELD: 2485 { 2486 alt9=28; 2487 } 2488 break; 2489 case INSTRUCTION_FORMAT22s_OR_ID: 2490 { 2491 alt9=29; 2492 } 2493 break; 2494 case INSTRUCTION_FORMAT22t: 2495 { 2496 alt9=30; 2497 } 2498 break; 2499 case INSTRUCTION_FORMAT23x: 2500 { 2501 alt9=31; 2502 } 2503 break; 2504 case INSTRUCTION_FORMAT31i_OR_ID: 2505 { 2506 alt9=32; 2507 } 2508 break; 2509 case INSTRUCTION_FORMAT31t: 2510 { 2511 alt9=33; 2512 } 2513 break; 2514 case INSTRUCTION_FORMAT35c_METHOD: 2515 { 2516 alt9=34; 2517 } 2518 break; 2519 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 2520 { 2521 alt9=35; 2522 } 2523 break; 2524 case INSTRUCTION_FORMAT35c_TYPE: 2525 { 2526 alt9=36; 2527 } 2528 break; 2529 case INSTRUCTION_FORMAT35mi_METHOD: 2530 { 2531 alt9=37; 2532 } 2533 break; 2534 case INSTRUCTION_FORMAT35ms_METHOD: 2535 { 2536 alt9=38; 2537 } 2538 break; 2539 case INSTRUCTION_FORMAT51l: 2540 { 2541 alt9=39; 2542 } 2543 break; 2544 default: 2545 NoViableAltException nvae = 2546 new NoViableAltException("", 9, 0, input); 2547 throw nvae; 2548 } 2549 switch (alt9) { 2550 case 1 : 2551 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:553:5: SIMPLE_NAME 2552 { 2553 root_0 = (CommonTree)adaptor.nil(); 2554 2555 2556 SIMPLE_NAME43=(Token)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_simple_name1836); 2557 SIMPLE_NAME43_tree = (CommonTree)adaptor.create(SIMPLE_NAME43); 2558 adaptor.addChild(root_0, SIMPLE_NAME43_tree); 2559 2560 } 2561 break; 2562 case 2 : 2563 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:554:5: ACCESS_SPEC 2564 { 2565 ACCESS_SPEC44=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_simple_name1842); 2566 stream_ACCESS_SPEC.add(ACCESS_SPEC44); 2567 2568 // AST REWRITE 2569 // elements: 2570 // token labels: 2571 // rule labels: retval 2572 // token list labels: 2573 // rule list labels: 2574 // wildcard labels: 2575 retval.tree = root_0; 2576 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2577 2578 root_0 = (CommonTree)adaptor.nil(); 2579 // 554:17: -> SIMPLE_NAME[$ACCESS_SPEC] 2580 { 2581 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ACCESS_SPEC44)); 2582 } 2583 2584 2585 retval.tree = root_0; 2586 2587 } 2588 break; 2589 case 3 : 2590 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:555:5: VERIFICATION_ERROR_TYPE 2591 { 2592 VERIFICATION_ERROR_TYPE45=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1853); 2593 stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE45); 2594 2595 // AST REWRITE 2596 // elements: 2597 // token labels: 2598 // rule labels: retval 2599 // token list labels: 2600 // rule list labels: 2601 // wildcard labels: 2602 retval.tree = root_0; 2603 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2604 2605 root_0 = (CommonTree)adaptor.nil(); 2606 // 555:29: -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] 2607 { 2608 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VERIFICATION_ERROR_TYPE45)); 2609 } 2610 2611 2612 retval.tree = root_0; 2613 2614 } 2615 break; 2616 case 4 : 2617 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:556:5: POSITIVE_INTEGER_LITERAL 2618 { 2619 POSITIVE_INTEGER_LITERAL46=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1864); 2620 stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL46); 2621 2622 // AST REWRITE 2623 // elements: 2624 // token labels: 2625 // rule labels: retval 2626 // token list labels: 2627 // rule list labels: 2628 // wildcard labels: 2629 retval.tree = root_0; 2630 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2631 2632 root_0 = (CommonTree)adaptor.nil(); 2633 // 556:30: -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] 2634 { 2635 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, POSITIVE_INTEGER_LITERAL46)); 2636 } 2637 2638 2639 retval.tree = root_0; 2640 2641 } 2642 break; 2643 case 5 : 2644 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:557:5: NEGATIVE_INTEGER_LITERAL 2645 { 2646 NEGATIVE_INTEGER_LITERAL47=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1875); 2647 stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL47); 2648 2649 // AST REWRITE 2650 // elements: 2651 // token labels: 2652 // rule labels: retval 2653 // token list labels: 2654 // rule list labels: 2655 // wildcard labels: 2656 retval.tree = root_0; 2657 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2658 2659 root_0 = (CommonTree)adaptor.nil(); 2660 // 557:30: -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] 2661 { 2662 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NEGATIVE_INTEGER_LITERAL47)); 2663 } 2664 2665 2666 retval.tree = root_0; 2667 2668 } 2669 break; 2670 case 6 : 2671 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:558:5: FLOAT_LITERAL_OR_ID 2672 { 2673 FLOAT_LITERAL_OR_ID48=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1886); 2674 stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID48); 2675 2676 // AST REWRITE 2677 // elements: 2678 // token labels: 2679 // rule labels: retval 2680 // token list labels: 2681 // rule list labels: 2682 // wildcard labels: 2683 retval.tree = root_0; 2684 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2685 2686 root_0 = (CommonTree)adaptor.nil(); 2687 // 558:25: -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] 2688 { 2689 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, FLOAT_LITERAL_OR_ID48)); 2690 } 2691 2692 2693 retval.tree = root_0; 2694 2695 } 2696 break; 2697 case 7 : 2698 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:559:5: DOUBLE_LITERAL_OR_ID 2699 { 2700 DOUBLE_LITERAL_OR_ID49=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1897); 2701 stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID49); 2702 2703 // AST REWRITE 2704 // elements: 2705 // token labels: 2706 // rule labels: retval 2707 // token list labels: 2708 // rule list labels: 2709 // wildcard labels: 2710 retval.tree = root_0; 2711 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2712 2713 root_0 = (CommonTree)adaptor.nil(); 2714 // 559:26: -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] 2715 { 2716 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, DOUBLE_LITERAL_OR_ID49)); 2717 } 2718 2719 2720 retval.tree = root_0; 2721 2722 } 2723 break; 2724 case 8 : 2725 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:560:5: BOOL_LITERAL 2726 { 2727 BOOL_LITERAL50=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_simple_name1908); 2728 stream_BOOL_LITERAL.add(BOOL_LITERAL50); 2729 2730 // AST REWRITE 2731 // elements: 2732 // token labels: 2733 // rule labels: retval 2734 // token list labels: 2735 // rule list labels: 2736 // wildcard labels: 2737 retval.tree = root_0; 2738 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2739 2740 root_0 = (CommonTree)adaptor.nil(); 2741 // 560:18: -> SIMPLE_NAME[$BOOL_LITERAL] 2742 { 2743 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, BOOL_LITERAL50)); 2744 } 2745 2746 2747 retval.tree = root_0; 2748 2749 } 2750 break; 2751 case 9 : 2752 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:561:5: NULL_LITERAL 2753 { 2754 NULL_LITERAL51=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_simple_name1919); 2755 stream_NULL_LITERAL.add(NULL_LITERAL51); 2756 2757 // AST REWRITE 2758 // elements: 2759 // token labels: 2760 // rule labels: retval 2761 // token list labels: 2762 // rule list labels: 2763 // wildcard labels: 2764 retval.tree = root_0; 2765 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2766 2767 root_0 = (CommonTree)adaptor.nil(); 2768 // 561:18: -> SIMPLE_NAME[$NULL_LITERAL] 2769 { 2770 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NULL_LITERAL51)); 2771 } 2772 2773 2774 retval.tree = root_0; 2775 2776 } 2777 break; 2778 case 10 : 2779 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:562:5: REGISTER 2780 { 2781 REGISTER52=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_simple_name1930); 2782 stream_REGISTER.add(REGISTER52); 2783 2784 // AST REWRITE 2785 // elements: 2786 // token labels: 2787 // rule labels: retval 2788 // token list labels: 2789 // rule list labels: 2790 // wildcard labels: 2791 retval.tree = root_0; 2792 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2793 2794 root_0 = (CommonTree)adaptor.nil(); 2795 // 562:14: -> SIMPLE_NAME[$REGISTER] 2796 { 2797 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, REGISTER52)); 2798 } 2799 2800 2801 retval.tree = root_0; 2802 2803 } 2804 break; 2805 case 11 : 2806 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:563:5: PARAM_LIST_OR_ID 2807 { 2808 PARAM_LIST_OR_ID53=(Token)match(input,PARAM_LIST_OR_ID,FOLLOW_PARAM_LIST_OR_ID_in_simple_name1941); 2809 stream_PARAM_LIST_OR_ID.add(PARAM_LIST_OR_ID53); 2810 2811 // AST REWRITE 2812 // elements: 2813 // token labels: 2814 // rule labels: retval 2815 // token list labels: 2816 // rule list labels: 2817 // wildcard labels: 2818 retval.tree = root_0; 2819 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2820 2821 root_0 = (CommonTree)adaptor.nil(); 2822 // 563:22: -> SIMPLE_NAME[$PARAM_LIST_OR_ID] 2823 { 2824 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PARAM_LIST_OR_ID53)); 2825 } 2826 2827 2828 retval.tree = root_0; 2829 2830 } 2831 break; 2832 case 12 : 2833 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:564:5: PRIMITIVE_TYPE 2834 { 2835 PRIMITIVE_TYPE54=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_simple_name1952); 2836 stream_PRIMITIVE_TYPE.add(PRIMITIVE_TYPE54); 2837 2838 // AST REWRITE 2839 // elements: 2840 // token labels: 2841 // rule labels: retval 2842 // token list labels: 2843 // rule list labels: 2844 // wildcard labels: 2845 retval.tree = root_0; 2846 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2847 2848 root_0 = (CommonTree)adaptor.nil(); 2849 // 564:20: -> SIMPLE_NAME[$PRIMITIVE_TYPE] 2850 { 2851 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PRIMITIVE_TYPE54)); 2852 } 2853 2854 2855 retval.tree = root_0; 2856 2857 } 2858 break; 2859 case 13 : 2860 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:565:5: VOID_TYPE 2861 { 2862 VOID_TYPE55=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_simple_name1963); 2863 stream_VOID_TYPE.add(VOID_TYPE55); 2864 2865 // AST REWRITE 2866 // elements: 2867 // token labels: 2868 // rule labels: retval 2869 // token list labels: 2870 // rule list labels: 2871 // wildcard labels: 2872 retval.tree = root_0; 2873 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2874 2875 root_0 = (CommonTree)adaptor.nil(); 2876 // 565:15: -> SIMPLE_NAME[$VOID_TYPE] 2877 { 2878 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VOID_TYPE55)); 2879 } 2880 2881 2882 retval.tree = root_0; 2883 2884 } 2885 break; 2886 case 14 : 2887 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:566:5: ANNOTATION_VISIBILITY 2888 { 2889 ANNOTATION_VISIBILITY56=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1974); 2890 stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY56); 2891 2892 // AST REWRITE 2893 // elements: 2894 // token labels: 2895 // rule labels: retval 2896 // token list labels: 2897 // rule list labels: 2898 // wildcard labels: 2899 retval.tree = root_0; 2900 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2901 2902 root_0 = (CommonTree)adaptor.nil(); 2903 // 566:27: -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] 2904 { 2905 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ANNOTATION_VISIBILITY56)); 2906 } 2907 2908 2909 retval.tree = root_0; 2910 2911 } 2912 break; 2913 case 15 : 2914 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:567:5: INSTRUCTION_FORMAT10t 2915 { 2916 INSTRUCTION_FORMAT10t57=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1985); 2917 stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t57); 2918 2919 // AST REWRITE 2920 // elements: 2921 // token labels: 2922 // rule labels: retval 2923 // token list labels: 2924 // rule list labels: 2925 // wildcard labels: 2926 retval.tree = root_0; 2927 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2928 2929 root_0 = (CommonTree)adaptor.nil(); 2930 // 567:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] 2931 { 2932 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10t57)); 2933 } 2934 2935 2936 retval.tree = root_0; 2937 2938 } 2939 break; 2940 case 16 : 2941 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:568:5: INSTRUCTION_FORMAT10x 2942 { 2943 INSTRUCTION_FORMAT10x58=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1996); 2944 stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x58); 2945 2946 // AST REWRITE 2947 // elements: 2948 // token labels: 2949 // rule labels: retval 2950 // token list labels: 2951 // rule list labels: 2952 // wildcard labels: 2953 retval.tree = root_0; 2954 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2955 2956 root_0 = (CommonTree)adaptor.nil(); 2957 // 568:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] 2958 { 2959 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x58)); 2960 } 2961 2962 2963 retval.tree = root_0; 2964 2965 } 2966 break; 2967 case 17 : 2968 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:569:5: INSTRUCTION_FORMAT10x_ODEX 2969 { 2970 INSTRUCTION_FORMAT10x_ODEX59=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name2007); 2971 stream_INSTRUCTION_FORMAT10x_ODEX.add(INSTRUCTION_FORMAT10x_ODEX59); 2972 2973 // AST REWRITE 2974 // elements: 2975 // token labels: 2976 // rule labels: retval 2977 // token list labels: 2978 // rule list labels: 2979 // wildcard labels: 2980 retval.tree = root_0; 2981 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2982 2983 root_0 = (CommonTree)adaptor.nil(); 2984 // 569:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] 2985 { 2986 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x_ODEX59)); 2987 } 2988 2989 2990 retval.tree = root_0; 2991 2992 } 2993 break; 2994 case 18 : 2995 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:570:5: INSTRUCTION_FORMAT11x 2996 { 2997 INSTRUCTION_FORMAT11x60=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name2018); 2998 stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x60); 2999 3000 // AST REWRITE 3001 // elements: 3002 // token labels: 3003 // rule labels: retval 3004 // token list labels: 3005 // rule list labels: 3006 // wildcard labels: 3007 retval.tree = root_0; 3008 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3009 3010 root_0 = (CommonTree)adaptor.nil(); 3011 // 570:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] 3012 { 3013 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT11x60)); 3014 } 3015 3016 3017 retval.tree = root_0; 3018 3019 } 3020 break; 3021 case 19 : 3022 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:571:5: INSTRUCTION_FORMAT12x_OR_ID 3023 { 3024 INSTRUCTION_FORMAT12x_OR_ID61=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name2029); 3025 stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID61); 3026 3027 // AST REWRITE 3028 // elements: 3029 // token labels: 3030 // rule labels: retval 3031 // token list labels: 3032 // rule list labels: 3033 // wildcard labels: 3034 retval.tree = root_0; 3035 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3036 3037 root_0 = (CommonTree)adaptor.nil(); 3038 // 571:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] 3039 { 3040 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT12x_OR_ID61)); 3041 } 3042 3043 3044 retval.tree = root_0; 3045 3046 } 3047 break; 3048 case 20 : 3049 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:572:5: INSTRUCTION_FORMAT21c_FIELD 3050 { 3051 INSTRUCTION_FORMAT21c_FIELD62=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name2040); 3052 stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD62); 3053 3054 // AST REWRITE 3055 // elements: 3056 // token labels: 3057 // rule labels: retval 3058 // token list labels: 3059 // rule list labels: 3060 // wildcard labels: 3061 retval.tree = root_0; 3062 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3063 3064 root_0 = (CommonTree)adaptor.nil(); 3065 // 572:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] 3066 { 3067 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD62)); 3068 } 3069 3070 3071 retval.tree = root_0; 3072 3073 } 3074 break; 3075 case 21 : 3076 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:573:5: INSTRUCTION_FORMAT21c_FIELD_ODEX 3077 { 3078 INSTRUCTION_FORMAT21c_FIELD_ODEX63=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name2051); 3079 stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX63); 3080 3081 // AST REWRITE 3082 // elements: 3083 // token labels: 3084 // rule labels: retval 3085 // token list labels: 3086 // rule list labels: 3087 // wildcard labels: 3088 retval.tree = root_0; 3089 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3090 3091 root_0 = (CommonTree)adaptor.nil(); 3092 // 573:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] 3093 { 3094 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD_ODEX63)); 3095 } 3096 3097 3098 retval.tree = root_0; 3099 3100 } 3101 break; 3102 case 22 : 3103 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:574:5: INSTRUCTION_FORMAT21c_STRING 3104 { 3105 INSTRUCTION_FORMAT21c_STRING64=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2062); 3106 stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING64); 3107 3108 // AST REWRITE 3109 // elements: 3110 // token labels: 3111 // rule labels: retval 3112 // token list labels: 3113 // rule list labels: 3114 // wildcard labels: 3115 retval.tree = root_0; 3116 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3117 3118 root_0 = (CommonTree)adaptor.nil(); 3119 // 574:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] 3120 { 3121 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_STRING64)); 3122 } 3123 3124 3125 retval.tree = root_0; 3126 3127 } 3128 break; 3129 case 23 : 3130 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:575:5: INSTRUCTION_FORMAT21c_TYPE 3131 { 3132 INSTRUCTION_FORMAT21c_TYPE65=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2073); 3133 stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE65); 3134 3135 // AST REWRITE 3136 // elements: 3137 // token labels: 3138 // rule labels: retval 3139 // token list labels: 3140 // rule list labels: 3141 // wildcard labels: 3142 retval.tree = root_0; 3143 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3144 3145 root_0 = (CommonTree)adaptor.nil(); 3146 // 575:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] 3147 { 3148 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_TYPE65)); 3149 } 3150 3151 3152 retval.tree = root_0; 3153 3154 } 3155 break; 3156 case 24 : 3157 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:576:5: INSTRUCTION_FORMAT21t 3158 { 3159 INSTRUCTION_FORMAT21t66=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2084); 3160 stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t66); 3161 3162 // AST REWRITE 3163 // elements: 3164 // token labels: 3165 // rule labels: retval 3166 // token list labels: 3167 // rule list labels: 3168 // wildcard labels: 3169 retval.tree = root_0; 3170 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3171 3172 root_0 = (CommonTree)adaptor.nil(); 3173 // 576:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] 3174 { 3175 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21t66)); 3176 } 3177 3178 3179 retval.tree = root_0; 3180 3181 } 3182 break; 3183 case 25 : 3184 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:577:5: INSTRUCTION_FORMAT22c_FIELD 3185 { 3186 INSTRUCTION_FORMAT22c_FIELD67=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2095); 3187 stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD67); 3188 3189 // AST REWRITE 3190 // elements: 3191 // token labels: 3192 // rule labels: retval 3193 // token list labels: 3194 // rule list labels: 3195 // wildcard labels: 3196 retval.tree = root_0; 3197 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3198 3199 root_0 = (CommonTree)adaptor.nil(); 3200 // 577:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] 3201 { 3202 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD67)); 3203 } 3204 3205 3206 retval.tree = root_0; 3207 3208 } 3209 break; 3210 case 26 : 3211 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:578:5: INSTRUCTION_FORMAT22c_FIELD_ODEX 3212 { 3213 INSTRUCTION_FORMAT22c_FIELD_ODEX68=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2106); 3214 stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX68); 3215 3216 // AST REWRITE 3217 // elements: 3218 // token labels: 3219 // rule labels: retval 3220 // token list labels: 3221 // rule list labels: 3222 // wildcard labels: 3223 retval.tree = root_0; 3224 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3225 3226 root_0 = (CommonTree)adaptor.nil(); 3227 // 578:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] 3228 { 3229 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD_ODEX68)); 3230 } 3231 3232 3233 retval.tree = root_0; 3234 3235 } 3236 break; 3237 case 27 : 3238 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:579:5: INSTRUCTION_FORMAT22c_TYPE 3239 { 3240 INSTRUCTION_FORMAT22c_TYPE69=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2117); 3241 stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE69); 3242 3243 // AST REWRITE 3244 // elements: 3245 // token labels: 3246 // rule labels: retval 3247 // token list labels: 3248 // rule list labels: 3249 // wildcard labels: 3250 retval.tree = root_0; 3251 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3252 3253 root_0 = (CommonTree)adaptor.nil(); 3254 // 579:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] 3255 { 3256 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_TYPE69)); 3257 } 3258 3259 3260 retval.tree = root_0; 3261 3262 } 3263 break; 3264 case 28 : 3265 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:580:5: INSTRUCTION_FORMAT22cs_FIELD 3266 { 3267 INSTRUCTION_FORMAT22cs_FIELD70=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2128); 3268 stream_INSTRUCTION_FORMAT22cs_FIELD.add(INSTRUCTION_FORMAT22cs_FIELD70); 3269 3270 // AST REWRITE 3271 // elements: 3272 // token labels: 3273 // rule labels: retval 3274 // token list labels: 3275 // rule list labels: 3276 // wildcard labels: 3277 retval.tree = root_0; 3278 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3279 3280 root_0 = (CommonTree)adaptor.nil(); 3281 // 580:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] 3282 { 3283 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22cs_FIELD70)); 3284 } 3285 3286 3287 retval.tree = root_0; 3288 3289 } 3290 break; 3291 case 29 : 3292 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:581:5: INSTRUCTION_FORMAT22s_OR_ID 3293 { 3294 INSTRUCTION_FORMAT22s_OR_ID71=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2139); 3295 stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID71); 3296 3297 // AST REWRITE 3298 // elements: 3299 // token labels: 3300 // rule labels: retval 3301 // token list labels: 3302 // rule list labels: 3303 // wildcard labels: 3304 retval.tree = root_0; 3305 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3306 3307 root_0 = (CommonTree)adaptor.nil(); 3308 // 581:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] 3309 { 3310 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22s_OR_ID71)); 3311 } 3312 3313 3314 retval.tree = root_0; 3315 3316 } 3317 break; 3318 case 30 : 3319 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:582:5: INSTRUCTION_FORMAT22t 3320 { 3321 INSTRUCTION_FORMAT22t72=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2150); 3322 stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t72); 3323 3324 // AST REWRITE 3325 // elements: 3326 // token labels: 3327 // rule labels: retval 3328 // token list labels: 3329 // rule list labels: 3330 // wildcard labels: 3331 retval.tree = root_0; 3332 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3333 3334 root_0 = (CommonTree)adaptor.nil(); 3335 // 582:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] 3336 { 3337 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22t72)); 3338 } 3339 3340 3341 retval.tree = root_0; 3342 3343 } 3344 break; 3345 case 31 : 3346 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:583:5: INSTRUCTION_FORMAT23x 3347 { 3348 INSTRUCTION_FORMAT23x73=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2161); 3349 stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x73); 3350 3351 // AST REWRITE 3352 // elements: 3353 // token labels: 3354 // rule labels: retval 3355 // token list labels: 3356 // rule list labels: 3357 // wildcard labels: 3358 retval.tree = root_0; 3359 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3360 3361 root_0 = (CommonTree)adaptor.nil(); 3362 // 583:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] 3363 { 3364 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT23x73)); 3365 } 3366 3367 3368 retval.tree = root_0; 3369 3370 } 3371 break; 3372 case 32 : 3373 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:584:5: INSTRUCTION_FORMAT31i_OR_ID 3374 { 3375 INSTRUCTION_FORMAT31i_OR_ID74=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2172); 3376 stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID74); 3377 3378 // AST REWRITE 3379 // elements: 3380 // token labels: 3381 // rule labels: retval 3382 // token list labels: 3383 // rule list labels: 3384 // wildcard labels: 3385 retval.tree = root_0; 3386 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3387 3388 root_0 = (CommonTree)adaptor.nil(); 3389 // 584:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] 3390 { 3391 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31i_OR_ID74)); 3392 } 3393 3394 3395 retval.tree = root_0; 3396 3397 } 3398 break; 3399 case 33 : 3400 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:585:5: INSTRUCTION_FORMAT31t 3401 { 3402 INSTRUCTION_FORMAT31t75=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2183); 3403 stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t75); 3404 3405 // AST REWRITE 3406 // elements: 3407 // token labels: 3408 // rule labels: retval 3409 // token list labels: 3410 // rule list labels: 3411 // wildcard labels: 3412 retval.tree = root_0; 3413 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3414 3415 root_0 = (CommonTree)adaptor.nil(); 3416 // 585:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] 3417 { 3418 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31t75)); 3419 } 3420 3421 3422 retval.tree = root_0; 3423 3424 } 3425 break; 3426 case 34 : 3427 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:586:5: INSTRUCTION_FORMAT35c_METHOD 3428 { 3429 INSTRUCTION_FORMAT35c_METHOD76=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2194); 3430 stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD76); 3431 3432 // AST REWRITE 3433 // elements: 3434 // token labels: 3435 // rule labels: retval 3436 // token list labels: 3437 // rule list labels: 3438 // wildcard labels: 3439 retval.tree = root_0; 3440 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3441 3442 root_0 = (CommonTree)adaptor.nil(); 3443 // 586:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] 3444 { 3445 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD76)); 3446 } 3447 3448 3449 retval.tree = root_0; 3450 3451 } 3452 break; 3453 case 35 : 3454 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:587:5: INSTRUCTION_FORMAT35c_METHOD_ODEX 3455 { 3456 INSTRUCTION_FORMAT35c_METHOD_ODEX77=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2205); 3457 stream_INSTRUCTION_FORMAT35c_METHOD_ODEX.add(INSTRUCTION_FORMAT35c_METHOD_ODEX77); 3458 3459 // AST REWRITE 3460 // elements: 3461 // token labels: 3462 // rule labels: retval 3463 // token list labels: 3464 // rule list labels: 3465 // wildcard labels: 3466 retval.tree = root_0; 3467 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3468 3469 root_0 = (CommonTree)adaptor.nil(); 3470 // 587:39: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] 3471 { 3472 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD_ODEX77)); 3473 } 3474 3475 3476 retval.tree = root_0; 3477 3478 } 3479 break; 3480 case 36 : 3481 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:588:5: INSTRUCTION_FORMAT35c_TYPE 3482 { 3483 INSTRUCTION_FORMAT35c_TYPE78=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2216); 3484 stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE78); 3485 3486 // AST REWRITE 3487 // elements: 3488 // token labels: 3489 // rule labels: retval 3490 // token list labels: 3491 // rule list labels: 3492 // wildcard labels: 3493 retval.tree = root_0; 3494 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3495 3496 root_0 = (CommonTree)adaptor.nil(); 3497 // 588:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] 3498 { 3499 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_TYPE78)); 3500 } 3501 3502 3503 retval.tree = root_0; 3504 3505 } 3506 break; 3507 case 37 : 3508 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:589:5: INSTRUCTION_FORMAT35mi_METHOD 3509 { 3510 INSTRUCTION_FORMAT35mi_METHOD79=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2227); 3511 stream_INSTRUCTION_FORMAT35mi_METHOD.add(INSTRUCTION_FORMAT35mi_METHOD79); 3512 3513 // AST REWRITE 3514 // elements: 3515 // token labels: 3516 // rule labels: retval 3517 // token list labels: 3518 // rule list labels: 3519 // wildcard labels: 3520 retval.tree = root_0; 3521 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3522 3523 root_0 = (CommonTree)adaptor.nil(); 3524 // 589:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] 3525 { 3526 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35mi_METHOD79)); 3527 } 3528 3529 3530 retval.tree = root_0; 3531 3532 } 3533 break; 3534 case 38 : 3535 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:590:5: INSTRUCTION_FORMAT35ms_METHOD 3536 { 3537 INSTRUCTION_FORMAT35ms_METHOD80=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2238); 3538 stream_INSTRUCTION_FORMAT35ms_METHOD.add(INSTRUCTION_FORMAT35ms_METHOD80); 3539 3540 // AST REWRITE 3541 // elements: 3542 // token labels: 3543 // rule labels: retval 3544 // token list labels: 3545 // rule list labels: 3546 // wildcard labels: 3547 retval.tree = root_0; 3548 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3549 3550 root_0 = (CommonTree)adaptor.nil(); 3551 // 590:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] 3552 { 3553 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35ms_METHOD80)); 3554 } 3555 3556 3557 retval.tree = root_0; 3558 3559 } 3560 break; 3561 case 39 : 3562 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:591:5: INSTRUCTION_FORMAT51l 3563 { 3564 INSTRUCTION_FORMAT51l81=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2249); 3565 stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l81); 3566 3567 // AST REWRITE 3568 // elements: 3569 // token labels: 3570 // rule labels: retval 3571 // token list labels: 3572 // rule list labels: 3573 // wildcard labels: 3574 retval.tree = root_0; 3575 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3576 3577 root_0 = (CommonTree)adaptor.nil(); 3578 // 591:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] 3579 { 3580 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT51l81)); 3581 } 3582 3583 3584 retval.tree = root_0; 3585 3586 } 3587 break; 3588 3589 } 3590 retval.stop = input.LT(-1); 3591 3592 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3593 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3594 3595 } 3596 catch (RecognitionException re) { 3597 reportError(re); 3598 recover(input,re); 3599 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3600 } 3601 finally { 3602 // do for sure before leaving 3603 } 3604 return retval; 3605 } 3606 // $ANTLR end "simple_name" 3607 3608 3609 public static class member_name_return extends ParserRuleReturnScope { 3610 CommonTree tree; 3611 @Override 3612 public CommonTree getTree() { return tree; } 3613 }; 3614 3615 3616 // $ANTLR start "member_name" 3617 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:593:1: member_name : ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] ); 3618 public final smaliParser.member_name_return member_name() throws RecognitionException { 3619 smaliParser.member_name_return retval = new smaliParser.member_name_return(); 3620 retval.start = input.LT(1); 3621 3622 CommonTree root_0 = null; 3623 3624 Token MEMBER_NAME83=null; 3625 ParserRuleReturnScope simple_name82 =null; 3626 3627 CommonTree MEMBER_NAME83_tree=null; 3628 RewriteRuleTokenStream stream_MEMBER_NAME=new RewriteRuleTokenStream(adaptor,"token MEMBER_NAME"); 3629 3630 try { 3631 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:594:3: ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] ) 3632 int alt10=2; 3633 int LA10_0 = input.LA(1); 3634 if ( (LA10_0==ACCESS_SPEC||LA10_0==ANNOTATION_VISIBILITY||LA10_0==BOOL_LITERAL||LA10_0==DOUBLE_LITERAL_OR_ID||LA10_0==FLOAT_LITERAL_OR_ID||(LA10_0 >= INSTRUCTION_FORMAT10t && LA10_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA10_0==INSTRUCTION_FORMAT11x||LA10_0==INSTRUCTION_FORMAT12x_OR_ID||(LA10_0 >= INSTRUCTION_FORMAT21c_FIELD && LA10_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA10_0==INSTRUCTION_FORMAT21t||(LA10_0 >= INSTRUCTION_FORMAT22c_FIELD && LA10_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA10_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA10_0 <= INSTRUCTION_FORMAT22t)||LA10_0==INSTRUCTION_FORMAT23x||(LA10_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA10_0 <= INSTRUCTION_FORMAT31t)||(LA10_0 >= INSTRUCTION_FORMAT35c_METHOD && LA10_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA10_0==INSTRUCTION_FORMAT51l||(LA10_0 >= NEGATIVE_INTEGER_LITERAL && LA10_0 <= NULL_LITERAL)||(LA10_0 >= PARAM_LIST_OR_ID && LA10_0 <= PRIMITIVE_TYPE)||LA10_0==REGISTER||LA10_0==SIMPLE_NAME||(LA10_0 >= VERIFICATION_ERROR_TYPE && LA10_0 <= VOID_TYPE)) ) { 3635 alt10=1; 3636 } 3637 else if ( (LA10_0==MEMBER_NAME) ) { 3638 alt10=2; 3639 } 3640 3641 else { 3642 NoViableAltException nvae = 3643 new NoViableAltException("", 10, 0, input); 3644 throw nvae; 3645 } 3646 3647 switch (alt10) { 3648 case 1 : 3649 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:594:5: simple_name 3650 { 3651 root_0 = (CommonTree)adaptor.nil(); 3652 3653 3654 pushFollow(FOLLOW_simple_name_in_member_name2264); 3655 simple_name82=simple_name(); 3656 state._fsp--; 3657 3658 adaptor.addChild(root_0, simple_name82.getTree()); 3659 3660 } 3661 break; 3662 case 2 : 3663 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:595:5: MEMBER_NAME 3664 { 3665 MEMBER_NAME83=(Token)match(input,MEMBER_NAME,FOLLOW_MEMBER_NAME_in_member_name2270); 3666 stream_MEMBER_NAME.add(MEMBER_NAME83); 3667 3668 // AST REWRITE 3669 // elements: 3670 // token labels: 3671 // rule labels: retval 3672 // token list labels: 3673 // rule list labels: 3674 // wildcard labels: 3675 retval.tree = root_0; 3676 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3677 3678 root_0 = (CommonTree)adaptor.nil(); 3679 // 595:17: -> SIMPLE_NAME[$MEMBER_NAME] 3680 { 3681 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, MEMBER_NAME83)); 3682 } 3683 3684 3685 retval.tree = root_0; 3686 3687 } 3688 break; 3689 3690 } 3691 retval.stop = input.LT(-1); 3692 3693 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3694 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3695 3696 } 3697 catch (RecognitionException re) { 3698 reportError(re); 3699 recover(input,re); 3700 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3701 } 3702 finally { 3703 // do for sure before leaving 3704 } 3705 return retval; 3706 } 3707 // $ANTLR end "member_name" 3708 3709 3710 public static class method_prototype_return extends ParserRuleReturnScope { 3711 CommonTree tree; 3712 @Override 3713 public CommonTree getTree() { return tree; } 3714 }; 3715 3716 3717 // $ANTLR start "method_prototype" 3718 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:597:1: method_prototype : OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) ; 3719 public final smaliParser.method_prototype_return method_prototype() throws RecognitionException { 3720 smaliParser.method_prototype_return retval = new smaliParser.method_prototype_return(); 3721 retval.start = input.LT(1); 3722 3723 CommonTree root_0 = null; 3724 3725 Token OPEN_PAREN84=null; 3726 Token CLOSE_PAREN86=null; 3727 ParserRuleReturnScope param_list85 =null; 3728 ParserRuleReturnScope type_descriptor87 =null; 3729 3730 CommonTree OPEN_PAREN84_tree=null; 3731 CommonTree CLOSE_PAREN86_tree=null; 3732 RewriteRuleTokenStream stream_OPEN_PAREN=new RewriteRuleTokenStream(adaptor,"token OPEN_PAREN"); 3733 RewriteRuleTokenStream stream_CLOSE_PAREN=new RewriteRuleTokenStream(adaptor,"token CLOSE_PAREN"); 3734 RewriteRuleSubtreeStream stream_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule type_descriptor"); 3735 RewriteRuleSubtreeStream stream_param_list=new RewriteRuleSubtreeStream(adaptor,"rule param_list"); 3736 3737 try { 3738 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:598:3: ( OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) ) 3739 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:598:5: OPEN_PAREN param_list CLOSE_PAREN type_descriptor 3740 { 3741 OPEN_PAREN84=(Token)match(input,OPEN_PAREN,FOLLOW_OPEN_PAREN_in_method_prototype2285); 3742 stream_OPEN_PAREN.add(OPEN_PAREN84); 3743 3744 pushFollow(FOLLOW_param_list_in_method_prototype2287); 3745 param_list85=param_list(); 3746 state._fsp--; 3747 3748 stream_param_list.add(param_list85.getTree()); 3749 CLOSE_PAREN86=(Token)match(input,CLOSE_PAREN,FOLLOW_CLOSE_PAREN_in_method_prototype2289); 3750 stream_CLOSE_PAREN.add(CLOSE_PAREN86); 3751 3752 pushFollow(FOLLOW_type_descriptor_in_method_prototype2291); 3753 type_descriptor87=type_descriptor(); 3754 state._fsp--; 3755 3756 stream_type_descriptor.add(type_descriptor87.getTree()); 3757 // AST REWRITE 3758 // elements: param_list, type_descriptor 3759 // token labels: 3760 // rule labels: retval 3761 // token list labels: 3762 // rule list labels: 3763 // wildcard labels: 3764 retval.tree = root_0; 3765 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3766 3767 root_0 = (CommonTree)adaptor.nil(); 3768 // 599:5: -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) 3769 { 3770 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:8: ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) 3771 { 3772 CommonTree root_1 = (CommonTree)adaptor.nil(); 3773 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_PROTOTYPE, (retval.start), "I_METHOD_PROTOTYPE"), root_1); 3774 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:59: ^( I_METHOD_RETURN_TYPE type_descriptor ) 3775 { 3776 CommonTree root_2 = (CommonTree)adaptor.nil(); 3777 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_RETURN_TYPE, "I_METHOD_RETURN_TYPE"), root_2); 3778 adaptor.addChild(root_2, stream_type_descriptor.nextTree()); 3779 adaptor.addChild(root_1, root_2); 3780 } 3781 3782 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:99: ( param_list )? 3783 if ( stream_param_list.hasNext() ) { 3784 adaptor.addChild(root_1, stream_param_list.nextTree()); 3785 } 3786 stream_param_list.reset(); 3787 3788 adaptor.addChild(root_0, root_1); 3789 } 3790 3791 } 3792 3793 3794 retval.tree = root_0; 3795 3796 } 3797 3798 retval.stop = input.LT(-1); 3799 3800 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3801 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3802 3803 } 3804 catch (RecognitionException re) { 3805 reportError(re); 3806 recover(input,re); 3807 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3808 } 3809 finally { 3810 // do for sure before leaving 3811 } 3812 return retval; 3813 } 3814 // $ANTLR end "method_prototype" 3815 3816 3817 public static class param_list_return extends ParserRuleReturnScope { 3818 CommonTree tree; 3819 @Override 3820 public CommonTree getTree() { return tree; } 3821 }; 3822 3823 3824 // $ANTLR start "param_list" 3825 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:601:1: param_list : ( PARAM_LIST ->| PARAM_LIST_OR_ID ->| ( nonvoid_type_descriptor )* ); 3826 public final smaliParser.param_list_return param_list() throws RecognitionException { 3827 smaliParser.param_list_return retval = new smaliParser.param_list_return(); 3828 retval.start = input.LT(1); 3829 3830 CommonTree root_0 = null; 3831 3832 Token PARAM_LIST88=null; 3833 Token PARAM_LIST_OR_ID89=null; 3834 ParserRuleReturnScope nonvoid_type_descriptor90 =null; 3835 3836 CommonTree PARAM_LIST88_tree=null; 3837 CommonTree PARAM_LIST_OR_ID89_tree=null; 3838 RewriteRuleTokenStream stream_PARAM_LIST=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST"); 3839 RewriteRuleTokenStream stream_PARAM_LIST_OR_ID=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID"); 3840 3841 try { 3842 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:602:3: ( PARAM_LIST ->| PARAM_LIST_OR_ID ->| ( nonvoid_type_descriptor )* ) 3843 int alt12=3; 3844 switch ( input.LA(1) ) { 3845 case PARAM_LIST: 3846 { 3847 alt12=1; 3848 } 3849 break; 3850 case PARAM_LIST_OR_ID: 3851 { 3852 alt12=2; 3853 } 3854 break; 3855 case ARRAY_DESCRIPTOR: 3856 case CLASS_DESCRIPTOR: 3857 case CLOSE_PAREN: 3858 case PRIMITIVE_TYPE: 3859 { 3860 alt12=3; 3861 } 3862 break; 3863 default: 3864 NoViableAltException nvae = 3865 new NoViableAltException("", 12, 0, input); 3866 throw nvae; 3867 } 3868 switch (alt12) { 3869 case 1 : 3870 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:602:5: PARAM_LIST 3871 { 3872 PARAM_LIST88=(Token)match(input,PARAM_LIST,FOLLOW_PARAM_LIST_in_param_list2321); 3873 stream_PARAM_LIST.add(PARAM_LIST88); 3874 3875 // AST REWRITE 3876 // elements: 3877 // token labels: 3878 // rule labels: retval 3879 // token list labels: 3880 // rule list labels: 3881 // wildcard labels: 3882 retval.tree = root_0; 3883 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3884 3885 root_0 = (CommonTree)adaptor.nil(); 3886 // 602:16: -> 3887 { 3888 adaptor.addChild(root_0, parseParamList((CommonToken)PARAM_LIST88) ); 3889 } 3890 3891 3892 retval.tree = root_0; 3893 3894 } 3895 break; 3896 case 2 : 3897 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:603:5: PARAM_LIST_OR_ID 3898 { 3899 PARAM_LIST_OR_ID89=(Token)match(input,PARAM_LIST_OR_ID,FOLLOW_PARAM_LIST_OR_ID_in_param_list2331); 3900 stream_PARAM_LIST_OR_ID.add(PARAM_LIST_OR_ID89); 3901 3902 // AST REWRITE 3903 // elements: 3904 // token labels: 3905 // rule labels: retval 3906 // token list labels: 3907 // rule list labels: 3908 // wildcard labels: 3909 retval.tree = root_0; 3910 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3911 3912 root_0 = (CommonTree)adaptor.nil(); 3913 // 603:22: -> 3914 { 3915 adaptor.addChild(root_0, parseParamList((CommonToken)PARAM_LIST_OR_ID89) ); 3916 } 3917 3918 3919 retval.tree = root_0; 3920 3921 } 3922 break; 3923 case 3 : 3924 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: ( nonvoid_type_descriptor )* 3925 { 3926 root_0 = (CommonTree)adaptor.nil(); 3927 3928 3929 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: ( nonvoid_type_descriptor )* 3930 loop11: 3931 while (true) { 3932 int alt11=2; 3933 int LA11_0 = input.LA(1); 3934 if ( (LA11_0==ARRAY_DESCRIPTOR||LA11_0==CLASS_DESCRIPTOR||LA11_0==PRIMITIVE_TYPE) ) { 3935 alt11=1; 3936 } 3937 3938 switch (alt11) { 3939 case 1 : 3940 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: nonvoid_type_descriptor 3941 { 3942 pushFollow(FOLLOW_nonvoid_type_descriptor_in_param_list2341); 3943 nonvoid_type_descriptor90=nonvoid_type_descriptor(); 3944 state._fsp--; 3945 3946 adaptor.addChild(root_0, nonvoid_type_descriptor90.getTree()); 3947 3948 } 3949 break; 3950 3951 default : 3952 break loop11; 3953 } 3954 } 3955 3956 } 3957 break; 3958 3959 } 3960 retval.stop = input.LT(-1); 3961 3962 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3963 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3964 3965 } 3966 catch (RecognitionException re) { 3967 reportError(re); 3968 recover(input,re); 3969 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3970 } 3971 finally { 3972 // do for sure before leaving 3973 } 3974 return retval; 3975 } 3976 // $ANTLR end "param_list" 3977 3978 3979 public static class type_descriptor_return extends ParserRuleReturnScope { 3980 CommonTree tree; 3981 @Override 3982 public CommonTree getTree() { return tree; } 3983 }; 3984 3985 3986 // $ANTLR start "type_descriptor" 3987 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:606:1: type_descriptor : ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ); 3988 public final smaliParser.type_descriptor_return type_descriptor() throws RecognitionException { 3989 smaliParser.type_descriptor_return retval = new smaliParser.type_descriptor_return(); 3990 retval.start = input.LT(1); 3991 3992 CommonTree root_0 = null; 3993 3994 Token set91=null; 3995 3996 CommonTree set91_tree=null; 3997 3998 try { 3999 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:607:3: ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) 4000 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g: 4001 { 4002 root_0 = (CommonTree)adaptor.nil(); 4003 4004 4005 set91=input.LT(1); 4006 if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE||input.LA(1)==VOID_TYPE ) { 4007 input.consume(); 4008 adaptor.addChild(root_0, (CommonTree)adaptor.create(set91)); 4009 state.errorRecovery=false; 4010 } 4011 else { 4012 MismatchedSetException mse = new MismatchedSetException(null,input); 4013 throw mse; 4014 } 4015 } 4016 4017 retval.stop = input.LT(-1); 4018 4019 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4020 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4021 4022 } 4023 catch (RecognitionException re) { 4024 reportError(re); 4025 recover(input,re); 4026 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4027 } 4028 finally { 4029 // do for sure before leaving 4030 } 4031 return retval; 4032 } 4033 // $ANTLR end "type_descriptor" 4034 4035 4036 public static class nonvoid_type_descriptor_return extends ParserRuleReturnScope { 4037 CommonTree tree; 4038 @Override 4039 public CommonTree getTree() { return tree; } 4040 }; 4041 4042 4043 // $ANTLR start "nonvoid_type_descriptor" 4044 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:612:1: nonvoid_type_descriptor : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ); 4045 public final smaliParser.nonvoid_type_descriptor_return nonvoid_type_descriptor() throws RecognitionException { 4046 smaliParser.nonvoid_type_descriptor_return retval = new smaliParser.nonvoid_type_descriptor_return(); 4047 retval.start = input.LT(1); 4048 4049 CommonTree root_0 = null; 4050 4051 Token set92=null; 4052 4053 CommonTree set92_tree=null; 4054 4055 try { 4056 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:613:3: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) 4057 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g: 4058 { 4059 root_0 = (CommonTree)adaptor.nil(); 4060 4061 4062 set92=input.LT(1); 4063 if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE ) { 4064 input.consume(); 4065 adaptor.addChild(root_0, (CommonTree)adaptor.create(set92)); 4066 state.errorRecovery=false; 4067 } 4068 else { 4069 MismatchedSetException mse = new MismatchedSetException(null,input); 4070 throw mse; 4071 } 4072 } 4073 4074 retval.stop = input.LT(-1); 4075 4076 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4077 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4078 4079 } 4080 catch (RecognitionException re) { 4081 reportError(re); 4082 recover(input,re); 4083 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4084 } 4085 finally { 4086 // do for sure before leaving 4087 } 4088 return retval; 4089 } 4090 // $ANTLR end "nonvoid_type_descriptor" 4091 4092 4093 public static class reference_type_descriptor_return extends ParserRuleReturnScope { 4094 CommonTree tree; 4095 @Override 4096 public CommonTree getTree() { return tree; } 4097 }; 4098 4099 4100 // $ANTLR start "reference_type_descriptor" 4101 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:617:1: reference_type_descriptor : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ); 4102 public final smaliParser.reference_type_descriptor_return reference_type_descriptor() throws RecognitionException { 4103 smaliParser.reference_type_descriptor_return retval = new smaliParser.reference_type_descriptor_return(); 4104 retval.start = input.LT(1); 4105 4106 CommonTree root_0 = null; 4107 4108 Token set93=null; 4109 4110 CommonTree set93_tree=null; 4111 4112 try { 4113 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:618:3: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) 4114 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g: 4115 { 4116 root_0 = (CommonTree)adaptor.nil(); 4117 4118 4119 set93=input.LT(1); 4120 if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR ) { 4121 input.consume(); 4122 adaptor.addChild(root_0, (CommonTree)adaptor.create(set93)); 4123 state.errorRecovery=false; 4124 } 4125 else { 4126 MismatchedSetException mse = new MismatchedSetException(null,input); 4127 throw mse; 4128 } 4129 } 4130 4131 retval.stop = input.LT(-1); 4132 4133 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4134 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4135 4136 } 4137 catch (RecognitionException re) { 4138 reportError(re); 4139 recover(input,re); 4140 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4141 } 4142 finally { 4143 // do for sure before leaving 4144 } 4145 return retval; 4146 } 4147 // $ANTLR end "reference_type_descriptor" 4148 4149 4150 public static class integer_literal_return extends ParserRuleReturnScope { 4151 CommonTree tree; 4152 @Override 4153 public CommonTree getTree() { return tree; } 4154 }; 4155 4156 4157 // $ANTLR start "integer_literal" 4158 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:621:1: integer_literal : ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] ); 4159 public final smaliParser.integer_literal_return integer_literal() throws RecognitionException { 4160 smaliParser.integer_literal_return retval = new smaliParser.integer_literal_return(); 4161 retval.start = input.LT(1); 4162 4163 CommonTree root_0 = null; 4164 4165 Token POSITIVE_INTEGER_LITERAL94=null; 4166 Token NEGATIVE_INTEGER_LITERAL95=null; 4167 4168 CommonTree POSITIVE_INTEGER_LITERAL94_tree=null; 4169 CommonTree NEGATIVE_INTEGER_LITERAL95_tree=null; 4170 RewriteRuleTokenStream stream_NEGATIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token NEGATIVE_INTEGER_LITERAL"); 4171 RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL"); 4172 4173 try { 4174 // /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:622:3: ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITER