1 // $ANTLR 3.5.2 smaliParser.g 2017-04-20 15:20:45 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_TYPE_PREFIX", 23 "ARROW", "BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE", 24 "CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE", 25 "CLOSE_PAREN", "COLON", "COMMA", "DOTDOT", "DOUBLE_LITERAL", "DOUBLE_LITERAL_OR_ID", 26 "END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", "END_FIELD_DIRECTIVE", 27 "END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", "END_PACKED_SWITCH_DIRECTIVE", 28 "END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", "END_SUBANNOTATION_DIRECTIVE", 29 "ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", "EQUAL", "FIELD_DIRECTIVE", "FIELD_OFFSET", 30 "FLOAT_LITERAL", "FLOAT_LITERAL_OR_ID", "IMPLEMENTS_DIRECTIVE", "INLINE_INDEX", 31 "INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX", 32 "INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x", 33 "INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t", 34 "INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING", 35 "INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh", 36 "INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b", 37 "INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE", 38 "INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID", 39 "INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x", 40 "INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i", 41 "INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x", 42 "INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE", 43 "INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD", 44 "INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD", 45 "INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT45cc_METHOD", "INSTRUCTION_FORMAT4rcc_METHOD", 46 "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL", "INVALID_TOKEN", "I_ACCESS_LIST", 47 "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT", "I_ARRAY_ELEMENTS", 48 "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES", "I_CLASS_DEF", 49 "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD", "I_ENCODED_METHOD", 50 "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS", "I_FIELD_INITIAL_VALUE", 51 "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE", "I_LOCAL", "I_LOCALS", 52 "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE", "I_METHOD_RETURN_TYPE", 53 "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS", "I_PACKED_SWITCH_START_KEY", 54 "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED", "I_PROLOGUE", 55 "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL", 56 "I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t", 57 "I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x", 58 "I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t", 59 "I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE", 60 "I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s", 61 "I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD", 62 "I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t", 63 "I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t", 64 "I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t", 65 "I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE", 66 "I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT45cc_METHOD", 67 "I_STATEMENT_FORMAT4rcc_METHOD", "I_STATEMENT_FORMAT51l", "I_STATEMENT_PACKED_SWITCH", 68 "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION", "I_SUPER", "LINE_COMMENT", 69 "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", "LOCAL_DIRECTIVE", "LONG_LITERAL", 70 "MEMBER_NAME", "METHOD_DIRECTIVE", "NEGATIVE_INTEGER_LITERAL", "NULL_LITERAL", 71 "OPEN_BRACE", "OPEN_PAREN", "PACKED_SWITCH_DIRECTIVE", "PARAMETER_DIRECTIVE", 72 "PARAM_LIST_OR_ID_PRIMITIVE_TYPE", "POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", 73 "PROLOGUE_DIRECTIVE", "REGISTER", "REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", 74 "SHORT_LITERAL", "SIMPLE_NAME", "SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", 75 "STRING_LITERAL", "SUBANNOTATION_DIRECTIVE", "SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE", 76 "VOID_TYPE", "VTABLE_INDEX", "WHITE_SPACE" 77 }; 78 public static final int EOF=-1; 79 public static final int ACCESS_SPEC=4; 80 public static final int ANNOTATION_DIRECTIVE=5; 81 public static final int ANNOTATION_VISIBILITY=6; 82 public static final int ARRAY_DATA_DIRECTIVE=7; 83 public static final int ARRAY_TYPE_PREFIX=8; 84 public static final int ARROW=9; 85 public static final int BOOL_LITERAL=10; 86 public static final int BYTE_LITERAL=11; 87 public static final int CATCHALL_DIRECTIVE=12; 88 public static final int CATCH_DIRECTIVE=13; 89 public static final int CHAR_LITERAL=14; 90 public static final int CLASS_DESCRIPTOR=15; 91 public static final int CLASS_DIRECTIVE=16; 92 public static final int CLOSE_BRACE=17; 93 public static final int CLOSE_PAREN=18; 94 public static final int COLON=19; 95 public static final int COMMA=20; 96 public static final int DOTDOT=21; 97 public static final int DOUBLE_LITERAL=22; 98 public static final int DOUBLE_LITERAL_OR_ID=23; 99 public static final int END_ANNOTATION_DIRECTIVE=24; 100 public static final int END_ARRAY_DATA_DIRECTIVE=25; 101 public static final int END_FIELD_DIRECTIVE=26; 102 public static final int END_LOCAL_DIRECTIVE=27; 103 public static final int END_METHOD_DIRECTIVE=28; 104 public static final int END_PACKED_SWITCH_DIRECTIVE=29; 105 public static final int END_PARAMETER_DIRECTIVE=30; 106 public static final int END_SPARSE_SWITCH_DIRECTIVE=31; 107 public static final int END_SUBANNOTATION_DIRECTIVE=32; 108 public static final int ENUM_DIRECTIVE=33; 109 public static final int EPILOGUE_DIRECTIVE=34; 110 public static final int EQUAL=35; 111 public static final int FIELD_DIRECTIVE=36; 112 public static final int FIELD_OFFSET=37; 113 public static final int FLOAT_LITERAL=38; 114 public static final int FLOAT_LITERAL_OR_ID=39; 115 public static final int IMPLEMENTS_DIRECTIVE=40; 116 public static final int INLINE_INDEX=41; 117 public static final int INSTRUCTION_FORMAT10t=42; 118 public static final int INSTRUCTION_FORMAT10x=43; 119 public static final int INSTRUCTION_FORMAT10x_ODEX=44; 120 public static final int INSTRUCTION_FORMAT11n=45; 121 public static final int INSTRUCTION_FORMAT11x=46; 122 public static final int INSTRUCTION_FORMAT12x=47; 123 public static final int INSTRUCTION_FORMAT12x_OR_ID=48; 124 public static final int INSTRUCTION_FORMAT20bc=49; 125 public static final int INSTRUCTION_FORMAT20t=50; 126 public static final int INSTRUCTION_FORMAT21c_FIELD=51; 127 public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=52; 128 public static final int INSTRUCTION_FORMAT21c_STRING=53; 129 public static final int INSTRUCTION_FORMAT21c_TYPE=54; 130 public static final int INSTRUCTION_FORMAT21ih=55; 131 public static final int INSTRUCTION_FORMAT21lh=56; 132 public static final int INSTRUCTION_FORMAT21s=57; 133 public static final int INSTRUCTION_FORMAT21t=58; 134 public static final int INSTRUCTION_FORMAT22b=59; 135 public static final int INSTRUCTION_FORMAT22c_FIELD=60; 136 public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=61; 137 public static final int INSTRUCTION_FORMAT22c_TYPE=62; 138 public static final int INSTRUCTION_FORMAT22cs_FIELD=63; 139 public static final int INSTRUCTION_FORMAT22s=64; 140 public static final int INSTRUCTION_FORMAT22s_OR_ID=65; 141 public static final int INSTRUCTION_FORMAT22t=66; 142 public static final int INSTRUCTION_FORMAT22x=67; 143 public static final int INSTRUCTION_FORMAT23x=68; 144 public static final int INSTRUCTION_FORMAT30t=69; 145 public static final int INSTRUCTION_FORMAT31c=70; 146 public static final int INSTRUCTION_FORMAT31i=71; 147 public static final int INSTRUCTION_FORMAT31i_OR_ID=72; 148 public static final int INSTRUCTION_FORMAT31t=73; 149 public static final int INSTRUCTION_FORMAT32x=74; 150 public static final int INSTRUCTION_FORMAT35c_METHOD=75; 151 public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=76; 152 public static final int INSTRUCTION_FORMAT35c_TYPE=77; 153 public static final int INSTRUCTION_FORMAT35mi_METHOD=78; 154 public static final int INSTRUCTION_FORMAT35ms_METHOD=79; 155 public static final int INSTRUCTION_FORMAT3rc_METHOD=80; 156 public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=81; 157 public static final int INSTRUCTION_FORMAT3rc_TYPE=82; 158 public static final int INSTRUCTION_FORMAT3rmi_METHOD=83; 159 public static final int INSTRUCTION_FORMAT3rms_METHOD=84; 160 public static final int INSTRUCTION_FORMAT45cc_METHOD=85; 161 public static final int INSTRUCTION_FORMAT4rcc_METHOD=86; 162 public static final int INSTRUCTION_FORMAT51l=87; 163 public static final int INTEGER_LITERAL=88; 164 public static final int INVALID_TOKEN=89; 165 public static final int I_ACCESS_LIST=90; 166 public static final int I_ANNOTATION=91; 167 public static final int I_ANNOTATIONS=92; 168 public static final int I_ANNOTATION_ELEMENT=93; 169 public static final int I_ARRAY_ELEMENTS=94; 170 public static final int I_ARRAY_ELEMENT_SIZE=95; 171 public static final int I_CATCH=96; 172 public static final int I_CATCHALL=97; 173 public static final int I_CATCHES=98; 174 public static final int I_CLASS_DEF=99; 175 public static final int I_ENCODED_ARRAY=100; 176 public static final int I_ENCODED_ENUM=101; 177 public static final int I_ENCODED_FIELD=102; 178 public static final int I_ENCODED_METHOD=103; 179 public static final int I_END_LOCAL=104; 180 public static final int I_EPILOGUE=105; 181 public static final int I_FIELD=106; 182 public static final int I_FIELDS=107; 183 public static final int I_FIELD_INITIAL_VALUE=108; 184 public static final int I_FIELD_TYPE=109; 185 public static final int I_IMPLEMENTS=110; 186 public static final int I_LABEL=111; 187 public static final int I_LINE=112; 188 public static final int I_LOCAL=113; 189 public static final int I_LOCALS=114; 190 public static final int I_METHOD=115; 191 public static final int I_METHODS=116; 192 public static final int I_METHOD_PROTOTYPE=117; 193 public static final int I_METHOD_RETURN_TYPE=118; 194 public static final int I_ORDERED_METHOD_ITEMS=119; 195 public static final int I_PACKED_SWITCH_ELEMENTS=120; 196 public static final int I_PACKED_SWITCH_START_KEY=121; 197 public static final int I_PARAMETER=122; 198 public static final int I_PARAMETERS=123; 199 public static final int I_PARAMETER_NOT_SPECIFIED=124; 200 public static final int I_PROLOGUE=125; 201 public static final int I_REGISTERS=126; 202 public static final int I_REGISTER_LIST=127; 203 public static final int I_REGISTER_RANGE=128; 204 public static final int I_RESTART_LOCAL=129; 205 public static final int I_SOURCE=130; 206 public static final int I_SPARSE_SWITCH_ELEMENTS=131; 207 public static final int I_STATEMENT_ARRAY_DATA=132; 208 public static final int I_STATEMENT_FORMAT10t=133; 209 public static final int I_STATEMENT_FORMAT10x=134; 210 public static final int I_STATEMENT_FORMAT11n=135; 211 public static final int I_STATEMENT_FORMAT11x=136; 212 public static final int I_STATEMENT_FORMAT12x=137; 213 public static final int I_STATEMENT_FORMAT20bc=138; 214 public static final int I_STATEMENT_FORMAT20t=139; 215 public static final int I_STATEMENT_FORMAT21c_FIELD=140; 216 public static final int I_STATEMENT_FORMAT21c_STRING=141; 217 public static final int I_STATEMENT_FORMAT21c_TYPE=142; 218 public static final int I_STATEMENT_FORMAT21ih=143; 219 public static final int I_STATEMENT_FORMAT21lh=144; 220 public static final int I_STATEMENT_FORMAT21s=145; 221 public static final int I_STATEMENT_FORMAT21t=146; 222 public static final int I_STATEMENT_FORMAT22b=147; 223 public static final int I_STATEMENT_FORMAT22c_FIELD=148; 224 public static final int I_STATEMENT_FORMAT22c_TYPE=149; 225 public static final int I_STATEMENT_FORMAT22s=150; 226 public static final int I_STATEMENT_FORMAT22t=151; 227 public static final int I_STATEMENT_FORMAT22x=152; 228 public static final int I_STATEMENT_FORMAT23x=153; 229 public static final int I_STATEMENT_FORMAT30t=154; 230 public static final int I_STATEMENT_FORMAT31c=155; 231 public static final int I_STATEMENT_FORMAT31i=156; 232 public static final int I_STATEMENT_FORMAT31t=157; 233 public static final int I_STATEMENT_FORMAT32x=158; 234 public static final int I_STATEMENT_FORMAT35c_METHOD=159; 235 public static final int I_STATEMENT_FORMAT35c_TYPE=160; 236 public static final int I_STATEMENT_FORMAT3rc_METHOD=161; 237 public static final int I_STATEMENT_FORMAT3rc_TYPE=162; 238 public static final int I_STATEMENT_FORMAT45cc_METHOD=163; 239 public static final int I_STATEMENT_FORMAT4rcc_METHOD=164; 240 public static final int I_STATEMENT_FORMAT51l=165; 241 public static final int I_STATEMENT_PACKED_SWITCH=166; 242 public static final int I_STATEMENT_SPARSE_SWITCH=167; 243 public static final int I_SUBANNOTATION=168; 244 public static final int I_SUPER=169; 245 public static final int LINE_COMMENT=170; 246 public static final int LINE_DIRECTIVE=171; 247 public static final int LOCALS_DIRECTIVE=172; 248 public static final int LOCAL_DIRECTIVE=173; 249 public static final int LONG_LITERAL=174; 250 public static final int MEMBER_NAME=175; 251 public static final int METHOD_DIRECTIVE=176; 252 public static final int NEGATIVE_INTEGER_LITERAL=177; 253 public static final int NULL_LITERAL=178; 254 public static final int OPEN_BRACE=179; 255 public static final int OPEN_PAREN=180; 256 public static final int PACKED_SWITCH_DIRECTIVE=181; 257 public static final int PARAMETER_DIRECTIVE=182; 258 public static final int PARAM_LIST_OR_ID_PRIMITIVE_TYPE=183; 259 public static final int POSITIVE_INTEGER_LITERAL=184; 260 public static final int PRIMITIVE_TYPE=185; 261 public static final int PROLOGUE_DIRECTIVE=186; 262 public static final int REGISTER=187; 263 public static final int REGISTERS_DIRECTIVE=188; 264 public static final int RESTART_LOCAL_DIRECTIVE=189; 265 public static final int SHORT_LITERAL=190; 266 public static final int SIMPLE_NAME=191; 267 public static final int SOURCE_DIRECTIVE=192; 268 public static final int SPARSE_SWITCH_DIRECTIVE=193; 269 public static final int STRING_LITERAL=194; 270 public static final int SUBANNOTATION_DIRECTIVE=195; 271 public static final int SUPER_DIRECTIVE=196; 272 public static final int VERIFICATION_ERROR_TYPE=197; 273 public static final int VOID_TYPE=198; 274 public static final int VTABLE_INDEX=199; 275 public static final int WHITE_SPACE=200; 276 277 // delegates getDelegates()278 public Parser[] getDelegates() { 279 return new Parser[] {}; 280 } 281 282 // delegators 283 284 smaliParser(TokenStream input)285 public smaliParser(TokenStream input) { 286 this(input, new RecognizerSharedState()); 287 } smaliParser(TokenStream input, RecognizerSharedState state)288 public smaliParser(TokenStream input, RecognizerSharedState state) { 289 super(input, state); 290 } 291 292 protected TreeAdaptor adaptor = new CommonTreeAdaptor(); 293 setTreeAdaptor(TreeAdaptor adaptor)294 public void setTreeAdaptor(TreeAdaptor adaptor) { 295 this.adaptor = adaptor; 296 } getTreeAdaptor()297 public TreeAdaptor getTreeAdaptor() { 298 return adaptor; 299 } getTokenNames()300 @Override public String[] getTokenNames() { return smaliParser.tokenNames; } getGrammarFileName()301 @Override public String getGrammarFileName() { return "smaliParser.g"; } 302 303 304 public static final int ERROR_CHANNEL = 100; 305 306 private boolean verboseErrors = false; 307 private boolean allowOdex = false; 308 private int apiLevel = 15; 309 private Opcodes opcodes = Opcodes.forApi(apiLevel); 310 setVerboseErrors(boolean verboseErrors)311 public void setVerboseErrors(boolean verboseErrors) { 312 this.verboseErrors = verboseErrors; 313 } 314 setAllowOdex(boolean allowOdex)315 public void setAllowOdex(boolean allowOdex) { 316 this.allowOdex = allowOdex; 317 } 318 setApiLevel(int apiLevel)319 public void setApiLevel(int apiLevel) { 320 this.opcodes = Opcodes.forApi(apiLevel); 321 this.apiLevel = apiLevel; 322 } 323 getErrorMessage(RecognitionException e, String[] tokenNames)324 public String getErrorMessage(RecognitionException e, 325 String[] tokenNames) { 326 327 if (verboseErrors) { 328 List stack = getRuleInvocationStack(e, this.getClass().getName()); 329 String msg = null; 330 331 if (e instanceof NoViableAltException) { 332 NoViableAltException nvae = (NoViableAltException)e; 333 msg = " no viable alt; token="+getTokenErrorDisplay(e.token)+ 334 " (decision="+nvae.decisionNumber+ 335 " state "+nvae.stateNumber+")"+ 336 " decision=<<"+nvae.grammarDecisionDescription+">>"; 337 } else { 338 msg = super.getErrorMessage(e, tokenNames); 339 } 340 341 return stack + " " + msg; 342 } else { 343 return super.getErrorMessage(e, tokenNames); 344 } 345 } 346 getTokenErrorDisplay(Token t)347 public String getTokenErrorDisplay(Token t) { 348 if (!verboseErrors) { 349 String s = t.getText(); 350 if ( s==null ) { 351 if ( t.getType()==Token.EOF ) { 352 s = "<EOF>"; 353 } 354 else { 355 s = "<"+tokenNames[t.getType()]+">"; 356 } 357 } 358 s = s.replaceAll("\n","\\\\n"); 359 s = s.replaceAll("\r","\\\\r"); 360 s = s.replaceAll("\t","\\\\t"); 361 return "'"+s+"'"; 362 } 363 364 CommonToken ct = (CommonToken)t; 365 366 String channelStr = ""; 367 if (t.getChannel()>0) { 368 channelStr=",channel="+t.getChannel(); 369 } 370 String txt = t.getText(); 371 if ( txt!=null ) { 372 txt = txt.replaceAll("\n","\\\\n"); 373 txt = txt.replaceAll("\r","\\\\r"); 374 txt = txt.replaceAll("\t","\\\\t"); 375 } 376 else { 377 txt = "<no text>"; 378 } 379 return "[@"+t.getTokenIndex()+","+ct.getStartIndex()+":"+ct.getStopIndex()+"='"+txt+"',<"+tokenNames[t.getType()]+">"+channelStr+","+t.getLine()+":"+t.getCharPositionInLine()+"]"; 380 } 381 getErrorHeader(RecognitionException e)382 public String getErrorHeader(RecognitionException e) { 383 return getSourceName()+"["+ e.line+","+e.charPositionInLine+"]"; 384 } 385 buildTree(int type, String text, List<CommonTree> children)386 private CommonTree buildTree(int type, String text, List<CommonTree> children) { 387 CommonTree root = new CommonTree(new CommonToken(type, text)); 388 for (CommonTree child: children) { 389 root.addChild(child); 390 } 391 return root; 392 } 393 getParamListSubToken(CommonToken baseToken, String str, int typeStartIndex)394 private CommonToken getParamListSubToken(CommonToken baseToken, String str, int typeStartIndex) { 395 CommonToken token = new CommonToken(baseToken); 396 token.setStartIndex(baseToken.getStartIndex() + typeStartIndex); 397 398 switch (str.charAt(typeStartIndex)) { 399 case 'Z': 400 case 'B': 401 case 'S': 402 case 'C': 403 case 'I': 404 case 'J': 405 case 'F': 406 case 'D': 407 { 408 token.setType(PRIMITIVE_TYPE); 409 token.setText(str.substring(typeStartIndex, typeStartIndex+1)); 410 token.setStopIndex(baseToken.getStartIndex() + typeStartIndex); 411 break; 412 } 413 case 'L': 414 { 415 int i = typeStartIndex; 416 while (str.charAt(++i) != ';'); 417 418 token.setType(CLASS_DESCRIPTOR); 419 token.setText(str.substring(typeStartIndex, i + 1)); 420 token.setStopIndex(baseToken.getStartIndex() + i); 421 break; 422 } 423 case '[': 424 { 425 int i = typeStartIndex; 426 while (str.charAt(++i) == '['); 427 428 token.setType(ARRAY_TYPE_PREFIX); 429 token.setText(str.substring(typeStartIndex, i)); 430 token.setStopIndex(baseToken.getStartIndex() + i - 1); 431 break; 432 } 433 default: 434 throw new RuntimeException(String.format("Invalid character '%c' in param list \"%s\" at position %d", str.charAt(typeStartIndex), str, typeStartIndex)); 435 } 436 437 return token; 438 } 439 parseParamList(CommonToken paramListToken)440 private CommonTree parseParamList(CommonToken paramListToken) { 441 String paramList = paramListToken.getText(); 442 CommonTree root = new CommonTree(); 443 444 int startIndex = paramListToken.getStartIndex(); 445 446 int i=0; 447 while (i<paramList.length()) { 448 CommonToken token = getParamListSubToken(paramListToken, paramList, i); 449 root.addChild(new CommonTree(token)); 450 i += token.getText().length(); 451 } 452 453 if (root.getChildCount() == 0) { 454 return null; 455 } 456 return root; 457 } 458 throwOdexedInstructionException(IntStream input, String odexedInstruction)459 private void throwOdexedInstructionException(IntStream input, String odexedInstruction) 460 throws OdexedInstructionException { 461 /*this has to be done in a separate method, otherwise java will complain about the 462 auto-generated code in the rule after the throw not being reachable*/ 463 throw new OdexedInstructionException(input, odexedInstruction); 464 } 465 466 467 protected static class smali_file_scope { 468 boolean hasClassSpec; 469 boolean hasSuperSpec; 470 boolean hasSourceSpec; 471 List<CommonTree> classAnnotations; 472 } 473 protected Stack<smali_file_scope> smali_file_stack = new Stack<smali_file_scope>(); 474 475 public static class smali_file_return extends ParserRuleReturnScope { 476 CommonTree tree; 477 @Override getTree()478 public CommonTree getTree() { return tree; } 479 }; 480 481 482 // $ANTLR start "smali_file" 483 // smaliParser.g:415: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 )* ) ) ; smali_file()484 public final smaliParser.smali_file_return smali_file() throws RecognitionException { 485 smali_file_stack.push(new smali_file_scope()); 486 smaliParser.smali_file_return retval = new smaliParser.smali_file_return(); 487 retval.start = input.LT(1); 488 489 CommonTree root_0 = null; 490 491 Token EOF8=null; 492 ParserRuleReturnScope class_spec1 =null; 493 ParserRuleReturnScope super_spec2 =null; 494 ParserRuleReturnScope implements_spec3 =null; 495 ParserRuleReturnScope source_spec4 =null; 496 ParserRuleReturnScope method5 =null; 497 ParserRuleReturnScope field6 =null; 498 ParserRuleReturnScope annotation7 =null; 499 500 CommonTree EOF8_tree=null; 501 RewriteRuleTokenStream stream_EOF=new RewriteRuleTokenStream(adaptor,"token EOF"); 502 RewriteRuleSubtreeStream stream_class_spec=new RewriteRuleSubtreeStream(adaptor,"rule class_spec"); 503 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 504 RewriteRuleSubtreeStream stream_method=new RewriteRuleSubtreeStream(adaptor,"rule method"); 505 RewriteRuleSubtreeStream stream_field=new RewriteRuleSubtreeStream(adaptor,"rule field"); 506 RewriteRuleSubtreeStream stream_super_spec=new RewriteRuleSubtreeStream(adaptor,"rule super_spec"); 507 RewriteRuleSubtreeStream stream_implements_spec=new RewriteRuleSubtreeStream(adaptor,"rule implements_spec"); 508 RewriteRuleSubtreeStream stream_source_spec=new RewriteRuleSubtreeStream(adaptor,"rule source_spec"); 509 510 smali_file_stack.peek().hasClassSpec = smali_file_stack.peek().hasSuperSpec = smali_file_stack.peek().hasSourceSpec = false; 511 smali_file_stack.peek().classAnnotations = new ArrayList<CommonTree>(); 512 513 try { 514 // smaliParser.g:427: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 )* ) ) ) 515 // smaliParser.g:428:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF 516 { 517 // smaliParser.g:428:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ 518 int cnt1=0; 519 loop1: 520 while (true) { 521 int alt1=8; 522 int LA1_0 = input.LA(1); 523 if ( (LA1_0==CLASS_DIRECTIVE) && ((!smali_file_stack.peek().hasClassSpec))) { 524 alt1=1; 525 } 526 else if ( (LA1_0==SUPER_DIRECTIVE) && ((!smali_file_stack.peek().hasSuperSpec))) { 527 alt1=2; 528 } 529 else if ( (LA1_0==IMPLEMENTS_DIRECTIVE) ) { 530 alt1=3; 531 } 532 else if ( (LA1_0==SOURCE_DIRECTIVE) && ((!smali_file_stack.peek().hasSourceSpec))) { 533 alt1=4; 534 } 535 else if ( (LA1_0==METHOD_DIRECTIVE) ) { 536 alt1=5; 537 } 538 else if ( (LA1_0==FIELD_DIRECTIVE) ) { 539 alt1=6; 540 } 541 else if ( (LA1_0==ANNOTATION_DIRECTIVE) ) { 542 alt1=7; 543 } 544 545 switch (alt1) { 546 case 1 : 547 // smaliParser.g:428:5: {...}? => class_spec 548 { 549 if ( !((!smali_file_stack.peek().hasClassSpec)) ) { 550 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasClassSpec"); 551 } 552 pushFollow(FOLLOW_class_spec_in_smali_file1075); 553 class_spec1=class_spec(); 554 state._fsp--; 555 556 stream_class_spec.add(class_spec1.getTree()); 557 smali_file_stack.peek().hasClassSpec = true; 558 } 559 break; 560 case 2 : 561 // smaliParser.g:429:5: {...}? => super_spec 562 { 563 if ( !((!smali_file_stack.peek().hasSuperSpec)) ) { 564 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSuperSpec"); 565 } 566 pushFollow(FOLLOW_super_spec_in_smali_file1086); 567 super_spec2=super_spec(); 568 state._fsp--; 569 570 stream_super_spec.add(super_spec2.getTree()); 571 smali_file_stack.peek().hasSuperSpec = true; 572 } 573 break; 574 case 3 : 575 // smaliParser.g:430:5: implements_spec 576 { 577 pushFollow(FOLLOW_implements_spec_in_smali_file1094); 578 implements_spec3=implements_spec(); 579 state._fsp--; 580 581 stream_implements_spec.add(implements_spec3.getTree()); 582 } 583 break; 584 case 4 : 585 // smaliParser.g:431:5: {...}? => source_spec 586 { 587 if ( !((!smali_file_stack.peek().hasSourceSpec)) ) { 588 throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSourceSpec"); 589 } 590 pushFollow(FOLLOW_source_spec_in_smali_file1103); 591 source_spec4=source_spec(); 592 state._fsp--; 593 594 stream_source_spec.add(source_spec4.getTree()); 595 smali_file_stack.peek().hasSourceSpec = true; 596 } 597 break; 598 case 5 : 599 // smaliParser.g:432:5: method 600 { 601 pushFollow(FOLLOW_method_in_smali_file1111); 602 method5=method(); 603 state._fsp--; 604 605 stream_method.add(method5.getTree()); 606 } 607 break; 608 case 6 : 609 // smaliParser.g:433:5: field 610 { 611 pushFollow(FOLLOW_field_in_smali_file1117); 612 field6=field(); 613 state._fsp--; 614 615 stream_field.add(field6.getTree()); 616 } 617 break; 618 case 7 : 619 // smaliParser.g:434:5: annotation 620 { 621 pushFollow(FOLLOW_annotation_in_smali_file1123); 622 annotation7=annotation(); 623 state._fsp--; 624 625 stream_annotation.add(annotation7.getTree()); 626 smali_file_stack.peek().classAnnotations.add((annotation7!=null?((CommonTree)annotation7.getTree()):null)); 627 } 628 break; 629 630 default : 631 if ( cnt1 >= 1 ) break loop1; 632 EarlyExitException eee = new EarlyExitException(1, input); 633 throw eee; 634 } 635 cnt1++; 636 } 637 638 EOF8=(Token)match(input,EOF,FOLLOW_EOF_in_smali_file1134); 639 stream_EOF.add(EOF8); 640 641 642 if (!smali_file_stack.peek().hasClassSpec) { 643 throw new SemanticException(input, "The file must contain a .class directive"); 644 } 645 646 if (!smali_file_stack.peek().hasSuperSpec) { 647 if (!(class_spec1!=null?((smaliParser.class_spec_return)class_spec1).className:null).equals("Ljava/lang/Object;")) { 648 throw new SemanticException(input, "The file must contain a .super directive"); 649 } 650 } 651 652 // AST REWRITE 653 // elements: super_spec, method, field, implements_spec, class_spec, source_spec 654 // token labels: 655 // rule labels: retval 656 // token list labels: 657 // rule list labels: 658 // wildcard labels: 659 retval.tree = root_0; 660 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 661 662 root_0 = (CommonTree)adaptor.nil(); 663 // 448:3: -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) 664 { 665 // smaliParser.g:448:6: ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) 666 { 667 CommonTree root_1 = (CommonTree)adaptor.nil(); 668 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CLASS_DEF, "I_CLASS_DEF"), root_1); 669 adaptor.addChild(root_1, stream_class_spec.nextTree()); 670 // smaliParser.g:450:8: ( super_spec )? 671 if ( stream_super_spec.hasNext() ) { 672 adaptor.addChild(root_1, stream_super_spec.nextTree()); 673 } 674 stream_super_spec.reset(); 675 676 // smaliParser.g:451:8: ( implements_spec )* 677 while ( stream_implements_spec.hasNext() ) { 678 adaptor.addChild(root_1, stream_implements_spec.nextTree()); 679 } 680 stream_implements_spec.reset(); 681 682 // smaliParser.g:452:8: ( source_spec )? 683 if ( stream_source_spec.hasNext() ) { 684 adaptor.addChild(root_1, stream_source_spec.nextTree()); 685 } 686 stream_source_spec.reset(); 687 688 // smaliParser.g:453:8: ^( I_METHODS ( method )* ) 689 { 690 CommonTree root_2 = (CommonTree)adaptor.nil(); 691 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHODS, "I_METHODS"), root_2); 692 // smaliParser.g:453:20: ( method )* 693 while ( stream_method.hasNext() ) { 694 adaptor.addChild(root_2, stream_method.nextTree()); 695 } 696 stream_method.reset(); 697 698 adaptor.addChild(root_1, root_2); 699 } 700 701 // smaliParser.g:453:29: ^( I_FIELDS ( field )* ) 702 { 703 CommonTree root_2 = (CommonTree)adaptor.nil(); 704 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELDS, "I_FIELDS"), root_2); 705 // smaliParser.g:453:40: ( field )* 706 while ( stream_field.hasNext() ) { 707 adaptor.addChild(root_2, stream_field.nextTree()); 708 } 709 stream_field.reset(); 710 711 adaptor.addChild(root_1, root_2); 712 } 713 714 adaptor.addChild(root_1, buildTree(I_ANNOTATIONS, "I_ANNOTATIONS", smali_file_stack.peek().classAnnotations)); 715 adaptor.addChild(root_0, root_1); 716 } 717 718 } 719 720 721 retval.tree = root_0; 722 723 } 724 725 retval.stop = input.LT(-1); 726 727 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 728 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 729 730 } 731 catch (RecognitionException re) { 732 reportError(re); 733 recover(input,re); 734 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 735 } 736 finally { 737 // do for sure before leaving 738 smali_file_stack.pop(); 739 } 740 return retval; 741 } 742 // $ANTLR end "smali_file" 743 744 745 public static class class_spec_return extends ParserRuleReturnScope { 746 public String className; 747 CommonTree tree; 748 @Override getTree()749 public CommonTree getTree() { return tree; } 750 }; 751 752 753 // $ANTLR start "class_spec" 754 // smaliParser.g:455:1: class_spec returns [String className] : CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ; class_spec()755 public final smaliParser.class_spec_return class_spec() throws RecognitionException { 756 smaliParser.class_spec_return retval = new smaliParser.class_spec_return(); 757 retval.start = input.LT(1); 758 759 CommonTree root_0 = null; 760 761 Token CLASS_DIRECTIVE9=null; 762 Token CLASS_DESCRIPTOR11=null; 763 ParserRuleReturnScope access_list10 =null; 764 765 CommonTree CLASS_DIRECTIVE9_tree=null; 766 CommonTree CLASS_DESCRIPTOR11_tree=null; 767 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 768 RewriteRuleTokenStream stream_CLASS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token CLASS_DIRECTIVE"); 769 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 770 771 try { 772 // smaliParser.g:456:3: ( CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ) 773 // smaliParser.g:456:5: CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR 774 { 775 CLASS_DIRECTIVE9=(Token)match(input,CLASS_DIRECTIVE,FOLLOW_CLASS_DIRECTIVE_in_class_spec1221); 776 stream_CLASS_DIRECTIVE.add(CLASS_DIRECTIVE9); 777 778 pushFollow(FOLLOW_access_list_in_class_spec1223); 779 access_list10=access_list(); 780 state._fsp--; 781 782 stream_access_list.add(access_list10.getTree()); 783 CLASS_DESCRIPTOR11=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec1225); 784 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR11); 785 786 retval.className = (CLASS_DESCRIPTOR11!=null?CLASS_DESCRIPTOR11.getText():null); 787 // AST REWRITE 788 // elements: access_list, CLASS_DESCRIPTOR 789 // token labels: 790 // rule labels: retval 791 // token list labels: 792 // rule list labels: 793 // wildcard labels: 794 retval.tree = root_0; 795 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 796 797 root_0 = (CommonTree)adaptor.nil(); 798 // 456:89: -> CLASS_DESCRIPTOR access_list 799 { 800 adaptor.addChild(root_0, stream_CLASS_DESCRIPTOR.nextNode()); 801 adaptor.addChild(root_0, stream_access_list.nextTree()); 802 } 803 804 805 retval.tree = root_0; 806 807 } 808 809 retval.stop = input.LT(-1); 810 811 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 812 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 813 814 } 815 catch (RecognitionException re) { 816 reportError(re); 817 recover(input,re); 818 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 819 } 820 finally { 821 // do for sure before leaving 822 } 823 return retval; 824 } 825 // $ANTLR end "class_spec" 826 827 828 public static class super_spec_return extends ParserRuleReturnScope { 829 CommonTree tree; 830 @Override getTree()831 public CommonTree getTree() { return tree; } 832 }; 833 834 835 // $ANTLR start "super_spec" 836 // smaliParser.g:458:1: super_spec : SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ; super_spec()837 public final smaliParser.super_spec_return super_spec() throws RecognitionException { 838 smaliParser.super_spec_return retval = new smaliParser.super_spec_return(); 839 retval.start = input.LT(1); 840 841 CommonTree root_0 = null; 842 843 Token SUPER_DIRECTIVE12=null; 844 Token CLASS_DESCRIPTOR13=null; 845 846 CommonTree SUPER_DIRECTIVE12_tree=null; 847 CommonTree CLASS_DESCRIPTOR13_tree=null; 848 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 849 RewriteRuleTokenStream stream_SUPER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SUPER_DIRECTIVE"); 850 851 try { 852 // smaliParser.g:459:3: ( SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ) 853 // smaliParser.g:459:5: SUPER_DIRECTIVE CLASS_DESCRIPTOR 854 { 855 SUPER_DIRECTIVE12=(Token)match(input,SUPER_DIRECTIVE,FOLLOW_SUPER_DIRECTIVE_in_super_spec1243); 856 stream_SUPER_DIRECTIVE.add(SUPER_DIRECTIVE12); 857 858 CLASS_DESCRIPTOR13=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec1245); 859 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR13); 860 861 // AST REWRITE 862 // elements: CLASS_DESCRIPTOR 863 // token labels: 864 // rule labels: retval 865 // token list labels: 866 // rule list labels: 867 // wildcard labels: 868 retval.tree = root_0; 869 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 870 871 root_0 = (CommonTree)adaptor.nil(); 872 // 459:38: -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) 873 { 874 // smaliParser.g:459:41: ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) 875 { 876 CommonTree root_1 = (CommonTree)adaptor.nil(); 877 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUPER, (retval.start), "I_SUPER"), root_1); 878 adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode()); 879 adaptor.addChild(root_0, root_1); 880 } 881 882 } 883 884 885 retval.tree = root_0; 886 887 } 888 889 retval.stop = input.LT(-1); 890 891 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 892 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 893 894 } 895 catch (RecognitionException re) { 896 reportError(re); 897 recover(input,re); 898 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 899 } 900 finally { 901 // do for sure before leaving 902 } 903 return retval; 904 } 905 // $ANTLR end "super_spec" 906 907 908 public static class implements_spec_return extends ParserRuleReturnScope { 909 CommonTree tree; 910 @Override getTree()911 public CommonTree getTree() { return tree; } 912 }; 913 914 915 // $ANTLR start "implements_spec" 916 // smaliParser.g:461:1: implements_spec : IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ; implements_spec()917 public final smaliParser.implements_spec_return implements_spec() throws RecognitionException { 918 smaliParser.implements_spec_return retval = new smaliParser.implements_spec_return(); 919 retval.start = input.LT(1); 920 921 CommonTree root_0 = null; 922 923 Token IMPLEMENTS_DIRECTIVE14=null; 924 Token CLASS_DESCRIPTOR15=null; 925 926 CommonTree IMPLEMENTS_DIRECTIVE14_tree=null; 927 CommonTree CLASS_DESCRIPTOR15_tree=null; 928 RewriteRuleTokenStream stream_IMPLEMENTS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token IMPLEMENTS_DIRECTIVE"); 929 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 930 931 try { 932 // smaliParser.g:462:3: ( IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ) 933 // smaliParser.g:462:5: IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR 934 { 935 IMPLEMENTS_DIRECTIVE14=(Token)match(input,IMPLEMENTS_DIRECTIVE,FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1264); 936 stream_IMPLEMENTS_DIRECTIVE.add(IMPLEMENTS_DIRECTIVE14); 937 938 CLASS_DESCRIPTOR15=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1266); 939 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR15); 940 941 // AST REWRITE 942 // elements: CLASS_DESCRIPTOR 943 // token labels: 944 // rule labels: retval 945 // token list labels: 946 // rule list labels: 947 // wildcard labels: 948 retval.tree = root_0; 949 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 950 951 root_0 = (CommonTree)adaptor.nil(); 952 // 462:43: -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) 953 { 954 // smaliParser.g:462:46: ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) 955 { 956 CommonTree root_1 = (CommonTree)adaptor.nil(); 957 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_IMPLEMENTS, (retval.start), "I_IMPLEMENTS"), root_1); 958 adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode()); 959 adaptor.addChild(root_0, root_1); 960 } 961 962 } 963 964 965 retval.tree = root_0; 966 967 } 968 969 retval.stop = input.LT(-1); 970 971 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 972 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 973 974 } 975 catch (RecognitionException re) { 976 reportError(re); 977 recover(input,re); 978 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 979 } 980 finally { 981 // do for sure before leaving 982 } 983 return retval; 984 } 985 // $ANTLR end "implements_spec" 986 987 988 public static class source_spec_return extends ParserRuleReturnScope { 989 CommonTree tree; 990 @Override getTree()991 public CommonTree getTree() { return tree; } 992 }; 993 994 995 // $ANTLR start "source_spec" 996 // smaliParser.g:464:1: source_spec : SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ; source_spec()997 public final smaliParser.source_spec_return source_spec() throws RecognitionException { 998 smaliParser.source_spec_return retval = new smaliParser.source_spec_return(); 999 retval.start = input.LT(1); 1000 1001 CommonTree root_0 = null; 1002 1003 Token SOURCE_DIRECTIVE16=null; 1004 Token STRING_LITERAL17=null; 1005 1006 CommonTree SOURCE_DIRECTIVE16_tree=null; 1007 CommonTree STRING_LITERAL17_tree=null; 1008 RewriteRuleTokenStream stream_SOURCE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SOURCE_DIRECTIVE"); 1009 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 1010 1011 try { 1012 // smaliParser.g:465:3: ( SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ) 1013 // smaliParser.g:465:5: SOURCE_DIRECTIVE STRING_LITERAL 1014 { 1015 SOURCE_DIRECTIVE16=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_spec1285); 1016 stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE16); 1017 1018 STRING_LITERAL17=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_spec1287); 1019 stream_STRING_LITERAL.add(STRING_LITERAL17); 1020 1021 // AST REWRITE 1022 // elements: STRING_LITERAL 1023 // token labels: 1024 // rule labels: retval 1025 // token list labels: 1026 // rule list labels: 1027 // wildcard labels: 1028 retval.tree = root_0; 1029 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1030 1031 root_0 = (CommonTree)adaptor.nil(); 1032 // 465:37: -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) 1033 { 1034 // smaliParser.g:465:40: ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) 1035 { 1036 CommonTree root_1 = (CommonTree)adaptor.nil(); 1037 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SOURCE, (retval.start), "I_SOURCE"), root_1); 1038 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 1039 adaptor.addChild(root_0, root_1); 1040 } 1041 1042 } 1043 1044 1045 retval.tree = root_0; 1046 1047 } 1048 1049 retval.stop = input.LT(-1); 1050 1051 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1052 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1053 1054 } 1055 catch (RecognitionException re) { 1056 reportError(re); 1057 recover(input,re); 1058 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1059 } 1060 finally { 1061 // do for sure before leaving 1062 } 1063 return retval; 1064 } 1065 // $ANTLR end "source_spec" 1066 1067 1068 public static class access_list_return extends ParserRuleReturnScope { 1069 CommonTree tree; 1070 @Override getTree()1071 public CommonTree getTree() { return tree; } 1072 }; 1073 1074 1075 // $ANTLR start "access_list" 1076 // smaliParser.g:467:1: access_list : ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ; access_list()1077 public final smaliParser.access_list_return access_list() throws RecognitionException { 1078 smaliParser.access_list_return retval = new smaliParser.access_list_return(); 1079 retval.start = input.LT(1); 1080 1081 CommonTree root_0 = null; 1082 1083 Token ACCESS_SPEC18=null; 1084 1085 CommonTree ACCESS_SPEC18_tree=null; 1086 RewriteRuleTokenStream stream_ACCESS_SPEC=new RewriteRuleTokenStream(adaptor,"token ACCESS_SPEC"); 1087 1088 try { 1089 // smaliParser.g:468:3: ( ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ) 1090 // smaliParser.g:468:5: ( ACCESS_SPEC )* 1091 { 1092 // smaliParser.g:468:5: ( ACCESS_SPEC )* 1093 loop2: 1094 while (true) { 1095 int alt2=2; 1096 int LA2_0 = input.LA(1); 1097 if ( (LA2_0==ACCESS_SPEC) ) { 1098 int LA2_2 = input.LA(2); 1099 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_FORMAT45cc_METHOD && LA2_2 <= INSTRUCTION_FORMAT51l)||LA2_2==MEMBER_NAME||(LA2_2 >= NEGATIVE_INTEGER_LITERAL && LA2_2 <= NULL_LITERAL)||(LA2_2 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA2_2 <= PRIMITIVE_TYPE)||LA2_2==REGISTER||LA2_2==SIMPLE_NAME||(LA2_2 >= VERIFICATION_ERROR_TYPE && LA2_2 <= VOID_TYPE)) ) { 1100 alt2=1; 1101 } 1102 1103 } 1104 1105 switch (alt2) { 1106 case 1 : 1107 // smaliParser.g:468:5: ACCESS_SPEC 1108 { 1109 ACCESS_SPEC18=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list1306); 1110 stream_ACCESS_SPEC.add(ACCESS_SPEC18); 1111 1112 } 1113 break; 1114 1115 default : 1116 break loop2; 1117 } 1118 } 1119 1120 // AST REWRITE 1121 // elements: ACCESS_SPEC 1122 // token labels: 1123 // rule labels: retval 1124 // token list labels: 1125 // rule list labels: 1126 // wildcard labels: 1127 retval.tree = root_0; 1128 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1129 1130 root_0 = (CommonTree)adaptor.nil(); 1131 // 468:18: -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) 1132 { 1133 // smaliParser.g:468:21: ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) 1134 { 1135 CommonTree root_1 = (CommonTree)adaptor.nil(); 1136 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ACCESS_LIST, (retval.start), "I_ACCESS_LIST"), root_1); 1137 // smaliParser.g:468:61: ( ACCESS_SPEC )* 1138 while ( stream_ACCESS_SPEC.hasNext() ) { 1139 adaptor.addChild(root_1, stream_ACCESS_SPEC.nextNode()); 1140 } 1141 stream_ACCESS_SPEC.reset(); 1142 1143 adaptor.addChild(root_0, root_1); 1144 } 1145 1146 } 1147 1148 1149 retval.tree = root_0; 1150 1151 } 1152 1153 retval.stop = input.LT(-1); 1154 1155 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1156 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1157 1158 } 1159 catch (RecognitionException re) { 1160 reportError(re); 1161 recover(input,re); 1162 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1163 } 1164 finally { 1165 // do for sure before leaving 1166 } 1167 return retval; 1168 } 1169 // $ANTLR end "access_list" 1170 1171 1172 public static class field_return extends ParserRuleReturnScope { 1173 CommonTree tree; 1174 @Override getTree()1175 public CommonTree getTree() { return tree; } 1176 }; 1177 1178 1179 // $ANTLR start "field" 1180 // smaliParser.g:475: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 ) ) ) ) ; field()1181 public final smaliParser.field_return field() throws RecognitionException { 1182 smaliParser.field_return retval = new smaliParser.field_return(); 1183 retval.start = input.LT(1); 1184 1185 CommonTree root_0 = null; 1186 1187 Token FIELD_DIRECTIVE19=null; 1188 Token COLON22=null; 1189 Token EQUAL24=null; 1190 Token END_FIELD_DIRECTIVE27=null; 1191 ParserRuleReturnScope access_list20 =null; 1192 ParserRuleReturnScope member_name21 =null; 1193 ParserRuleReturnScope nonvoid_type_descriptor23 =null; 1194 ParserRuleReturnScope literal25 =null; 1195 ParserRuleReturnScope annotation26 =null; 1196 1197 CommonTree FIELD_DIRECTIVE19_tree=null; 1198 CommonTree COLON22_tree=null; 1199 CommonTree EQUAL24_tree=null; 1200 CommonTree END_FIELD_DIRECTIVE27_tree=null; 1201 RewriteRuleTokenStream stream_END_FIELD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_FIELD_DIRECTIVE"); 1202 RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); 1203 RewriteRuleTokenStream stream_FIELD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token FIELD_DIRECTIVE"); 1204 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 1205 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 1206 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 1207 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 1208 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 1209 RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal"); 1210 1211 List<CommonTree> annotations = new ArrayList<CommonTree>(); 1212 try { 1213 // smaliParser.g:477: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 ) ) ) ) ) 1214 // smaliParser.g:477: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 ) ) ) ) 1215 { 1216 FIELD_DIRECTIVE19=(Token)match(input,FIELD_DIRECTIVE,FOLLOW_FIELD_DIRECTIVE_in_field1337); 1217 stream_FIELD_DIRECTIVE.add(FIELD_DIRECTIVE19); 1218 1219 pushFollow(FOLLOW_access_list_in_field1339); 1220 access_list20=access_list(); 1221 state._fsp--; 1222 1223 stream_access_list.add(access_list20.getTree()); 1224 pushFollow(FOLLOW_member_name_in_field1341); 1225 member_name21=member_name(); 1226 state._fsp--; 1227 1228 stream_member_name.add(member_name21.getTree()); 1229 COLON22=(Token)match(input,COLON,FOLLOW_COLON_in_field1343); 1230 stream_COLON.add(COLON22); 1231 1232 pushFollow(FOLLOW_nonvoid_type_descriptor_in_field1345); 1233 nonvoid_type_descriptor23=nonvoid_type_descriptor(); 1234 state._fsp--; 1235 1236 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor23.getTree()); 1237 // smaliParser.g:477:75: ( EQUAL literal )? 1238 int alt3=2; 1239 int LA3_0 = input.LA(1); 1240 if ( (LA3_0==EQUAL) ) { 1241 alt3=1; 1242 } 1243 switch (alt3) { 1244 case 1 : 1245 // smaliParser.g:477:76: EQUAL literal 1246 { 1247 EQUAL24=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_field1348); 1248 stream_EQUAL.add(EQUAL24); 1249 1250 pushFollow(FOLLOW_literal_in_field1350); 1251 literal25=literal(); 1252 state._fsp--; 1253 1254 stream_literal.add(literal25.getTree()); 1255 } 1256 break; 1257 1258 } 1259 1260 // smaliParser.g:478: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 ) ) ) ) 1261 // smaliParser.g:478: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 ) ) ) 1262 { 1263 // smaliParser.g:478:7: ({...}? annotation )* 1264 loop4: 1265 while (true) { 1266 int alt4=2; 1267 int LA4_0 = input.LA(1); 1268 if ( (LA4_0==ANNOTATION_DIRECTIVE) ) { 1269 int LA4_9 = input.LA(2); 1270 if ( ((input.LA(1) == ANNOTATION_DIRECTIVE)) ) { 1271 alt4=1; 1272 } 1273 1274 } 1275 1276 switch (alt4) { 1277 case 1 : 1278 // smaliParser.g:478:8: {...}? annotation 1279 { 1280 if ( !((input.LA(1) == ANNOTATION_DIRECTIVE)) ) { 1281 throw new FailedPredicateException(input, "field", "input.LA(1) == ANNOTATION_DIRECTIVE"); 1282 } 1283 pushFollow(FOLLOW_annotation_in_field1363); 1284 annotation26=annotation(); 1285 state._fsp--; 1286 1287 stream_annotation.add(annotation26.getTree()); 1288 annotations.add((annotation26!=null?((CommonTree)annotation26.getTree()):null)); 1289 } 1290 break; 1291 1292 default : 1293 break loop4; 1294 } 1295 } 1296 1297 // smaliParser.g:479: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 ) ) ) 1298 int alt5=2; 1299 int LA5_0 = input.LA(1); 1300 if ( (LA5_0==END_FIELD_DIRECTIVE) ) { 1301 alt5=1; 1302 } 1303 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) ) { 1304 alt5=2; 1305 } 1306 1307 else { 1308 NoViableAltException nvae = 1309 new NoViableAltException("", 5, 0, input); 1310 throw nvae; 1311 } 1312 1313 switch (alt5) { 1314 case 1 : 1315 // smaliParser.g:479:9: END_FIELD_DIRECTIVE 1316 { 1317 END_FIELD_DIRECTIVE27=(Token)match(input,END_FIELD_DIRECTIVE,FOLLOW_END_FIELD_DIRECTIVE_in_field1377); 1318 stream_END_FIELD_DIRECTIVE.add(END_FIELD_DIRECTIVE27); 1319 1320 // AST REWRITE 1321 // elements: access_list, nonvoid_type_descriptor, annotation, member_name, literal 1322 // token labels: 1323 // rule labels: retval 1324 // token list labels: 1325 // rule list labels: 1326 // wildcard labels: 1327 retval.tree = root_0; 1328 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1329 1330 root_0 = (CommonTree)adaptor.nil(); 1331 // 480:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) 1332 { 1333 // smaliParser.g:480:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) 1334 { 1335 CommonTree root_1 = (CommonTree)adaptor.nil(); 1336 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1); 1337 adaptor.addChild(root_1, stream_member_name.nextTree()); 1338 adaptor.addChild(root_1, stream_access_list.nextTree()); 1339 // smaliParser.g:480:65: ^( I_FIELD_TYPE nonvoid_type_descriptor ) 1340 { 1341 CommonTree root_2 = (CommonTree)adaptor.nil(); 1342 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2); 1343 adaptor.addChild(root_2, stream_nonvoid_type_descriptor.nextTree()); 1344 adaptor.addChild(root_1, root_2); 1345 } 1346 1347 // smaliParser.g:480:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )? 1348 if ( stream_literal.hasNext() ) { 1349 // smaliParser.g:480:105: ^( I_FIELD_INITIAL_VALUE literal ) 1350 { 1351 CommonTree root_2 = (CommonTree)adaptor.nil(); 1352 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2); 1353 adaptor.addChild(root_2, stream_literal.nextTree()); 1354 adaptor.addChild(root_1, root_2); 1355 } 1356 1357 } 1358 stream_literal.reset(); 1359 1360 // smaliParser.g:480:139: ^( I_ANNOTATIONS ( annotation )* ) 1361 { 1362 CommonTree root_2 = (CommonTree)adaptor.nil(); 1363 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 1364 // smaliParser.g:480:155: ( annotation )* 1365 while ( stream_annotation.hasNext() ) { 1366 adaptor.addChild(root_2, stream_annotation.nextTree()); 1367 } 1368 stream_annotation.reset(); 1369 1370 adaptor.addChild(root_1, root_2); 1371 } 1372 1373 adaptor.addChild(root_0, root_1); 1374 } 1375 1376 } 1377 1378 1379 retval.tree = root_0; 1380 1381 } 1382 break; 1383 case 2 : 1384 // smaliParser.g:481:21: 1385 { 1386 smali_file_stack.peek().classAnnotations.addAll(annotations); 1387 // AST REWRITE 1388 // elements: member_name, access_list, literal, nonvoid_type_descriptor 1389 // token labels: 1390 // rule labels: retval 1391 // token list labels: 1392 // rule list labels: 1393 // wildcard labels: 1394 retval.tree = root_0; 1395 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1396 1397 root_0 = (CommonTree)adaptor.nil(); 1398 // 482:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) 1399 { 1400 // smaliParser.g:482:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) 1401 { 1402 CommonTree root_1 = (CommonTree)adaptor.nil(); 1403 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1); 1404 adaptor.addChild(root_1, stream_member_name.nextTree()); 1405 adaptor.addChild(root_1, stream_access_list.nextTree()); 1406 // smaliParser.g:482:65: ^( I_FIELD_TYPE nonvoid_type_descriptor ) 1407 { 1408 CommonTree root_2 = (CommonTree)adaptor.nil(); 1409 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2); 1410 adaptor.addChild(root_2, stream_nonvoid_type_descriptor.nextTree()); 1411 adaptor.addChild(root_1, root_2); 1412 } 1413 1414 // smaliParser.g:482:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )? 1415 if ( stream_literal.hasNext() ) { 1416 // smaliParser.g:482:105: ^( I_FIELD_INITIAL_VALUE literal ) 1417 { 1418 CommonTree root_2 = (CommonTree)adaptor.nil(); 1419 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2); 1420 adaptor.addChild(root_2, stream_literal.nextTree()); 1421 adaptor.addChild(root_1, root_2); 1422 } 1423 1424 } 1425 stream_literal.reset(); 1426 1427 // smaliParser.g:482:139: ^( I_ANNOTATIONS ) 1428 { 1429 CommonTree root_2 = (CommonTree)adaptor.nil(); 1430 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 1431 adaptor.addChild(root_1, root_2); 1432 } 1433 1434 adaptor.addChild(root_0, root_1); 1435 } 1436 1437 } 1438 1439 1440 retval.tree = root_0; 1441 1442 } 1443 break; 1444 1445 } 1446 1447 } 1448 1449 } 1450 1451 retval.stop = input.LT(-1); 1452 1453 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1454 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1455 1456 } 1457 catch (RecognitionException re) { 1458 reportError(re); 1459 recover(input,re); 1460 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1461 } 1462 finally { 1463 // do for sure before leaving 1464 } 1465 return retval; 1466 } 1467 // $ANTLR end "field" 1468 1469 1470 public static class method_return extends ParserRuleReturnScope { 1471 CommonTree tree; 1472 @Override getTree()1473 public CommonTree getTree() { return tree; } 1474 }; 1475 1476 1477 // $ANTLR start "method" 1478 // smaliParser.g:486: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 ) ; method()1479 public final smaliParser.method_return method() throws RecognitionException { 1480 smaliParser.method_return retval = new smaliParser.method_return(); 1481 retval.start = input.LT(1); 1482 1483 CommonTree root_0 = null; 1484 1485 Token METHOD_DIRECTIVE28=null; 1486 Token END_METHOD_DIRECTIVE33=null; 1487 ParserRuleReturnScope access_list29 =null; 1488 ParserRuleReturnScope member_name30 =null; 1489 ParserRuleReturnScope method_prototype31 =null; 1490 ParserRuleReturnScope statements_and_directives32 =null; 1491 1492 CommonTree METHOD_DIRECTIVE28_tree=null; 1493 CommonTree END_METHOD_DIRECTIVE33_tree=null; 1494 RewriteRuleTokenStream stream_END_METHOD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_METHOD_DIRECTIVE"); 1495 RewriteRuleTokenStream stream_METHOD_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token METHOD_DIRECTIVE"); 1496 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 1497 RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list"); 1498 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 1499 RewriteRuleSubtreeStream stream_statements_and_directives=new RewriteRuleSubtreeStream(adaptor,"rule statements_and_directives"); 1500 1501 try { 1502 // smaliParser.g:487: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 ) ) 1503 // smaliParser.g:487:5: METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE 1504 { 1505 METHOD_DIRECTIVE28=(Token)match(input,METHOD_DIRECTIVE,FOLLOW_METHOD_DIRECTIVE_in_method1488); 1506 stream_METHOD_DIRECTIVE.add(METHOD_DIRECTIVE28); 1507 1508 pushFollow(FOLLOW_access_list_in_method1490); 1509 access_list29=access_list(); 1510 state._fsp--; 1511 1512 stream_access_list.add(access_list29.getTree()); 1513 pushFollow(FOLLOW_member_name_in_method1492); 1514 member_name30=member_name(); 1515 state._fsp--; 1516 1517 stream_member_name.add(member_name30.getTree()); 1518 pushFollow(FOLLOW_method_prototype_in_method1494); 1519 method_prototype31=method_prototype(); 1520 state._fsp--; 1521 1522 stream_method_prototype.add(method_prototype31.getTree()); 1523 pushFollow(FOLLOW_statements_and_directives_in_method1496); 1524 statements_and_directives32=statements_and_directives(); 1525 state._fsp--; 1526 1527 stream_statements_and_directives.add(statements_and_directives32.getTree()); 1528 END_METHOD_DIRECTIVE33=(Token)match(input,END_METHOD_DIRECTIVE,FOLLOW_END_METHOD_DIRECTIVE_in_method1502); 1529 stream_END_METHOD_DIRECTIVE.add(END_METHOD_DIRECTIVE33); 1530 1531 // AST REWRITE 1532 // elements: method_prototype, access_list, member_name, statements_and_directives 1533 // token labels: 1534 // rule labels: retval 1535 // token list labels: 1536 // rule list labels: 1537 // wildcard labels: 1538 retval.tree = root_0; 1539 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1540 1541 root_0 = (CommonTree)adaptor.nil(); 1542 // 489:5: -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) 1543 { 1544 // smaliParser.g:489:8: ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) 1545 { 1546 CommonTree root_1 = (CommonTree)adaptor.nil(); 1547 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD, (retval.start), "I_METHOD"), root_1); 1548 adaptor.addChild(root_1, stream_member_name.nextTree()); 1549 adaptor.addChild(root_1, stream_method_prototype.nextTree()); 1550 adaptor.addChild(root_1, stream_access_list.nextTree()); 1551 adaptor.addChild(root_1, stream_statements_and_directives.nextTree()); 1552 adaptor.addChild(root_0, root_1); 1553 } 1554 1555 } 1556 1557 1558 retval.tree = root_0; 1559 1560 } 1561 1562 retval.stop = input.LT(-1); 1563 1564 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1565 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1566 1567 } 1568 catch (RecognitionException re) { 1569 reportError(re); 1570 recover(input,re); 1571 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1572 } 1573 finally { 1574 // do for sure before leaving 1575 } 1576 return retval; 1577 } 1578 // $ANTLR end "method" 1579 1580 1581 protected static class statements_and_directives_scope { 1582 boolean hasRegistersDirective; 1583 List<CommonTree> methodAnnotations; 1584 } 1585 protected Stack<statements_and_directives_scope> statements_and_directives_stack = new Stack<statements_and_directives_scope>(); 1586 1587 public static class statements_and_directives_return extends ParserRuleReturnScope { 1588 CommonTree tree; 1589 @Override getTree()1590 public CommonTree getTree() { return tree; } 1591 }; 1592 1593 1594 // $ANTLR start "statements_and_directives" 1595 // smaliParser.g:491: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 )* ) ; statements_and_directives()1596 public final smaliParser.statements_and_directives_return statements_and_directives() throws RecognitionException { 1597 statements_and_directives_stack.push(new statements_and_directives_scope()); 1598 smaliParser.statements_and_directives_return retval = new smaliParser.statements_and_directives_return(); 1599 retval.start = input.LT(1); 1600 1601 CommonTree root_0 = null; 1602 1603 ParserRuleReturnScope ordered_method_item34 =null; 1604 ParserRuleReturnScope registers_directive35 =null; 1605 ParserRuleReturnScope catch_directive36 =null; 1606 ParserRuleReturnScope catchall_directive37 =null; 1607 ParserRuleReturnScope parameter_directive38 =null; 1608 ParserRuleReturnScope annotation39 =null; 1609 1610 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 1611 RewriteRuleSubtreeStream stream_catchall_directive=new RewriteRuleSubtreeStream(adaptor,"rule catchall_directive"); 1612 RewriteRuleSubtreeStream stream_registers_directive=new RewriteRuleSubtreeStream(adaptor,"rule registers_directive"); 1613 RewriteRuleSubtreeStream stream_catch_directive=new RewriteRuleSubtreeStream(adaptor,"rule catch_directive"); 1614 RewriteRuleSubtreeStream stream_ordered_method_item=new RewriteRuleSubtreeStream(adaptor,"rule ordered_method_item"); 1615 RewriteRuleSubtreeStream stream_parameter_directive=new RewriteRuleSubtreeStream(adaptor,"rule parameter_directive"); 1616 1617 try { 1618 // smaliParser.g:497: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 )* ) ) 1619 // smaliParser.g:497:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* 1620 { 1621 1622 statements_and_directives_stack.peek().hasRegistersDirective = false; 1623 statements_and_directives_stack.peek().methodAnnotations = new ArrayList<CommonTree>(); 1624 1625 // smaliParser.g:501:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* 1626 loop6: 1627 while (true) { 1628 int alt6=7; 1629 switch ( input.LA(1) ) { 1630 case ARRAY_DATA_DIRECTIVE: 1631 case COLON: 1632 case END_LOCAL_DIRECTIVE: 1633 case EPILOGUE_DIRECTIVE: 1634 case INSTRUCTION_FORMAT10t: 1635 case INSTRUCTION_FORMAT10x: 1636 case INSTRUCTION_FORMAT10x_ODEX: 1637 case INSTRUCTION_FORMAT11n: 1638 case INSTRUCTION_FORMAT11x: 1639 case INSTRUCTION_FORMAT12x: 1640 case INSTRUCTION_FORMAT12x_OR_ID: 1641 case INSTRUCTION_FORMAT20bc: 1642 case INSTRUCTION_FORMAT20t: 1643 case INSTRUCTION_FORMAT21c_FIELD: 1644 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 1645 case INSTRUCTION_FORMAT21c_STRING: 1646 case INSTRUCTION_FORMAT21c_TYPE: 1647 case INSTRUCTION_FORMAT21ih: 1648 case INSTRUCTION_FORMAT21lh: 1649 case INSTRUCTION_FORMAT21s: 1650 case INSTRUCTION_FORMAT21t: 1651 case INSTRUCTION_FORMAT22b: 1652 case INSTRUCTION_FORMAT22c_FIELD: 1653 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 1654 case INSTRUCTION_FORMAT22c_TYPE: 1655 case INSTRUCTION_FORMAT22cs_FIELD: 1656 case INSTRUCTION_FORMAT22s: 1657 case INSTRUCTION_FORMAT22s_OR_ID: 1658 case INSTRUCTION_FORMAT22t: 1659 case INSTRUCTION_FORMAT22x: 1660 case INSTRUCTION_FORMAT23x: 1661 case INSTRUCTION_FORMAT30t: 1662 case INSTRUCTION_FORMAT31c: 1663 case INSTRUCTION_FORMAT31i: 1664 case INSTRUCTION_FORMAT31i_OR_ID: 1665 case INSTRUCTION_FORMAT31t: 1666 case INSTRUCTION_FORMAT32x: 1667 case INSTRUCTION_FORMAT35c_METHOD: 1668 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 1669 case INSTRUCTION_FORMAT35c_TYPE: 1670 case INSTRUCTION_FORMAT35mi_METHOD: 1671 case INSTRUCTION_FORMAT35ms_METHOD: 1672 case INSTRUCTION_FORMAT3rc_METHOD: 1673 case INSTRUCTION_FORMAT3rc_METHOD_ODEX: 1674 case INSTRUCTION_FORMAT3rc_TYPE: 1675 case INSTRUCTION_FORMAT3rmi_METHOD: 1676 case INSTRUCTION_FORMAT3rms_METHOD: 1677 case INSTRUCTION_FORMAT45cc_METHOD: 1678 case INSTRUCTION_FORMAT4rcc_METHOD: 1679 case INSTRUCTION_FORMAT51l: 1680 case LINE_DIRECTIVE: 1681 case LOCAL_DIRECTIVE: 1682 case PACKED_SWITCH_DIRECTIVE: 1683 case PROLOGUE_DIRECTIVE: 1684 case RESTART_LOCAL_DIRECTIVE: 1685 case SOURCE_DIRECTIVE: 1686 case SPARSE_SWITCH_DIRECTIVE: 1687 { 1688 alt6=1; 1689 } 1690 break; 1691 case LOCALS_DIRECTIVE: 1692 case REGISTERS_DIRECTIVE: 1693 { 1694 alt6=2; 1695 } 1696 break; 1697 case CATCH_DIRECTIVE: 1698 { 1699 alt6=3; 1700 } 1701 break; 1702 case CATCHALL_DIRECTIVE: 1703 { 1704 alt6=4; 1705 } 1706 break; 1707 case PARAMETER_DIRECTIVE: 1708 { 1709 alt6=5; 1710 } 1711 break; 1712 case ANNOTATION_DIRECTIVE: 1713 { 1714 alt6=6; 1715 } 1716 break; 1717 } 1718 switch (alt6) { 1719 case 1 : 1720 // smaliParser.g:501:7: ordered_method_item 1721 { 1722 pushFollow(FOLLOW_ordered_method_item_in_statements_and_directives1547); 1723 ordered_method_item34=ordered_method_item(); 1724 state._fsp--; 1725 1726 stream_ordered_method_item.add(ordered_method_item34.getTree()); 1727 } 1728 break; 1729 case 2 : 1730 // smaliParser.g:502:7: registers_directive 1731 { 1732 pushFollow(FOLLOW_registers_directive_in_statements_and_directives1555); 1733 registers_directive35=registers_directive(); 1734 state._fsp--; 1735 1736 stream_registers_directive.add(registers_directive35.getTree()); 1737 } 1738 break; 1739 case 3 : 1740 // smaliParser.g:503:7: catch_directive 1741 { 1742 pushFollow(FOLLOW_catch_directive_in_statements_and_directives1563); 1743 catch_directive36=catch_directive(); 1744 state._fsp--; 1745 1746 stream_catch_directive.add(catch_directive36.getTree()); 1747 } 1748 break; 1749 case 4 : 1750 // smaliParser.g:504:7: catchall_directive 1751 { 1752 pushFollow(FOLLOW_catchall_directive_in_statements_and_directives1571); 1753 catchall_directive37=catchall_directive(); 1754 state._fsp--; 1755 1756 stream_catchall_directive.add(catchall_directive37.getTree()); 1757 } 1758 break; 1759 case 5 : 1760 // smaliParser.g:505:7: parameter_directive 1761 { 1762 pushFollow(FOLLOW_parameter_directive_in_statements_and_directives1579); 1763 parameter_directive38=parameter_directive(); 1764 state._fsp--; 1765 1766 stream_parameter_directive.add(parameter_directive38.getTree()); 1767 } 1768 break; 1769 case 6 : 1770 // smaliParser.g:506:7: annotation 1771 { 1772 pushFollow(FOLLOW_annotation_in_statements_and_directives1587); 1773 annotation39=annotation(); 1774 state._fsp--; 1775 1776 stream_annotation.add(annotation39.getTree()); 1777 statements_and_directives_stack.peek().methodAnnotations.add((annotation39!=null?((CommonTree)annotation39.getTree()):null)); 1778 } 1779 break; 1780 1781 default : 1782 break loop6; 1783 } 1784 } 1785 1786 // AST REWRITE 1787 // elements: ordered_method_item, catch_directive, catchall_directive, parameter_directive, registers_directive 1788 // token labels: 1789 // rule labels: retval 1790 // token list labels: 1791 // rule list labels: 1792 // wildcard labels: 1793 retval.tree = root_0; 1794 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 1795 1796 root_0 = (CommonTree)adaptor.nil(); 1797 // 508:5: -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) 1798 { 1799 // smaliParser.g:508:8: ( registers_directive )? 1800 if ( stream_registers_directive.hasNext() ) { 1801 adaptor.addChild(root_0, stream_registers_directive.nextTree()); 1802 } 1803 stream_registers_directive.reset(); 1804 1805 // smaliParser.g:509:8: ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) 1806 { 1807 CommonTree root_1 = (CommonTree)adaptor.nil(); 1808 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ORDERED_METHOD_ITEMS, "I_ORDERED_METHOD_ITEMS"), root_1); 1809 // smaliParser.g:509:33: ( ordered_method_item )* 1810 while ( stream_ordered_method_item.hasNext() ) { 1811 adaptor.addChild(root_1, stream_ordered_method_item.nextTree()); 1812 } 1813 stream_ordered_method_item.reset(); 1814 1815 adaptor.addChild(root_0, root_1); 1816 } 1817 1818 // smaliParser.g:510:8: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) 1819 { 1820 CommonTree root_1 = (CommonTree)adaptor.nil(); 1821 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCHES, "I_CATCHES"), root_1); 1822 // smaliParser.g:510:20: ( catch_directive )* 1823 while ( stream_catch_directive.hasNext() ) { 1824 adaptor.addChild(root_1, stream_catch_directive.nextTree()); 1825 } 1826 stream_catch_directive.reset(); 1827 1828 // smaliParser.g:510:37: ( catchall_directive )* 1829 while ( stream_catchall_directive.hasNext() ) { 1830 adaptor.addChild(root_1, stream_catchall_directive.nextTree()); 1831 } 1832 stream_catchall_directive.reset(); 1833 1834 adaptor.addChild(root_0, root_1); 1835 } 1836 1837 // smaliParser.g:511:8: ^( I_PARAMETERS ( parameter_directive )* ) 1838 { 1839 CommonTree root_1 = (CommonTree)adaptor.nil(); 1840 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETERS, "I_PARAMETERS"), root_1); 1841 // smaliParser.g:511:23: ( parameter_directive )* 1842 while ( stream_parameter_directive.hasNext() ) { 1843 adaptor.addChild(root_1, stream_parameter_directive.nextTree()); 1844 } 1845 stream_parameter_directive.reset(); 1846 1847 adaptor.addChild(root_0, root_1); 1848 } 1849 1850 adaptor.addChild(root_0, buildTree(I_ANNOTATIONS, "I_ANNOTATIONS", statements_and_directives_stack.peek().methodAnnotations)); 1851 } 1852 1853 1854 retval.tree = root_0; 1855 1856 } 1857 1858 retval.stop = input.LT(-1); 1859 1860 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 1861 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 1862 1863 } 1864 catch (RecognitionException re) { 1865 reportError(re); 1866 recover(input,re); 1867 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 1868 } 1869 finally { 1870 // do for sure before leaving 1871 statements_and_directives_stack.pop(); 1872 } 1873 return retval; 1874 } 1875 // $ANTLR end "statements_and_directives" 1876 1877 1878 public static class ordered_method_item_return extends ParserRuleReturnScope { 1879 CommonTree tree; 1880 @Override getTree()1881 public CommonTree getTree() { return tree; } 1882 }; 1883 1884 1885 // $ANTLR start "ordered_method_item" 1886 // smaliParser.g:515:1: ordered_method_item : ( label | instruction | debug_directive ); ordered_method_item()1887 public final smaliParser.ordered_method_item_return ordered_method_item() throws RecognitionException { 1888 smaliParser.ordered_method_item_return retval = new smaliParser.ordered_method_item_return(); 1889 retval.start = input.LT(1); 1890 1891 CommonTree root_0 = null; 1892 1893 ParserRuleReturnScope label40 =null; 1894 ParserRuleReturnScope instruction41 =null; 1895 ParserRuleReturnScope debug_directive42 =null; 1896 1897 1898 try { 1899 // smaliParser.g:516:3: ( label | instruction | debug_directive ) 1900 int alt7=3; 1901 switch ( input.LA(1) ) { 1902 case COLON: 1903 { 1904 alt7=1; 1905 } 1906 break; 1907 case ARRAY_DATA_DIRECTIVE: 1908 case INSTRUCTION_FORMAT10t: 1909 case INSTRUCTION_FORMAT10x: 1910 case INSTRUCTION_FORMAT10x_ODEX: 1911 case INSTRUCTION_FORMAT11n: 1912 case INSTRUCTION_FORMAT11x: 1913 case INSTRUCTION_FORMAT12x: 1914 case INSTRUCTION_FORMAT12x_OR_ID: 1915 case INSTRUCTION_FORMAT20bc: 1916 case INSTRUCTION_FORMAT20t: 1917 case INSTRUCTION_FORMAT21c_FIELD: 1918 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 1919 case INSTRUCTION_FORMAT21c_STRING: 1920 case INSTRUCTION_FORMAT21c_TYPE: 1921 case INSTRUCTION_FORMAT21ih: 1922 case INSTRUCTION_FORMAT21lh: 1923 case INSTRUCTION_FORMAT21s: 1924 case INSTRUCTION_FORMAT21t: 1925 case INSTRUCTION_FORMAT22b: 1926 case INSTRUCTION_FORMAT22c_FIELD: 1927 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 1928 case INSTRUCTION_FORMAT22c_TYPE: 1929 case INSTRUCTION_FORMAT22cs_FIELD: 1930 case INSTRUCTION_FORMAT22s: 1931 case INSTRUCTION_FORMAT22s_OR_ID: 1932 case INSTRUCTION_FORMAT22t: 1933 case INSTRUCTION_FORMAT22x: 1934 case INSTRUCTION_FORMAT23x: 1935 case INSTRUCTION_FORMAT30t: 1936 case INSTRUCTION_FORMAT31c: 1937 case INSTRUCTION_FORMAT31i: 1938 case INSTRUCTION_FORMAT31i_OR_ID: 1939 case INSTRUCTION_FORMAT31t: 1940 case INSTRUCTION_FORMAT32x: 1941 case INSTRUCTION_FORMAT35c_METHOD: 1942 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 1943 case INSTRUCTION_FORMAT35c_TYPE: 1944 case INSTRUCTION_FORMAT35mi_METHOD: 1945 case INSTRUCTION_FORMAT35ms_METHOD: 1946 case INSTRUCTION_FORMAT3rc_METHOD: 1947 case INSTRUCTION_FORMAT3rc_METHOD_ODEX: 1948 case INSTRUCTION_FORMAT3rc_TYPE: 1949 case INSTRUCTION_FORMAT3rmi_METHOD: 1950 case INSTRUCTION_FORMAT3rms_METHOD: 1951 case INSTRUCTION_FORMAT45cc_METHOD: 1952 case INSTRUCTION_FORMAT4rcc_METHOD: 1953 case INSTRUCTION_FORMAT51l: 1954 case PACKED_SWITCH_DIRECTIVE: 1955 case SPARSE_SWITCH_DIRECTIVE: 1956 { 1957 alt7=2; 1958 } 1959 break; 1960 case END_LOCAL_DIRECTIVE: 1961 case EPILOGUE_DIRECTIVE: 1962 case LINE_DIRECTIVE: 1963 case LOCAL_DIRECTIVE: 1964 case PROLOGUE_DIRECTIVE: 1965 case RESTART_LOCAL_DIRECTIVE: 1966 case SOURCE_DIRECTIVE: 1967 { 1968 alt7=3; 1969 } 1970 break; 1971 default: 1972 NoViableAltException nvae = 1973 new NoViableAltException("", 7, 0, input); 1974 throw nvae; 1975 } 1976 switch (alt7) { 1977 case 1 : 1978 // smaliParser.g:516:5: label 1979 { 1980 root_0 = (CommonTree)adaptor.nil(); 1981 1982 1983 pushFollow(FOLLOW_label_in_ordered_method_item1672); 1984 label40=label(); 1985 state._fsp--; 1986 1987 adaptor.addChild(root_0, label40.getTree()); 1988 1989 } 1990 break; 1991 case 2 : 1992 // smaliParser.g:517:5: instruction 1993 { 1994 root_0 = (CommonTree)adaptor.nil(); 1995 1996 1997 pushFollow(FOLLOW_instruction_in_ordered_method_item1678); 1998 instruction41=instruction(); 1999 state._fsp--; 2000 2001 adaptor.addChild(root_0, instruction41.getTree()); 2002 2003 } 2004 break; 2005 case 3 : 2006 // smaliParser.g:518:5: debug_directive 2007 { 2008 root_0 = (CommonTree)adaptor.nil(); 2009 2010 2011 pushFollow(FOLLOW_debug_directive_in_ordered_method_item1684); 2012 debug_directive42=debug_directive(); 2013 state._fsp--; 2014 2015 adaptor.addChild(root_0, debug_directive42.getTree()); 2016 2017 } 2018 break; 2019 2020 } 2021 retval.stop = input.LT(-1); 2022 2023 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 2024 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 2025 2026 } 2027 catch (RecognitionException re) { 2028 reportError(re); 2029 recover(input,re); 2030 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 2031 } 2032 finally { 2033 // do for sure before leaving 2034 } 2035 return retval; 2036 } 2037 // $ANTLR end "ordered_method_item" 2038 2039 2040 public static class registers_directive_return extends ParserRuleReturnScope { 2041 CommonTree tree; 2042 @Override getTree()2043 public CommonTree getTree() { return tree; } 2044 }; 2045 2046 2047 // $ANTLR start "registers_directive" 2048 // smaliParser.g:520: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) ) ; registers_directive()2049 public final smaliParser.registers_directive_return registers_directive() throws RecognitionException { 2050 smaliParser.registers_directive_return retval = new smaliParser.registers_directive_return(); 2051 retval.start = input.LT(1); 2052 2053 CommonTree root_0 = null; 2054 2055 Token directive=null; 2056 ParserRuleReturnScope regCount =null; 2057 ParserRuleReturnScope regCount2 =null; 2058 2059 CommonTree directive_tree=null; 2060 RewriteRuleTokenStream stream_LOCALS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token LOCALS_DIRECTIVE"); 2061 RewriteRuleTokenStream stream_REGISTERS_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token REGISTERS_DIRECTIVE"); 2062 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 2063 2064 try { 2065 // smaliParser.g:521: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) ) ) 2066 // smaliParser.g:521: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) ) 2067 { 2068 // smaliParser.g:521: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) ) 2069 int alt8=2; 2070 int LA8_0 = input.LA(1); 2071 if ( (LA8_0==REGISTERS_DIRECTIVE) ) { 2072 alt8=1; 2073 } 2074 else if ( (LA8_0==LOCALS_DIRECTIVE) ) { 2075 alt8=2; 2076 } 2077 2078 else { 2079 NoViableAltException nvae = 2080 new NoViableAltException("", 8, 0, input); 2081 throw nvae; 2082 } 2083 2084 switch (alt8) { 2085 case 1 : 2086 // smaliParser.g:522:7: directive= REGISTERS_DIRECTIVE regCount= integral_literal 2087 { 2088 directive=(Token)match(input,REGISTERS_DIRECTIVE,FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1704); 2089 stream_REGISTERS_DIRECTIVE.add(directive); 2090 2091 pushFollow(FOLLOW_integral_literal_in_registers_directive1708); 2092 regCount=integral_literal(); 2093 state._fsp--; 2094 2095 stream_integral_literal.add(regCount.getTree()); 2096 // AST REWRITE 2097 // elements: regCount 2098 // token labels: 2099 // rule labels: regCount, retval 2100 // token list labels: 2101 // rule list labels: 2102 // wildcard labels: 2103 retval.tree = root_0; 2104 RewriteRuleSubtreeStream stream_regCount=new RewriteRuleSubtreeStream(adaptor,"rule regCount",regCount!=null?regCount.getTree():null); 2105 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2106 2107 root_0 = (CommonTree)adaptor.nil(); 2108 // 522:63: -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) 2109 { 2110 // smaliParser.g:522:66: ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) 2111 { 2112 CommonTree root_1 = (CommonTree)adaptor.nil(); 2113 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTERS, directive, "I_REGISTERS"), root_1); 2114 adaptor.addChild(root_1, stream_regCount.nextTree()); 2115 adaptor.addChild(root_0, root_1); 2116 } 2117 2118 } 2119 2120 2121 retval.tree = root_0; 2122 2123 } 2124 break; 2125 case 2 : 2126 // smaliParser.g:523:7: directive= LOCALS_DIRECTIVE regCount2= integral_literal 2127 { 2128 directive=(Token)match(input,LOCALS_DIRECTIVE,FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1728); 2129 stream_LOCALS_DIRECTIVE.add(directive); 2130 2131 pushFollow(FOLLOW_integral_literal_in_registers_directive1732); 2132 regCount2=integral_literal(); 2133 state._fsp--; 2134 2135 stream_integral_literal.add(regCount2.getTree()); 2136 // AST REWRITE 2137 // elements: regCount2 2138 // token labels: 2139 // rule labels: regCount2, retval 2140 // token list labels: 2141 // rule list labels: 2142 // wildcard labels: 2143 retval.tree = root_0; 2144 RewriteRuleSubtreeStream stream_regCount2=new RewriteRuleSubtreeStream(adaptor,"rule regCount2",regCount2!=null?regCount2.getTree():null); 2145 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2146 2147 root_0 = (CommonTree)adaptor.nil(); 2148 // 523:61: -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) 2149 { 2150 // smaliParser.g:523:64: ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) 2151 { 2152 CommonTree root_1 = (CommonTree)adaptor.nil(); 2153 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LOCALS, directive, "I_LOCALS"), root_1); 2154 adaptor.addChild(root_1, stream_regCount2.nextTree()); 2155 adaptor.addChild(root_0, root_1); 2156 } 2157 2158 } 2159 2160 2161 retval.tree = root_0; 2162 2163 } 2164 break; 2165 2166 } 2167 2168 2169 if (statements_and_directives_stack.peek().hasRegistersDirective) { 2170 throw new SemanticException(input, directive, "There can only be a single .registers or .locals directive in a method"); 2171 } 2172 statements_and_directives_stack.peek().hasRegistersDirective =true; 2173 2174 } 2175 2176 retval.stop = input.LT(-1); 2177 2178 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 2179 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 2180 2181 } 2182 catch (RecognitionException re) { 2183 reportError(re); 2184 recover(input,re); 2185 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 2186 } 2187 finally { 2188 // do for sure before leaving 2189 } 2190 return retval; 2191 } 2192 // $ANTLR end "registers_directive" 2193 2194 2195 public static class param_list_or_id_return extends ParserRuleReturnScope { 2196 CommonTree tree; 2197 @Override getTree()2198 public CommonTree getTree() { return tree; } 2199 }; 2200 2201 2202 // $ANTLR start "param_list_or_id" 2203 // smaliParser.g:532:1: param_list_or_id : ( PARAM_LIST_OR_ID_PRIMITIVE_TYPE )+ ; param_list_or_id()2204 public final smaliParser.param_list_or_id_return param_list_or_id() throws RecognitionException { 2205 smaliParser.param_list_or_id_return retval = new smaliParser.param_list_or_id_return(); 2206 retval.start = input.LT(1); 2207 2208 CommonTree root_0 = null; 2209 2210 Token PARAM_LIST_OR_ID_PRIMITIVE_TYPE43=null; 2211 2212 CommonTree PARAM_LIST_OR_ID_PRIMITIVE_TYPE43_tree=null; 2213 2214 try { 2215 // smaliParser.g:533:3: ( ( PARAM_LIST_OR_ID_PRIMITIVE_TYPE )+ ) 2216 // smaliParser.g:533:5: ( PARAM_LIST_OR_ID_PRIMITIVE_TYPE )+ 2217 { 2218 root_0 = (CommonTree)adaptor.nil(); 2219 2220 2221 // smaliParser.g:533:5: ( PARAM_LIST_OR_ID_PRIMITIVE_TYPE )+ 2222 int cnt9=0; 2223 loop9: 2224 while (true) { 2225 int alt9=2; 2226 int LA9_0 = input.LA(1); 2227 if ( (LA9_0==PARAM_LIST_OR_ID_PRIMITIVE_TYPE) ) { 2228 alt9=1; 2229 } 2230 2231 switch (alt9) { 2232 case 1 : 2233 // smaliParser.g:533:5: PARAM_LIST_OR_ID_PRIMITIVE_TYPE 2234 { 2235 PARAM_LIST_OR_ID_PRIMITIVE_TYPE43=(Token)match(input,PARAM_LIST_OR_ID_PRIMITIVE_TYPE,FOLLOW_PARAM_LIST_OR_ID_PRIMITIVE_TYPE_in_param_list_or_id1764); 2236 PARAM_LIST_OR_ID_PRIMITIVE_TYPE43_tree = (CommonTree)adaptor.create(PARAM_LIST_OR_ID_PRIMITIVE_TYPE43); 2237 adaptor.addChild(root_0, PARAM_LIST_OR_ID_PRIMITIVE_TYPE43_tree); 2238 2239 } 2240 break; 2241 2242 default : 2243 if ( cnt9 >= 1 ) break loop9; 2244 EarlyExitException eee = new EarlyExitException(9, input); 2245 throw eee; 2246 } 2247 cnt9++; 2248 } 2249 2250 } 2251 2252 retval.stop = input.LT(-1); 2253 2254 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 2255 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 2256 2257 } 2258 catch (RecognitionException re) { 2259 reportError(re); 2260 recover(input,re); 2261 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 2262 } 2263 finally { 2264 // do for sure before leaving 2265 } 2266 return retval; 2267 } 2268 // $ANTLR end "param_list_or_id" 2269 2270 2271 public static class simple_name_return extends ParserRuleReturnScope { 2272 CommonTree tree; 2273 @Override getTree()2274 public CommonTree getTree() { return tree; } 2275 }; 2276 2277 2278 // $ANTLR start "simple_name" 2279 // smaliParser.g:537: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 ->| 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_FORMAT45cc_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT45cc_METHOD] | INSTRUCTION_FORMAT4rcc_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT4rcc_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] ); simple_name()2280 public final smaliParser.simple_name_return simple_name() throws RecognitionException { 2281 smaliParser.simple_name_return retval = new smaliParser.simple_name_return(); 2282 retval.start = input.LT(1); 2283 2284 CommonTree root_0 = null; 2285 2286 Token SIMPLE_NAME44=null; 2287 Token ACCESS_SPEC45=null; 2288 Token VERIFICATION_ERROR_TYPE46=null; 2289 Token POSITIVE_INTEGER_LITERAL47=null; 2290 Token NEGATIVE_INTEGER_LITERAL48=null; 2291 Token FLOAT_LITERAL_OR_ID49=null; 2292 Token DOUBLE_LITERAL_OR_ID50=null; 2293 Token BOOL_LITERAL51=null; 2294 Token NULL_LITERAL52=null; 2295 Token REGISTER53=null; 2296 Token PRIMITIVE_TYPE55=null; 2297 Token VOID_TYPE56=null; 2298 Token ANNOTATION_VISIBILITY57=null; 2299 Token INSTRUCTION_FORMAT10t58=null; 2300 Token INSTRUCTION_FORMAT10x59=null; 2301 Token INSTRUCTION_FORMAT10x_ODEX60=null; 2302 Token INSTRUCTION_FORMAT11x61=null; 2303 Token INSTRUCTION_FORMAT12x_OR_ID62=null; 2304 Token INSTRUCTION_FORMAT21c_FIELD63=null; 2305 Token INSTRUCTION_FORMAT21c_FIELD_ODEX64=null; 2306 Token INSTRUCTION_FORMAT21c_STRING65=null; 2307 Token INSTRUCTION_FORMAT21c_TYPE66=null; 2308 Token INSTRUCTION_FORMAT21t67=null; 2309 Token INSTRUCTION_FORMAT22c_FIELD68=null; 2310 Token INSTRUCTION_FORMAT22c_FIELD_ODEX69=null; 2311 Token INSTRUCTION_FORMAT22c_TYPE70=null; 2312 Token INSTRUCTION_FORMAT22cs_FIELD71=null; 2313 Token INSTRUCTION_FORMAT22s_OR_ID72=null; 2314 Token INSTRUCTION_FORMAT22t73=null; 2315 Token INSTRUCTION_FORMAT23x74=null; 2316 Token INSTRUCTION_FORMAT31i_OR_ID75=null; 2317 Token INSTRUCTION_FORMAT31t76=null; 2318 Token INSTRUCTION_FORMAT35c_METHOD77=null; 2319 Token INSTRUCTION_FORMAT35c_METHOD_ODEX78=null; 2320 Token INSTRUCTION_FORMAT35c_TYPE79=null; 2321 Token INSTRUCTION_FORMAT35mi_METHOD80=null; 2322 Token INSTRUCTION_FORMAT35ms_METHOD81=null; 2323 Token INSTRUCTION_FORMAT45cc_METHOD82=null; 2324 Token INSTRUCTION_FORMAT4rcc_METHOD83=null; 2325 Token INSTRUCTION_FORMAT51l84=null; 2326 ParserRuleReturnScope param_list_or_id54 =null; 2327 2328 CommonTree SIMPLE_NAME44_tree=null; 2329 CommonTree ACCESS_SPEC45_tree=null; 2330 CommonTree VERIFICATION_ERROR_TYPE46_tree=null; 2331 CommonTree POSITIVE_INTEGER_LITERAL47_tree=null; 2332 CommonTree NEGATIVE_INTEGER_LITERAL48_tree=null; 2333 CommonTree FLOAT_LITERAL_OR_ID49_tree=null; 2334 CommonTree DOUBLE_LITERAL_OR_ID50_tree=null; 2335 CommonTree BOOL_LITERAL51_tree=null; 2336 CommonTree NULL_LITERAL52_tree=null; 2337 CommonTree REGISTER53_tree=null; 2338 CommonTree PRIMITIVE_TYPE55_tree=null; 2339 CommonTree VOID_TYPE56_tree=null; 2340 CommonTree ANNOTATION_VISIBILITY57_tree=null; 2341 CommonTree INSTRUCTION_FORMAT10t58_tree=null; 2342 CommonTree INSTRUCTION_FORMAT10x59_tree=null; 2343 CommonTree INSTRUCTION_FORMAT10x_ODEX60_tree=null; 2344 CommonTree INSTRUCTION_FORMAT11x61_tree=null; 2345 CommonTree INSTRUCTION_FORMAT12x_OR_ID62_tree=null; 2346 CommonTree INSTRUCTION_FORMAT21c_FIELD63_tree=null; 2347 CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX64_tree=null; 2348 CommonTree INSTRUCTION_FORMAT21c_STRING65_tree=null; 2349 CommonTree INSTRUCTION_FORMAT21c_TYPE66_tree=null; 2350 CommonTree INSTRUCTION_FORMAT21t67_tree=null; 2351 CommonTree INSTRUCTION_FORMAT22c_FIELD68_tree=null; 2352 CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX69_tree=null; 2353 CommonTree INSTRUCTION_FORMAT22c_TYPE70_tree=null; 2354 CommonTree INSTRUCTION_FORMAT22cs_FIELD71_tree=null; 2355 CommonTree INSTRUCTION_FORMAT22s_OR_ID72_tree=null; 2356 CommonTree INSTRUCTION_FORMAT22t73_tree=null; 2357 CommonTree INSTRUCTION_FORMAT23x74_tree=null; 2358 CommonTree INSTRUCTION_FORMAT31i_OR_ID75_tree=null; 2359 CommonTree INSTRUCTION_FORMAT31t76_tree=null; 2360 CommonTree INSTRUCTION_FORMAT35c_METHOD77_tree=null; 2361 CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX78_tree=null; 2362 CommonTree INSTRUCTION_FORMAT35c_TYPE79_tree=null; 2363 CommonTree INSTRUCTION_FORMAT35mi_METHOD80_tree=null; 2364 CommonTree INSTRUCTION_FORMAT35ms_METHOD81_tree=null; 2365 CommonTree INSTRUCTION_FORMAT45cc_METHOD82_tree=null; 2366 CommonTree INSTRUCTION_FORMAT4rcc_METHOD83_tree=null; 2367 CommonTree INSTRUCTION_FORMAT51l84_tree=null; 2368 RewriteRuleTokenStream stream_ANNOTATION_VISIBILITY=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_VISIBILITY"); 2369 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_TYPE"); 2370 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22t"); 2371 RewriteRuleTokenStream stream_VOID_TYPE=new RewriteRuleTokenStream(adaptor,"token VOID_TYPE"); 2372 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10t"); 2373 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35mi_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35mi_METHOD"); 2374 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22s_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22s_OR_ID"); 2375 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22cs_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22cs_FIELD"); 2376 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT12x_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT12x_OR_ID"); 2377 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35ms_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35ms_METHOD"); 2378 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD"); 2379 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT45cc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT45cc_METHOD"); 2380 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_TYPE"); 2381 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x"); 2382 RewriteRuleTokenStream stream_FLOAT_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token FLOAT_LITERAL_OR_ID"); 2383 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_TYPE"); 2384 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_STRING=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_STRING"); 2385 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD_ODEX"); 2386 RewriteRuleTokenStream stream_NEGATIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token NEGATIVE_INTEGER_LITERAL"); 2387 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 2388 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD_ODEX"); 2389 RewriteRuleTokenStream stream_DOUBLE_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token DOUBLE_LITERAL_OR_ID"); 2390 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31i_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31i_OR_ID"); 2391 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21t"); 2392 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31t"); 2393 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT23x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT23x"); 2394 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT51l=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT51l"); 2395 RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL"); 2396 RewriteRuleTokenStream stream_BOOL_LITERAL=new RewriteRuleTokenStream(adaptor,"token BOOL_LITERAL"); 2397 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x_ODEX"); 2398 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD"); 2399 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD"); 2400 RewriteRuleTokenStream stream_VERIFICATION_ERROR_TYPE=new RewriteRuleTokenStream(adaptor,"token VERIFICATION_ERROR_TYPE"); 2401 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11x"); 2402 RewriteRuleTokenStream stream_ACCESS_SPEC=new RewriteRuleTokenStream(adaptor,"token ACCESS_SPEC"); 2403 RewriteRuleTokenStream stream_NULL_LITERAL=new RewriteRuleTokenStream(adaptor,"token NULL_LITERAL"); 2404 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT4rcc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT4rcc_METHOD"); 2405 RewriteRuleTokenStream stream_PRIMITIVE_TYPE=new RewriteRuleTokenStream(adaptor,"token PRIMITIVE_TYPE"); 2406 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD_ODEX"); 2407 RewriteRuleSubtreeStream stream_param_list_or_id=new RewriteRuleSubtreeStream(adaptor,"rule param_list_or_id"); 2408 2409 try { 2410 // smaliParser.g:538: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 ->| 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_FORMAT45cc_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT45cc_METHOD] | INSTRUCTION_FORMAT4rcc_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT4rcc_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] ) 2411 int alt10=41; 2412 switch ( input.LA(1) ) { 2413 case SIMPLE_NAME: 2414 { 2415 alt10=1; 2416 } 2417 break; 2418 case ACCESS_SPEC: 2419 { 2420 alt10=2; 2421 } 2422 break; 2423 case VERIFICATION_ERROR_TYPE: 2424 { 2425 alt10=3; 2426 } 2427 break; 2428 case POSITIVE_INTEGER_LITERAL: 2429 { 2430 alt10=4; 2431 } 2432 break; 2433 case NEGATIVE_INTEGER_LITERAL: 2434 { 2435 alt10=5; 2436 } 2437 break; 2438 case FLOAT_LITERAL_OR_ID: 2439 { 2440 alt10=6; 2441 } 2442 break; 2443 case DOUBLE_LITERAL_OR_ID: 2444 { 2445 alt10=7; 2446 } 2447 break; 2448 case BOOL_LITERAL: 2449 { 2450 alt10=8; 2451 } 2452 break; 2453 case NULL_LITERAL: 2454 { 2455 alt10=9; 2456 } 2457 break; 2458 case REGISTER: 2459 { 2460 alt10=10; 2461 } 2462 break; 2463 case PARAM_LIST_OR_ID_PRIMITIVE_TYPE: 2464 { 2465 alt10=11; 2466 } 2467 break; 2468 case PRIMITIVE_TYPE: 2469 { 2470 alt10=12; 2471 } 2472 break; 2473 case VOID_TYPE: 2474 { 2475 alt10=13; 2476 } 2477 break; 2478 case ANNOTATION_VISIBILITY: 2479 { 2480 alt10=14; 2481 } 2482 break; 2483 case INSTRUCTION_FORMAT10t: 2484 { 2485 alt10=15; 2486 } 2487 break; 2488 case INSTRUCTION_FORMAT10x: 2489 { 2490 alt10=16; 2491 } 2492 break; 2493 case INSTRUCTION_FORMAT10x_ODEX: 2494 { 2495 alt10=17; 2496 } 2497 break; 2498 case INSTRUCTION_FORMAT11x: 2499 { 2500 alt10=18; 2501 } 2502 break; 2503 case INSTRUCTION_FORMAT12x_OR_ID: 2504 { 2505 alt10=19; 2506 } 2507 break; 2508 case INSTRUCTION_FORMAT21c_FIELD: 2509 { 2510 alt10=20; 2511 } 2512 break; 2513 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 2514 { 2515 alt10=21; 2516 } 2517 break; 2518 case INSTRUCTION_FORMAT21c_STRING: 2519 { 2520 alt10=22; 2521 } 2522 break; 2523 case INSTRUCTION_FORMAT21c_TYPE: 2524 { 2525 alt10=23; 2526 } 2527 break; 2528 case INSTRUCTION_FORMAT21t: 2529 { 2530 alt10=24; 2531 } 2532 break; 2533 case INSTRUCTION_FORMAT22c_FIELD: 2534 { 2535 alt10=25; 2536 } 2537 break; 2538 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 2539 { 2540 alt10=26; 2541 } 2542 break; 2543 case INSTRUCTION_FORMAT22c_TYPE: 2544 { 2545 alt10=27; 2546 } 2547 break; 2548 case INSTRUCTION_FORMAT22cs_FIELD: 2549 { 2550 alt10=28; 2551 } 2552 break; 2553 case INSTRUCTION_FORMAT22s_OR_ID: 2554 { 2555 alt10=29; 2556 } 2557 break; 2558 case INSTRUCTION_FORMAT22t: 2559 { 2560 alt10=30; 2561 } 2562 break; 2563 case INSTRUCTION_FORMAT23x: 2564 { 2565 alt10=31; 2566 } 2567 break; 2568 case INSTRUCTION_FORMAT31i_OR_ID: 2569 { 2570 alt10=32; 2571 } 2572 break; 2573 case INSTRUCTION_FORMAT31t: 2574 { 2575 alt10=33; 2576 } 2577 break; 2578 case INSTRUCTION_FORMAT35c_METHOD: 2579 { 2580 alt10=34; 2581 } 2582 break; 2583 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 2584 { 2585 alt10=35; 2586 } 2587 break; 2588 case INSTRUCTION_FORMAT35c_TYPE: 2589 { 2590 alt10=36; 2591 } 2592 break; 2593 case INSTRUCTION_FORMAT35mi_METHOD: 2594 { 2595 alt10=37; 2596 } 2597 break; 2598 case INSTRUCTION_FORMAT35ms_METHOD: 2599 { 2600 alt10=38; 2601 } 2602 break; 2603 case INSTRUCTION_FORMAT45cc_METHOD: 2604 { 2605 alt10=39; 2606 } 2607 break; 2608 case INSTRUCTION_FORMAT4rcc_METHOD: 2609 { 2610 alt10=40; 2611 } 2612 break; 2613 case INSTRUCTION_FORMAT51l: 2614 { 2615 alt10=41; 2616 } 2617 break; 2618 default: 2619 NoViableAltException nvae = 2620 new NoViableAltException("", 10, 0, input); 2621 throw nvae; 2622 } 2623 switch (alt10) { 2624 case 1 : 2625 // smaliParser.g:538:5: SIMPLE_NAME 2626 { 2627 root_0 = (CommonTree)adaptor.nil(); 2628 2629 2630 SIMPLE_NAME44=(Token)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_simple_name1777); 2631 SIMPLE_NAME44_tree = (CommonTree)adaptor.create(SIMPLE_NAME44); 2632 adaptor.addChild(root_0, SIMPLE_NAME44_tree); 2633 2634 } 2635 break; 2636 case 2 : 2637 // smaliParser.g:539:5: ACCESS_SPEC 2638 { 2639 ACCESS_SPEC45=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_simple_name1783); 2640 stream_ACCESS_SPEC.add(ACCESS_SPEC45); 2641 2642 // AST REWRITE 2643 // elements: 2644 // token labels: 2645 // rule labels: retval 2646 // token list labels: 2647 // rule list labels: 2648 // wildcard labels: 2649 retval.tree = root_0; 2650 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2651 2652 root_0 = (CommonTree)adaptor.nil(); 2653 // 539:17: -> SIMPLE_NAME[$ACCESS_SPEC] 2654 { 2655 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ACCESS_SPEC45)); 2656 } 2657 2658 2659 retval.tree = root_0; 2660 2661 } 2662 break; 2663 case 3 : 2664 // smaliParser.g:540:5: VERIFICATION_ERROR_TYPE 2665 { 2666 VERIFICATION_ERROR_TYPE46=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1794); 2667 stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE46); 2668 2669 // AST REWRITE 2670 // elements: 2671 // token labels: 2672 // rule labels: retval 2673 // token list labels: 2674 // rule list labels: 2675 // wildcard labels: 2676 retval.tree = root_0; 2677 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2678 2679 root_0 = (CommonTree)adaptor.nil(); 2680 // 540:29: -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] 2681 { 2682 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VERIFICATION_ERROR_TYPE46)); 2683 } 2684 2685 2686 retval.tree = root_0; 2687 2688 } 2689 break; 2690 case 4 : 2691 // smaliParser.g:541:5: POSITIVE_INTEGER_LITERAL 2692 { 2693 POSITIVE_INTEGER_LITERAL47=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1805); 2694 stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL47); 2695 2696 // AST REWRITE 2697 // elements: 2698 // token labels: 2699 // rule labels: retval 2700 // token list labels: 2701 // rule list labels: 2702 // wildcard labels: 2703 retval.tree = root_0; 2704 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2705 2706 root_0 = (CommonTree)adaptor.nil(); 2707 // 541:30: -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] 2708 { 2709 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, POSITIVE_INTEGER_LITERAL47)); 2710 } 2711 2712 2713 retval.tree = root_0; 2714 2715 } 2716 break; 2717 case 5 : 2718 // smaliParser.g:542:5: NEGATIVE_INTEGER_LITERAL 2719 { 2720 NEGATIVE_INTEGER_LITERAL48=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1816); 2721 stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL48); 2722 2723 // AST REWRITE 2724 // elements: 2725 // token labels: 2726 // rule labels: retval 2727 // token list labels: 2728 // rule list labels: 2729 // wildcard labels: 2730 retval.tree = root_0; 2731 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2732 2733 root_0 = (CommonTree)adaptor.nil(); 2734 // 542:30: -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] 2735 { 2736 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NEGATIVE_INTEGER_LITERAL48)); 2737 } 2738 2739 2740 retval.tree = root_0; 2741 2742 } 2743 break; 2744 case 6 : 2745 // smaliParser.g:543:5: FLOAT_LITERAL_OR_ID 2746 { 2747 FLOAT_LITERAL_OR_ID49=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1827); 2748 stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID49); 2749 2750 // AST REWRITE 2751 // elements: 2752 // token labels: 2753 // rule labels: retval 2754 // token list labels: 2755 // rule list labels: 2756 // wildcard labels: 2757 retval.tree = root_0; 2758 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2759 2760 root_0 = (CommonTree)adaptor.nil(); 2761 // 543:25: -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] 2762 { 2763 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, FLOAT_LITERAL_OR_ID49)); 2764 } 2765 2766 2767 retval.tree = root_0; 2768 2769 } 2770 break; 2771 case 7 : 2772 // smaliParser.g:544:5: DOUBLE_LITERAL_OR_ID 2773 { 2774 DOUBLE_LITERAL_OR_ID50=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1838); 2775 stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID50); 2776 2777 // AST REWRITE 2778 // elements: 2779 // token labels: 2780 // rule labels: retval 2781 // token list labels: 2782 // rule list labels: 2783 // wildcard labels: 2784 retval.tree = root_0; 2785 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2786 2787 root_0 = (CommonTree)adaptor.nil(); 2788 // 544:26: -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] 2789 { 2790 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, DOUBLE_LITERAL_OR_ID50)); 2791 } 2792 2793 2794 retval.tree = root_0; 2795 2796 } 2797 break; 2798 case 8 : 2799 // smaliParser.g:545:5: BOOL_LITERAL 2800 { 2801 BOOL_LITERAL51=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_simple_name1849); 2802 stream_BOOL_LITERAL.add(BOOL_LITERAL51); 2803 2804 // AST REWRITE 2805 // elements: 2806 // token labels: 2807 // rule labels: retval 2808 // token list labels: 2809 // rule list labels: 2810 // wildcard labels: 2811 retval.tree = root_0; 2812 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2813 2814 root_0 = (CommonTree)adaptor.nil(); 2815 // 545:18: -> SIMPLE_NAME[$BOOL_LITERAL] 2816 { 2817 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, BOOL_LITERAL51)); 2818 } 2819 2820 2821 retval.tree = root_0; 2822 2823 } 2824 break; 2825 case 9 : 2826 // smaliParser.g:546:5: NULL_LITERAL 2827 { 2828 NULL_LITERAL52=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_simple_name1860); 2829 stream_NULL_LITERAL.add(NULL_LITERAL52); 2830 2831 // AST REWRITE 2832 // elements: 2833 // token labels: 2834 // rule labels: retval 2835 // token list labels: 2836 // rule list labels: 2837 // wildcard labels: 2838 retval.tree = root_0; 2839 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2840 2841 root_0 = (CommonTree)adaptor.nil(); 2842 // 546:18: -> SIMPLE_NAME[$NULL_LITERAL] 2843 { 2844 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NULL_LITERAL52)); 2845 } 2846 2847 2848 retval.tree = root_0; 2849 2850 } 2851 break; 2852 case 10 : 2853 // smaliParser.g:547:5: REGISTER 2854 { 2855 REGISTER53=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_simple_name1871); 2856 stream_REGISTER.add(REGISTER53); 2857 2858 // AST REWRITE 2859 // elements: 2860 // token labels: 2861 // rule labels: retval 2862 // token list labels: 2863 // rule list labels: 2864 // wildcard labels: 2865 retval.tree = root_0; 2866 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2867 2868 root_0 = (CommonTree)adaptor.nil(); 2869 // 547:14: -> SIMPLE_NAME[$REGISTER] 2870 { 2871 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, REGISTER53)); 2872 } 2873 2874 2875 retval.tree = root_0; 2876 2877 } 2878 break; 2879 case 11 : 2880 // smaliParser.g:548:5: param_list_or_id 2881 { 2882 pushFollow(FOLLOW_param_list_or_id_in_simple_name1882); 2883 param_list_or_id54=param_list_or_id(); 2884 state._fsp--; 2885 2886 stream_param_list_or_id.add(param_list_or_id54.getTree()); 2887 // AST REWRITE 2888 // elements: 2889 // token labels: 2890 // rule labels: retval 2891 // token list labels: 2892 // rule list labels: 2893 // wildcard labels: 2894 retval.tree = root_0; 2895 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2896 2897 root_0 = (CommonTree)adaptor.nil(); 2898 // 548:22: -> 2899 { 2900 adaptor.addChild(root_0, adaptor.create(SIMPLE_NAME, (param_list_or_id54!=null?input.toString(param_list_or_id54.start,param_list_or_id54.stop):null)) ); 2901 } 2902 2903 2904 retval.tree = root_0; 2905 2906 } 2907 break; 2908 case 12 : 2909 // smaliParser.g:549:5: PRIMITIVE_TYPE 2910 { 2911 PRIMITIVE_TYPE55=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_simple_name1892); 2912 stream_PRIMITIVE_TYPE.add(PRIMITIVE_TYPE55); 2913 2914 // AST REWRITE 2915 // elements: 2916 // token labels: 2917 // rule labels: retval 2918 // token list labels: 2919 // rule list labels: 2920 // wildcard labels: 2921 retval.tree = root_0; 2922 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2923 2924 root_0 = (CommonTree)adaptor.nil(); 2925 // 549:20: -> SIMPLE_NAME[$PRIMITIVE_TYPE] 2926 { 2927 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PRIMITIVE_TYPE55)); 2928 } 2929 2930 2931 retval.tree = root_0; 2932 2933 } 2934 break; 2935 case 13 : 2936 // smaliParser.g:550:5: VOID_TYPE 2937 { 2938 VOID_TYPE56=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_simple_name1903); 2939 stream_VOID_TYPE.add(VOID_TYPE56); 2940 2941 // AST REWRITE 2942 // elements: 2943 // token labels: 2944 // rule labels: retval 2945 // token list labels: 2946 // rule list labels: 2947 // wildcard labels: 2948 retval.tree = root_0; 2949 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2950 2951 root_0 = (CommonTree)adaptor.nil(); 2952 // 550:15: -> SIMPLE_NAME[$VOID_TYPE] 2953 { 2954 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VOID_TYPE56)); 2955 } 2956 2957 2958 retval.tree = root_0; 2959 2960 } 2961 break; 2962 case 14 : 2963 // smaliParser.g:551:5: ANNOTATION_VISIBILITY 2964 { 2965 ANNOTATION_VISIBILITY57=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1914); 2966 stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY57); 2967 2968 // AST REWRITE 2969 // elements: 2970 // token labels: 2971 // rule labels: retval 2972 // token list labels: 2973 // rule list labels: 2974 // wildcard labels: 2975 retval.tree = root_0; 2976 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 2977 2978 root_0 = (CommonTree)adaptor.nil(); 2979 // 551:27: -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] 2980 { 2981 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ANNOTATION_VISIBILITY57)); 2982 } 2983 2984 2985 retval.tree = root_0; 2986 2987 } 2988 break; 2989 case 15 : 2990 // smaliParser.g:552:5: INSTRUCTION_FORMAT10t 2991 { 2992 INSTRUCTION_FORMAT10t58=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1925); 2993 stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t58); 2994 2995 // AST REWRITE 2996 // elements: 2997 // token labels: 2998 // rule labels: retval 2999 // token list labels: 3000 // rule list labels: 3001 // wildcard labels: 3002 retval.tree = root_0; 3003 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3004 3005 root_0 = (CommonTree)adaptor.nil(); 3006 // 552:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] 3007 { 3008 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10t58)); 3009 } 3010 3011 3012 retval.tree = root_0; 3013 3014 } 3015 break; 3016 case 16 : 3017 // smaliParser.g:553:5: INSTRUCTION_FORMAT10x 3018 { 3019 INSTRUCTION_FORMAT10x59=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1936); 3020 stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x59); 3021 3022 // AST REWRITE 3023 // elements: 3024 // token labels: 3025 // rule labels: retval 3026 // token list labels: 3027 // rule list labels: 3028 // wildcard labels: 3029 retval.tree = root_0; 3030 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3031 3032 root_0 = (CommonTree)adaptor.nil(); 3033 // 553:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] 3034 { 3035 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x59)); 3036 } 3037 3038 3039 retval.tree = root_0; 3040 3041 } 3042 break; 3043 case 17 : 3044 // smaliParser.g:554:5: INSTRUCTION_FORMAT10x_ODEX 3045 { 3046 INSTRUCTION_FORMAT10x_ODEX60=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name1947); 3047 stream_INSTRUCTION_FORMAT10x_ODEX.add(INSTRUCTION_FORMAT10x_ODEX60); 3048 3049 // AST REWRITE 3050 // elements: 3051 // token labels: 3052 // rule labels: retval 3053 // token list labels: 3054 // rule list labels: 3055 // wildcard labels: 3056 retval.tree = root_0; 3057 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3058 3059 root_0 = (CommonTree)adaptor.nil(); 3060 // 554:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] 3061 { 3062 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x_ODEX60)); 3063 } 3064 3065 3066 retval.tree = root_0; 3067 3068 } 3069 break; 3070 case 18 : 3071 // smaliParser.g:555:5: INSTRUCTION_FORMAT11x 3072 { 3073 INSTRUCTION_FORMAT11x61=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name1958); 3074 stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x61); 3075 3076 // AST REWRITE 3077 // elements: 3078 // token labels: 3079 // rule labels: retval 3080 // token list labels: 3081 // rule list labels: 3082 // wildcard labels: 3083 retval.tree = root_0; 3084 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3085 3086 root_0 = (CommonTree)adaptor.nil(); 3087 // 555:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] 3088 { 3089 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT11x61)); 3090 } 3091 3092 3093 retval.tree = root_0; 3094 3095 } 3096 break; 3097 case 19 : 3098 // smaliParser.g:556:5: INSTRUCTION_FORMAT12x_OR_ID 3099 { 3100 INSTRUCTION_FORMAT12x_OR_ID62=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name1969); 3101 stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID62); 3102 3103 // AST REWRITE 3104 // elements: 3105 // token labels: 3106 // rule labels: retval 3107 // token list labels: 3108 // rule list labels: 3109 // wildcard labels: 3110 retval.tree = root_0; 3111 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3112 3113 root_0 = (CommonTree)adaptor.nil(); 3114 // 556:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] 3115 { 3116 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT12x_OR_ID62)); 3117 } 3118 3119 3120 retval.tree = root_0; 3121 3122 } 3123 break; 3124 case 20 : 3125 // smaliParser.g:557:5: INSTRUCTION_FORMAT21c_FIELD 3126 { 3127 INSTRUCTION_FORMAT21c_FIELD63=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name1980); 3128 stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD63); 3129 3130 // AST REWRITE 3131 // elements: 3132 // token labels: 3133 // rule labels: retval 3134 // token list labels: 3135 // rule list labels: 3136 // wildcard labels: 3137 retval.tree = root_0; 3138 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3139 3140 root_0 = (CommonTree)adaptor.nil(); 3141 // 557:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] 3142 { 3143 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD63)); 3144 } 3145 3146 3147 retval.tree = root_0; 3148 3149 } 3150 break; 3151 case 21 : 3152 // smaliParser.g:558:5: INSTRUCTION_FORMAT21c_FIELD_ODEX 3153 { 3154 INSTRUCTION_FORMAT21c_FIELD_ODEX64=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name1991); 3155 stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX64); 3156 3157 // AST REWRITE 3158 // elements: 3159 // token labels: 3160 // rule labels: retval 3161 // token list labels: 3162 // rule list labels: 3163 // wildcard labels: 3164 retval.tree = root_0; 3165 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3166 3167 root_0 = (CommonTree)adaptor.nil(); 3168 // 558:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] 3169 { 3170 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD_ODEX64)); 3171 } 3172 3173 3174 retval.tree = root_0; 3175 3176 } 3177 break; 3178 case 22 : 3179 // smaliParser.g:559:5: INSTRUCTION_FORMAT21c_STRING 3180 { 3181 INSTRUCTION_FORMAT21c_STRING65=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2002); 3182 stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING65); 3183 3184 // AST REWRITE 3185 // elements: 3186 // token labels: 3187 // rule labels: retval 3188 // token list labels: 3189 // rule list labels: 3190 // wildcard labels: 3191 retval.tree = root_0; 3192 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3193 3194 root_0 = (CommonTree)adaptor.nil(); 3195 // 559:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] 3196 { 3197 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_STRING65)); 3198 } 3199 3200 3201 retval.tree = root_0; 3202 3203 } 3204 break; 3205 case 23 : 3206 // smaliParser.g:560:5: INSTRUCTION_FORMAT21c_TYPE 3207 { 3208 INSTRUCTION_FORMAT21c_TYPE66=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2013); 3209 stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE66); 3210 3211 // AST REWRITE 3212 // elements: 3213 // token labels: 3214 // rule labels: retval 3215 // token list labels: 3216 // rule list labels: 3217 // wildcard labels: 3218 retval.tree = root_0; 3219 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3220 3221 root_0 = (CommonTree)adaptor.nil(); 3222 // 560:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] 3223 { 3224 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_TYPE66)); 3225 } 3226 3227 3228 retval.tree = root_0; 3229 3230 } 3231 break; 3232 case 24 : 3233 // smaliParser.g:561:5: INSTRUCTION_FORMAT21t 3234 { 3235 INSTRUCTION_FORMAT21t67=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2024); 3236 stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t67); 3237 3238 // AST REWRITE 3239 // elements: 3240 // token labels: 3241 // rule labels: retval 3242 // token list labels: 3243 // rule list labels: 3244 // wildcard labels: 3245 retval.tree = root_0; 3246 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3247 3248 root_0 = (CommonTree)adaptor.nil(); 3249 // 561:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] 3250 { 3251 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21t67)); 3252 } 3253 3254 3255 retval.tree = root_0; 3256 3257 } 3258 break; 3259 case 25 : 3260 // smaliParser.g:562:5: INSTRUCTION_FORMAT22c_FIELD 3261 { 3262 INSTRUCTION_FORMAT22c_FIELD68=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2035); 3263 stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD68); 3264 3265 // AST REWRITE 3266 // elements: 3267 // token labels: 3268 // rule labels: retval 3269 // token list labels: 3270 // rule list labels: 3271 // wildcard labels: 3272 retval.tree = root_0; 3273 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3274 3275 root_0 = (CommonTree)adaptor.nil(); 3276 // 562:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] 3277 { 3278 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD68)); 3279 } 3280 3281 3282 retval.tree = root_0; 3283 3284 } 3285 break; 3286 case 26 : 3287 // smaliParser.g:563:5: INSTRUCTION_FORMAT22c_FIELD_ODEX 3288 { 3289 INSTRUCTION_FORMAT22c_FIELD_ODEX69=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2046); 3290 stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX69); 3291 3292 // AST REWRITE 3293 // elements: 3294 // token labels: 3295 // rule labels: retval 3296 // token list labels: 3297 // rule list labels: 3298 // wildcard labels: 3299 retval.tree = root_0; 3300 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3301 3302 root_0 = (CommonTree)adaptor.nil(); 3303 // 563:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] 3304 { 3305 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD_ODEX69)); 3306 } 3307 3308 3309 retval.tree = root_0; 3310 3311 } 3312 break; 3313 case 27 : 3314 // smaliParser.g:564:5: INSTRUCTION_FORMAT22c_TYPE 3315 { 3316 INSTRUCTION_FORMAT22c_TYPE70=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2057); 3317 stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE70); 3318 3319 // AST REWRITE 3320 // elements: 3321 // token labels: 3322 // rule labels: retval 3323 // token list labels: 3324 // rule list labels: 3325 // wildcard labels: 3326 retval.tree = root_0; 3327 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3328 3329 root_0 = (CommonTree)adaptor.nil(); 3330 // 564:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] 3331 { 3332 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_TYPE70)); 3333 } 3334 3335 3336 retval.tree = root_0; 3337 3338 } 3339 break; 3340 case 28 : 3341 // smaliParser.g:565:5: INSTRUCTION_FORMAT22cs_FIELD 3342 { 3343 INSTRUCTION_FORMAT22cs_FIELD71=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2068); 3344 stream_INSTRUCTION_FORMAT22cs_FIELD.add(INSTRUCTION_FORMAT22cs_FIELD71); 3345 3346 // AST REWRITE 3347 // elements: 3348 // token labels: 3349 // rule labels: retval 3350 // token list labels: 3351 // rule list labels: 3352 // wildcard labels: 3353 retval.tree = root_0; 3354 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3355 3356 root_0 = (CommonTree)adaptor.nil(); 3357 // 565:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] 3358 { 3359 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22cs_FIELD71)); 3360 } 3361 3362 3363 retval.tree = root_0; 3364 3365 } 3366 break; 3367 case 29 : 3368 // smaliParser.g:566:5: INSTRUCTION_FORMAT22s_OR_ID 3369 { 3370 INSTRUCTION_FORMAT22s_OR_ID72=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2079); 3371 stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID72); 3372 3373 // AST REWRITE 3374 // elements: 3375 // token labels: 3376 // rule labels: retval 3377 // token list labels: 3378 // rule list labels: 3379 // wildcard labels: 3380 retval.tree = root_0; 3381 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3382 3383 root_0 = (CommonTree)adaptor.nil(); 3384 // 566:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] 3385 { 3386 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22s_OR_ID72)); 3387 } 3388 3389 3390 retval.tree = root_0; 3391 3392 } 3393 break; 3394 case 30 : 3395 // smaliParser.g:567:5: INSTRUCTION_FORMAT22t 3396 { 3397 INSTRUCTION_FORMAT22t73=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2090); 3398 stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t73); 3399 3400 // AST REWRITE 3401 // elements: 3402 // token labels: 3403 // rule labels: retval 3404 // token list labels: 3405 // rule list labels: 3406 // wildcard labels: 3407 retval.tree = root_0; 3408 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3409 3410 root_0 = (CommonTree)adaptor.nil(); 3411 // 567:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] 3412 { 3413 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22t73)); 3414 } 3415 3416 3417 retval.tree = root_0; 3418 3419 } 3420 break; 3421 case 31 : 3422 // smaliParser.g:568:5: INSTRUCTION_FORMAT23x 3423 { 3424 INSTRUCTION_FORMAT23x74=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2101); 3425 stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x74); 3426 3427 // AST REWRITE 3428 // elements: 3429 // token labels: 3430 // rule labels: retval 3431 // token list labels: 3432 // rule list labels: 3433 // wildcard labels: 3434 retval.tree = root_0; 3435 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3436 3437 root_0 = (CommonTree)adaptor.nil(); 3438 // 568:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] 3439 { 3440 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT23x74)); 3441 } 3442 3443 3444 retval.tree = root_0; 3445 3446 } 3447 break; 3448 case 32 : 3449 // smaliParser.g:569:5: INSTRUCTION_FORMAT31i_OR_ID 3450 { 3451 INSTRUCTION_FORMAT31i_OR_ID75=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2112); 3452 stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID75); 3453 3454 // AST REWRITE 3455 // elements: 3456 // token labels: 3457 // rule labels: retval 3458 // token list labels: 3459 // rule list labels: 3460 // wildcard labels: 3461 retval.tree = root_0; 3462 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3463 3464 root_0 = (CommonTree)adaptor.nil(); 3465 // 569:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] 3466 { 3467 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31i_OR_ID75)); 3468 } 3469 3470 3471 retval.tree = root_0; 3472 3473 } 3474 break; 3475 case 33 : 3476 // smaliParser.g:570:5: INSTRUCTION_FORMAT31t 3477 { 3478 INSTRUCTION_FORMAT31t76=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2123); 3479 stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t76); 3480 3481 // AST REWRITE 3482 // elements: 3483 // token labels: 3484 // rule labels: retval 3485 // token list labels: 3486 // rule list labels: 3487 // wildcard labels: 3488 retval.tree = root_0; 3489 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3490 3491 root_0 = (CommonTree)adaptor.nil(); 3492 // 570:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] 3493 { 3494 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31t76)); 3495 } 3496 3497 3498 retval.tree = root_0; 3499 3500 } 3501 break; 3502 case 34 : 3503 // smaliParser.g:571:5: INSTRUCTION_FORMAT35c_METHOD 3504 { 3505 INSTRUCTION_FORMAT35c_METHOD77=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2134); 3506 stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD77); 3507 3508 // AST REWRITE 3509 // elements: 3510 // token labels: 3511 // rule labels: retval 3512 // token list labels: 3513 // rule list labels: 3514 // wildcard labels: 3515 retval.tree = root_0; 3516 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3517 3518 root_0 = (CommonTree)adaptor.nil(); 3519 // 571:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] 3520 { 3521 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD77)); 3522 } 3523 3524 3525 retval.tree = root_0; 3526 3527 } 3528 break; 3529 case 35 : 3530 // smaliParser.g:572:5: INSTRUCTION_FORMAT35c_METHOD_ODEX 3531 { 3532 INSTRUCTION_FORMAT35c_METHOD_ODEX78=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2145); 3533 stream_INSTRUCTION_FORMAT35c_METHOD_ODEX.add(INSTRUCTION_FORMAT35c_METHOD_ODEX78); 3534 3535 // AST REWRITE 3536 // elements: 3537 // token labels: 3538 // rule labels: retval 3539 // token list labels: 3540 // rule list labels: 3541 // wildcard labels: 3542 retval.tree = root_0; 3543 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3544 3545 root_0 = (CommonTree)adaptor.nil(); 3546 // 572:39: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] 3547 { 3548 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD_ODEX78)); 3549 } 3550 3551 3552 retval.tree = root_0; 3553 3554 } 3555 break; 3556 case 36 : 3557 // smaliParser.g:573:5: INSTRUCTION_FORMAT35c_TYPE 3558 { 3559 INSTRUCTION_FORMAT35c_TYPE79=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2156); 3560 stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE79); 3561 3562 // AST REWRITE 3563 // elements: 3564 // token labels: 3565 // rule labels: retval 3566 // token list labels: 3567 // rule list labels: 3568 // wildcard labels: 3569 retval.tree = root_0; 3570 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3571 3572 root_0 = (CommonTree)adaptor.nil(); 3573 // 573:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] 3574 { 3575 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_TYPE79)); 3576 } 3577 3578 3579 retval.tree = root_0; 3580 3581 } 3582 break; 3583 case 37 : 3584 // smaliParser.g:574:5: INSTRUCTION_FORMAT35mi_METHOD 3585 { 3586 INSTRUCTION_FORMAT35mi_METHOD80=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2167); 3587 stream_INSTRUCTION_FORMAT35mi_METHOD.add(INSTRUCTION_FORMAT35mi_METHOD80); 3588 3589 // AST REWRITE 3590 // elements: 3591 // token labels: 3592 // rule labels: retval 3593 // token list labels: 3594 // rule list labels: 3595 // wildcard labels: 3596 retval.tree = root_0; 3597 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3598 3599 root_0 = (CommonTree)adaptor.nil(); 3600 // 574:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] 3601 { 3602 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35mi_METHOD80)); 3603 } 3604 3605 3606 retval.tree = root_0; 3607 3608 } 3609 break; 3610 case 38 : 3611 // smaliParser.g:575:5: INSTRUCTION_FORMAT35ms_METHOD 3612 { 3613 INSTRUCTION_FORMAT35ms_METHOD81=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2178); 3614 stream_INSTRUCTION_FORMAT35ms_METHOD.add(INSTRUCTION_FORMAT35ms_METHOD81); 3615 3616 // AST REWRITE 3617 // elements: 3618 // token labels: 3619 // rule labels: retval 3620 // token list labels: 3621 // rule list labels: 3622 // wildcard labels: 3623 retval.tree = root_0; 3624 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3625 3626 root_0 = (CommonTree)adaptor.nil(); 3627 // 575:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] 3628 { 3629 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35ms_METHOD81)); 3630 } 3631 3632 3633 retval.tree = root_0; 3634 3635 } 3636 break; 3637 case 39 : 3638 // smaliParser.g:576:5: INSTRUCTION_FORMAT45cc_METHOD 3639 { 3640 INSTRUCTION_FORMAT45cc_METHOD82=(Token)match(input,INSTRUCTION_FORMAT45cc_METHOD,FOLLOW_INSTRUCTION_FORMAT45cc_METHOD_in_simple_name2189); 3641 stream_INSTRUCTION_FORMAT45cc_METHOD.add(INSTRUCTION_FORMAT45cc_METHOD82); 3642 3643 // AST REWRITE 3644 // elements: 3645 // token labels: 3646 // rule labels: retval 3647 // token list labels: 3648 // rule list labels: 3649 // wildcard labels: 3650 retval.tree = root_0; 3651 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3652 3653 root_0 = (CommonTree)adaptor.nil(); 3654 // 576:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT45cc_METHOD] 3655 { 3656 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT45cc_METHOD82)); 3657 } 3658 3659 3660 retval.tree = root_0; 3661 3662 } 3663 break; 3664 case 40 : 3665 // smaliParser.g:577:5: INSTRUCTION_FORMAT4rcc_METHOD 3666 { 3667 INSTRUCTION_FORMAT4rcc_METHOD83=(Token)match(input,INSTRUCTION_FORMAT4rcc_METHOD,FOLLOW_INSTRUCTION_FORMAT4rcc_METHOD_in_simple_name2200); 3668 stream_INSTRUCTION_FORMAT4rcc_METHOD.add(INSTRUCTION_FORMAT4rcc_METHOD83); 3669 3670 // AST REWRITE 3671 // elements: 3672 // token labels: 3673 // rule labels: retval 3674 // token list labels: 3675 // rule list labels: 3676 // wildcard labels: 3677 retval.tree = root_0; 3678 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3679 3680 root_0 = (CommonTree)adaptor.nil(); 3681 // 577:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT4rcc_METHOD] 3682 { 3683 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT4rcc_METHOD83)); 3684 } 3685 3686 3687 retval.tree = root_0; 3688 3689 } 3690 break; 3691 case 41 : 3692 // smaliParser.g:578:5: INSTRUCTION_FORMAT51l 3693 { 3694 INSTRUCTION_FORMAT51l84=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2211); 3695 stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l84); 3696 3697 // AST REWRITE 3698 // elements: 3699 // token labels: 3700 // rule labels: retval 3701 // token list labels: 3702 // rule list labels: 3703 // wildcard labels: 3704 retval.tree = root_0; 3705 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3706 3707 root_0 = (CommonTree)adaptor.nil(); 3708 // 578:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] 3709 { 3710 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT51l84)); 3711 } 3712 3713 3714 retval.tree = root_0; 3715 3716 } 3717 break; 3718 3719 } 3720 retval.stop = input.LT(-1); 3721 3722 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3723 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3724 3725 } 3726 catch (RecognitionException re) { 3727 reportError(re); 3728 recover(input,re); 3729 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3730 } 3731 finally { 3732 // do for sure before leaving 3733 } 3734 return retval; 3735 } 3736 // $ANTLR end "simple_name" 3737 3738 3739 public static class member_name_return extends ParserRuleReturnScope { 3740 CommonTree tree; 3741 @Override getTree()3742 public CommonTree getTree() { return tree; } 3743 }; 3744 3745 3746 // $ANTLR start "member_name" 3747 // smaliParser.g:580:1: member_name : ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] ); member_name()3748 public final smaliParser.member_name_return member_name() throws RecognitionException { 3749 smaliParser.member_name_return retval = new smaliParser.member_name_return(); 3750 retval.start = input.LT(1); 3751 3752 CommonTree root_0 = null; 3753 3754 Token MEMBER_NAME86=null; 3755 ParserRuleReturnScope simple_name85 =null; 3756 3757 CommonTree MEMBER_NAME86_tree=null; 3758 RewriteRuleTokenStream stream_MEMBER_NAME=new RewriteRuleTokenStream(adaptor,"token MEMBER_NAME"); 3759 3760 try { 3761 // smaliParser.g:581:3: ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] ) 3762 int alt11=2; 3763 int LA11_0 = input.LA(1); 3764 if ( (LA11_0==ACCESS_SPEC||LA11_0==ANNOTATION_VISIBILITY||LA11_0==BOOL_LITERAL||LA11_0==DOUBLE_LITERAL_OR_ID||LA11_0==FLOAT_LITERAL_OR_ID||(LA11_0 >= INSTRUCTION_FORMAT10t && LA11_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA11_0==INSTRUCTION_FORMAT11x||LA11_0==INSTRUCTION_FORMAT12x_OR_ID||(LA11_0 >= INSTRUCTION_FORMAT21c_FIELD && LA11_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA11_0==INSTRUCTION_FORMAT21t||(LA11_0 >= INSTRUCTION_FORMAT22c_FIELD && LA11_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA11_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA11_0 <= INSTRUCTION_FORMAT22t)||LA11_0==INSTRUCTION_FORMAT23x||(LA11_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA11_0 <= INSTRUCTION_FORMAT31t)||(LA11_0 >= INSTRUCTION_FORMAT35c_METHOD && LA11_0 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA11_0 >= INSTRUCTION_FORMAT45cc_METHOD && LA11_0 <= INSTRUCTION_FORMAT51l)||(LA11_0 >= NEGATIVE_INTEGER_LITERAL && LA11_0 <= NULL_LITERAL)||(LA11_0 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA11_0 <= PRIMITIVE_TYPE)||LA11_0==REGISTER||LA11_0==SIMPLE_NAME||(LA11_0 >= VERIFICATION_ERROR_TYPE && LA11_0 <= VOID_TYPE)) ) { 3765 alt11=1; 3766 } 3767 else if ( (LA11_0==MEMBER_NAME) ) { 3768 alt11=2; 3769 } 3770 3771 else { 3772 NoViableAltException nvae = 3773 new NoViableAltException("", 11, 0, input); 3774 throw nvae; 3775 } 3776 3777 switch (alt11) { 3778 case 1 : 3779 // smaliParser.g:581:5: simple_name 3780 { 3781 root_0 = (CommonTree)adaptor.nil(); 3782 3783 3784 pushFollow(FOLLOW_simple_name_in_member_name2226); 3785 simple_name85=simple_name(); 3786 state._fsp--; 3787 3788 adaptor.addChild(root_0, simple_name85.getTree()); 3789 3790 } 3791 break; 3792 case 2 : 3793 // smaliParser.g:582:5: MEMBER_NAME 3794 { 3795 MEMBER_NAME86=(Token)match(input,MEMBER_NAME,FOLLOW_MEMBER_NAME_in_member_name2232); 3796 stream_MEMBER_NAME.add(MEMBER_NAME86); 3797 3798 // AST REWRITE 3799 // elements: 3800 // token labels: 3801 // rule labels: retval 3802 // token list labels: 3803 // rule list labels: 3804 // wildcard labels: 3805 retval.tree = root_0; 3806 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3807 3808 root_0 = (CommonTree)adaptor.nil(); 3809 // 582:17: -> SIMPLE_NAME[$MEMBER_NAME] 3810 { 3811 adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, MEMBER_NAME86)); 3812 } 3813 3814 3815 retval.tree = root_0; 3816 3817 } 3818 break; 3819 3820 } 3821 retval.stop = input.LT(-1); 3822 3823 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3824 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3825 3826 } 3827 catch (RecognitionException re) { 3828 reportError(re); 3829 recover(input,re); 3830 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3831 } 3832 finally { 3833 // do for sure before leaving 3834 } 3835 return retval; 3836 } 3837 // $ANTLR end "member_name" 3838 3839 3840 public static class method_prototype_return extends ParserRuleReturnScope { 3841 CommonTree tree; 3842 @Override getTree()3843 public CommonTree getTree() { return tree; } 3844 }; 3845 3846 3847 // $ANTLR start "method_prototype" 3848 // smaliParser.g:584: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 )? ) ; method_prototype()3849 public final smaliParser.method_prototype_return method_prototype() throws RecognitionException { 3850 smaliParser.method_prototype_return retval = new smaliParser.method_prototype_return(); 3851 retval.start = input.LT(1); 3852 3853 CommonTree root_0 = null; 3854 3855 Token OPEN_PAREN87=null; 3856 Token CLOSE_PAREN89=null; 3857 ParserRuleReturnScope param_list88 =null; 3858 ParserRuleReturnScope type_descriptor90 =null; 3859 3860 CommonTree OPEN_PAREN87_tree=null; 3861 CommonTree CLOSE_PAREN89_tree=null; 3862 RewriteRuleTokenStream stream_OPEN_PAREN=new RewriteRuleTokenStream(adaptor,"token OPEN_PAREN"); 3863 RewriteRuleTokenStream stream_CLOSE_PAREN=new RewriteRuleTokenStream(adaptor,"token CLOSE_PAREN"); 3864 RewriteRuleSubtreeStream stream_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule type_descriptor"); 3865 RewriteRuleSubtreeStream stream_param_list=new RewriteRuleSubtreeStream(adaptor,"rule param_list"); 3866 3867 try { 3868 // smaliParser.g:585:3: ( OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) ) 3869 // smaliParser.g:585:5: OPEN_PAREN param_list CLOSE_PAREN type_descriptor 3870 { 3871 OPEN_PAREN87=(Token)match(input,OPEN_PAREN,FOLLOW_OPEN_PAREN_in_method_prototype2247); 3872 stream_OPEN_PAREN.add(OPEN_PAREN87); 3873 3874 pushFollow(FOLLOW_param_list_in_method_prototype2249); 3875 param_list88=param_list(); 3876 state._fsp--; 3877 3878 stream_param_list.add(param_list88.getTree()); 3879 CLOSE_PAREN89=(Token)match(input,CLOSE_PAREN,FOLLOW_CLOSE_PAREN_in_method_prototype2251); 3880 stream_CLOSE_PAREN.add(CLOSE_PAREN89); 3881 3882 pushFollow(FOLLOW_type_descriptor_in_method_prototype2253); 3883 type_descriptor90=type_descriptor(); 3884 state._fsp--; 3885 3886 stream_type_descriptor.add(type_descriptor90.getTree()); 3887 // AST REWRITE 3888 // elements: type_descriptor, param_list 3889 // token labels: 3890 // rule labels: retval 3891 // token list labels: 3892 // rule list labels: 3893 // wildcard labels: 3894 retval.tree = root_0; 3895 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3896 3897 root_0 = (CommonTree)adaptor.nil(); 3898 // 586:5: -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) 3899 { 3900 // smaliParser.g:586:8: ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) 3901 { 3902 CommonTree root_1 = (CommonTree)adaptor.nil(); 3903 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_PROTOTYPE, (retval.start), "I_METHOD_PROTOTYPE"), root_1); 3904 // smaliParser.g:586:59: ^( I_METHOD_RETURN_TYPE type_descriptor ) 3905 { 3906 CommonTree root_2 = (CommonTree)adaptor.nil(); 3907 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_RETURN_TYPE, "I_METHOD_RETURN_TYPE"), root_2); 3908 adaptor.addChild(root_2, stream_type_descriptor.nextTree()); 3909 adaptor.addChild(root_1, root_2); 3910 } 3911 3912 // smaliParser.g:586:99: ( param_list )? 3913 if ( stream_param_list.hasNext() ) { 3914 adaptor.addChild(root_1, stream_param_list.nextTree()); 3915 } 3916 stream_param_list.reset(); 3917 3918 adaptor.addChild(root_0, root_1); 3919 } 3920 3921 } 3922 3923 3924 retval.tree = root_0; 3925 3926 } 3927 3928 retval.stop = input.LT(-1); 3929 3930 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3931 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3932 3933 } 3934 catch (RecognitionException re) { 3935 reportError(re); 3936 recover(input,re); 3937 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 3938 } 3939 finally { 3940 // do for sure before leaving 3941 } 3942 return retval; 3943 } 3944 // $ANTLR end "method_prototype" 3945 3946 3947 public static class param_list_or_id_primitive_type_return extends ParserRuleReturnScope { 3948 CommonTree tree; 3949 @Override getTree()3950 public CommonTree getTree() { return tree; } 3951 }; 3952 3953 3954 // $ANTLR start "param_list_or_id_primitive_type" 3955 // smaliParser.g:588:1: param_list_or_id_primitive_type : PARAM_LIST_OR_ID_PRIMITIVE_TYPE -> PRIMITIVE_TYPE[$PARAM_LIST_OR_ID_PRIMITIVE_TYPE] ; param_list_or_id_primitive_type()3956 public final smaliParser.param_list_or_id_primitive_type_return param_list_or_id_primitive_type() throws RecognitionException { 3957 smaliParser.param_list_or_id_primitive_type_return retval = new smaliParser.param_list_or_id_primitive_type_return(); 3958 retval.start = input.LT(1); 3959 3960 CommonTree root_0 = null; 3961 3962 Token PARAM_LIST_OR_ID_PRIMITIVE_TYPE91=null; 3963 3964 CommonTree PARAM_LIST_OR_ID_PRIMITIVE_TYPE91_tree=null; 3965 RewriteRuleTokenStream stream_PARAM_LIST_OR_ID_PRIMITIVE_TYPE=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID_PRIMITIVE_TYPE"); 3966 3967 try { 3968 // smaliParser.g:589:3: ( PARAM_LIST_OR_ID_PRIMITIVE_TYPE -> PRIMITIVE_TYPE[$PARAM_LIST_OR_ID_PRIMITIVE_TYPE] ) 3969 // smaliParser.g:589:5: PARAM_LIST_OR_ID_PRIMITIVE_TYPE 3970 { 3971 PARAM_LIST_OR_ID_PRIMITIVE_TYPE91=(Token)match(input,PARAM_LIST_OR_ID_PRIMITIVE_TYPE,FOLLOW_PARAM_LIST_OR_ID_PRIMITIVE_TYPE_in_param_list_or_id_primitive_type2283); 3972 stream_PARAM_LIST_OR_ID_PRIMITIVE_TYPE.add(PARAM_LIST_OR_ID_PRIMITIVE_TYPE91); 3973 3974 // AST REWRITE 3975 // elements: 3976 // token labels: 3977 // rule labels: retval 3978 // token list labels: 3979 // rule list labels: 3980 // wildcard labels: 3981 retval.tree = root_0; 3982 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 3983 3984 root_0 = (CommonTree)adaptor.nil(); 3985 // 589:37: -> PRIMITIVE_TYPE[$PARAM_LIST_OR_ID_PRIMITIVE_TYPE] 3986 { 3987 adaptor.addChild(root_0, (CommonTree)adaptor.create(PRIMITIVE_TYPE, PARAM_LIST_OR_ID_PRIMITIVE_TYPE91)); 3988 } 3989 3990 3991 retval.tree = root_0; 3992 3993 } 3994 3995 retval.stop = input.LT(-1); 3996 3997 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 3998 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 3999 4000 } 4001 catch (RecognitionException re) { 4002 reportError(re); 4003 recover(input,re); 4004 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4005 } 4006 finally { 4007 // do for sure before leaving 4008 } 4009 return retval; 4010 } 4011 // $ANTLR end "param_list_or_id_primitive_type" 4012 4013 4014 public static class param_list_return extends ParserRuleReturnScope { 4015 CommonTree tree; 4016 @Override getTree()4017 public CommonTree getTree() { return tree; } 4018 }; 4019 4020 4021 // $ANTLR start "param_list" 4022 // smaliParser.g:591:1: param_list : ( ( param_list_or_id_primitive_type )+ | ( nonvoid_type_descriptor )* ); param_list()4023 public final smaliParser.param_list_return param_list() throws RecognitionException { 4024 smaliParser.param_list_return retval = new smaliParser.param_list_return(); 4025 retval.start = input.LT(1); 4026 4027 CommonTree root_0 = null; 4028 4029 ParserRuleReturnScope param_list_or_id_primitive_type92 =null; 4030 ParserRuleReturnScope nonvoid_type_descriptor93 =null; 4031 4032 4033 try { 4034 // smaliParser.g:592:3: ( ( param_list_or_id_primitive_type )+ | ( nonvoid_type_descriptor )* ) 4035 int alt14=2; 4036 int LA14_0 = input.LA(1); 4037 if ( (LA14_0==PARAM_LIST_OR_ID_PRIMITIVE_TYPE) ) { 4038 alt14=1; 4039 } 4040 else if ( (LA14_0==ARRAY_TYPE_PREFIX||LA14_0==CLASS_DESCRIPTOR||LA14_0==CLOSE_PAREN||LA14_0==PRIMITIVE_TYPE) ) { 4041 alt14=2; 4042 } 4043 4044 else { 4045 NoViableAltException nvae = 4046 new NoViableAltException("", 14, 0, input); 4047 throw nvae; 4048 } 4049 4050 switch (alt14) { 4051 case 1 : 4052 // smaliParser.g:592:5: ( param_list_or_id_primitive_type )+ 4053 { 4054 root_0 = (CommonTree)adaptor.nil(); 4055 4056 4057 // smaliParser.g:592:5: ( param_list_or_id_primitive_type )+ 4058 int cnt12=0; 4059 loop12: 4060 while (true) { 4061 int alt12=2; 4062 int LA12_0 = input.LA(1); 4063 if ( (LA12_0==PARAM_LIST_OR_ID_PRIMITIVE_TYPE) ) { 4064 alt12=1; 4065 } 4066 4067 switch (alt12) { 4068 case 1 : 4069 // smaliParser.g:592:5: param_list_or_id_primitive_type 4070 { 4071 pushFollow(FOLLOW_param_list_or_id_primitive_type_in_param_list2298); 4072 param_list_or_id_primitive_type92=param_list_or_id_primitive_type(); 4073 state._fsp--; 4074 4075 adaptor.addChild(root_0, param_list_or_id_primitive_type92.getTree()); 4076 4077 } 4078 break; 4079 4080 default : 4081 if ( cnt12 >= 1 ) break loop12; 4082 EarlyExitException eee = new EarlyExitException(12, input); 4083 throw eee; 4084 } 4085 cnt12++; 4086 } 4087 4088 } 4089 break; 4090 case 2 : 4091 // smaliParser.g:593:5: ( nonvoid_type_descriptor )* 4092 { 4093 root_0 = (CommonTree)adaptor.nil(); 4094 4095 4096 // smaliParser.g:593:5: ( nonvoid_type_descriptor )* 4097 loop13: 4098 while (true) { 4099 int alt13=2; 4100 int LA13_0 = input.LA(1); 4101 if ( (LA13_0==ARRAY_TYPE_PREFIX||LA13_0==CLASS_DESCRIPTOR||LA13_0==PRIMITIVE_TYPE) ) { 4102 alt13=1; 4103 } 4104 4105 switch (alt13) { 4106 case 1 : 4107 // smaliParser.g:593:5: nonvoid_type_descriptor 4108 { 4109 pushFollow(FOLLOW_nonvoid_type_descriptor_in_param_list2305); 4110 nonvoid_type_descriptor93=nonvoid_type_descriptor(); 4111 state._fsp--; 4112 4113 adaptor.addChild(root_0, nonvoid_type_descriptor93.getTree()); 4114 4115 } 4116 break; 4117 4118 default : 4119 break loop13; 4120 } 4121 } 4122 4123 } 4124 break; 4125 4126 } 4127 retval.stop = input.LT(-1); 4128 4129 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4130 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4131 4132 } 4133 catch (RecognitionException re) { 4134 reportError(re); 4135 recover(input,re); 4136 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4137 } 4138 finally { 4139 // do for sure before leaving 4140 } 4141 return retval; 4142 } 4143 // $ANTLR end "param_list" 4144 4145 4146 public static class array_descriptor_return extends ParserRuleReturnScope { 4147 CommonTree tree; 4148 @Override getTree()4149 public CommonTree getTree() { return tree; } 4150 }; 4151 4152 4153 // $ANTLR start "array_descriptor" 4154 // smaliParser.g:595:1: array_descriptor : ARRAY_TYPE_PREFIX ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR ) ; array_descriptor()4155 public final smaliParser.array_descriptor_return array_descriptor() throws RecognitionException { 4156 smaliParser.array_descriptor_return retval = new smaliParser.array_descriptor_return(); 4157 retval.start = input.LT(1); 4158 4159 CommonTree root_0 = null; 4160 4161 Token ARRAY_TYPE_PREFIX94=null; 4162 Token set95=null; 4163 4164 CommonTree ARRAY_TYPE_PREFIX94_tree=null; 4165 CommonTree set95_tree=null; 4166 4167 try { 4168 // smaliParser.g:596:3: ( ARRAY_TYPE_PREFIX ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR ) ) 4169 // smaliParser.g:596:5: ARRAY_TYPE_PREFIX ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR ) 4170 { 4171 root_0 = (CommonTree)adaptor.nil(); 4172 4173 4174 ARRAY_TYPE_PREFIX94=(Token)match(input,ARRAY_TYPE_PREFIX,FOLLOW_ARRAY_TYPE_PREFIX_in_array_descriptor2316); 4175 ARRAY_TYPE_PREFIX94_tree = (CommonTree)adaptor.create(ARRAY_TYPE_PREFIX94); 4176 adaptor.addChild(root_0, ARRAY_TYPE_PREFIX94_tree); 4177 4178 set95=input.LT(1); 4179 if ( input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE ) { 4180 input.consume(); 4181 adaptor.addChild(root_0, (CommonTree)adaptor.create(set95)); 4182 state.errorRecovery=false; 4183 } 4184 else { 4185 MismatchedSetException mse = new MismatchedSetException(null,input); 4186 throw mse; 4187 } 4188 } 4189 4190 retval.stop = input.LT(-1); 4191 4192 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4193 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4194 4195 } 4196 catch (RecognitionException re) { 4197 reportError(re); 4198 recover(input,re); 4199 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4200 } 4201 finally { 4202 // do for sure before leaving 4203 } 4204 return retval; 4205 } 4206 // $ANTLR end "array_descriptor" 4207 4208 4209 public static class type_descriptor_return extends ParserRuleReturnScope { 4210 CommonTree tree; 4211 @Override getTree()4212 public CommonTree getTree() { return tree; } 4213 }; 4214 4215 4216 // $ANTLR start "type_descriptor" 4217 // smaliParser.g:598:1: type_descriptor : ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | array_descriptor ); type_descriptor()4218 public final smaliParser.type_descriptor_return type_descriptor() throws RecognitionException { 4219 smaliParser.type_descriptor_return retval = new smaliParser.type_descriptor_return(); 4220 retval.start = input.LT(1); 4221 4222 CommonTree root_0 = null; 4223 4224 Token VOID_TYPE96=null; 4225 Token PRIMITIVE_TYPE97=null; 4226 Token CLASS_DESCRIPTOR98=null; 4227 ParserRuleReturnScope array_descriptor99 =null; 4228 4229 CommonTree VOID_TYPE96_tree=null; 4230 CommonTree PRIMITIVE_TYPE97_tree=null; 4231 CommonTree CLASS_DESCRIPTOR98_tree=null; 4232 4233 try { 4234 // smaliParser.g:599:3: ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | array_descriptor ) 4235 int alt15=4; 4236 switch ( input.LA(1) ) { 4237 case VOID_TYPE: 4238 { 4239 alt15=1; 4240 } 4241 break; 4242 case PRIMITIVE_TYPE: 4243 { 4244 alt15=2; 4245 } 4246 break; 4247 case CLASS_DESCRIPTOR: 4248 { 4249 alt15=3; 4250 } 4251 break; 4252 case ARRAY_TYPE_PREFIX: 4253 { 4254 alt15=4; 4255 } 4256 break; 4257 default: 4258 NoViableAltException nvae = 4259 new NoViableAltException("", 15, 0, input); 4260 throw nvae; 4261 } 4262 switch (alt15) { 4263 case 1 : 4264 // smaliParser.g:599:5: VOID_TYPE 4265 { 4266 root_0 = (CommonTree)adaptor.nil(); 4267 4268 4269 VOID_TYPE96=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_descriptor2334); 4270 VOID_TYPE96_tree = (CommonTree)adaptor.create(VOID_TYPE96); 4271 adaptor.addChild(root_0, VOID_TYPE96_tree); 4272 4273 } 4274 break; 4275 case 2 : 4276 // smaliParser.g:600:5: PRIMITIVE_TYPE 4277 { 4278 root_0 = (CommonTree)adaptor.nil(); 4279 4280 4281 PRIMITIVE_TYPE97=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_type_descriptor2340); 4282 PRIMITIVE_TYPE97_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE97); 4283 adaptor.addChild(root_0, PRIMITIVE_TYPE97_tree); 4284 4285 } 4286 break; 4287 case 3 : 4288 // smaliParser.g:601:5: CLASS_DESCRIPTOR 4289 { 4290 root_0 = (CommonTree)adaptor.nil(); 4291 4292 4293 CLASS_DESCRIPTOR98=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_type_descriptor2346); 4294 CLASS_DESCRIPTOR98_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR98); 4295 adaptor.addChild(root_0, CLASS_DESCRIPTOR98_tree); 4296 4297 } 4298 break; 4299 case 4 : 4300 // smaliParser.g:602:5: array_descriptor 4301 { 4302 root_0 = (CommonTree)adaptor.nil(); 4303 4304 4305 pushFollow(FOLLOW_array_descriptor_in_type_descriptor2352); 4306 array_descriptor99=array_descriptor(); 4307 state._fsp--; 4308 4309 adaptor.addChild(root_0, array_descriptor99.getTree()); 4310 4311 } 4312 break; 4313 4314 } 4315 retval.stop = input.LT(-1); 4316 4317 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4318 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4319 4320 } 4321 catch (RecognitionException re) { 4322 reportError(re); 4323 recover(input,re); 4324 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4325 } 4326 finally { 4327 // do for sure before leaving 4328 } 4329 return retval; 4330 } 4331 // $ANTLR end "type_descriptor" 4332 4333 4334 public static class nonvoid_type_descriptor_return extends ParserRuleReturnScope { 4335 CommonTree tree; 4336 @Override getTree()4337 public CommonTree getTree() { return tree; } 4338 }; 4339 4340 4341 // $ANTLR start "nonvoid_type_descriptor" 4342 // smaliParser.g:604:1: nonvoid_type_descriptor : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | array_descriptor ); nonvoid_type_descriptor()4343 public final smaliParser.nonvoid_type_descriptor_return nonvoid_type_descriptor() throws RecognitionException { 4344 smaliParser.nonvoid_type_descriptor_return retval = new smaliParser.nonvoid_type_descriptor_return(); 4345 retval.start = input.LT(1); 4346 4347 CommonTree root_0 = null; 4348 4349 Token PRIMITIVE_TYPE100=null; 4350 Token CLASS_DESCRIPTOR101=null; 4351 ParserRuleReturnScope array_descriptor102 =null; 4352 4353 CommonTree PRIMITIVE_TYPE100_tree=null; 4354 CommonTree CLASS_DESCRIPTOR101_tree=null; 4355 4356 try { 4357 // smaliParser.g:605:3: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | array_descriptor ) 4358 int alt16=3; 4359 switch ( input.LA(1) ) { 4360 case PRIMITIVE_TYPE: 4361 { 4362 alt16=1; 4363 } 4364 break; 4365 case CLASS_DESCRIPTOR: 4366 { 4367 alt16=2; 4368 } 4369 break; 4370 case ARRAY_TYPE_PREFIX: 4371 { 4372 alt16=3; 4373 } 4374 break; 4375 default: 4376 NoViableAltException nvae = 4377 new NoViableAltException("", 16, 0, input); 4378 throw nvae; 4379 } 4380 switch (alt16) { 4381 case 1 : 4382 // smaliParser.g:605:5: PRIMITIVE_TYPE 4383 { 4384 root_0 = (CommonTree)adaptor.nil(); 4385 4386 4387 PRIMITIVE_TYPE100=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_nonvoid_type_descriptor2362); 4388 PRIMITIVE_TYPE100_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE100); 4389 adaptor.addChild(root_0, PRIMITIVE_TYPE100_tree); 4390 4391 } 4392 break; 4393 case 2 : 4394 // smaliParser.g:606:5: CLASS_DESCRIPTOR 4395 { 4396 root_0 = (CommonTree)adaptor.nil(); 4397 4398 4399 CLASS_DESCRIPTOR101=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_nonvoid_type_descriptor2368); 4400 CLASS_DESCRIPTOR101_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR101); 4401 adaptor.addChild(root_0, CLASS_DESCRIPTOR101_tree); 4402 4403 } 4404 break; 4405 case 3 : 4406 // smaliParser.g:607:5: array_descriptor 4407 { 4408 root_0 = (CommonTree)adaptor.nil(); 4409 4410 4411 pushFollow(FOLLOW_array_descriptor_in_nonvoid_type_descriptor2374); 4412 array_descriptor102=array_descriptor(); 4413 state._fsp--; 4414 4415 adaptor.addChild(root_0, array_descriptor102.getTree()); 4416 4417 } 4418 break; 4419 4420 } 4421 retval.stop = input.LT(-1); 4422 4423 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4424 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4425 4426 } 4427 catch (RecognitionException re) { 4428 reportError(re); 4429 recover(input,re); 4430 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4431 } 4432 finally { 4433 // do for sure before leaving 4434 } 4435 return retval; 4436 } 4437 // $ANTLR end "nonvoid_type_descriptor" 4438 4439 4440 public static class reference_type_descriptor_return extends ParserRuleReturnScope { 4441 CommonTree tree; 4442 @Override getTree()4443 public CommonTree getTree() { return tree; } 4444 }; 4445 4446 4447 // $ANTLR start "reference_type_descriptor" 4448 // smaliParser.g:609:1: reference_type_descriptor : ( CLASS_DESCRIPTOR | array_descriptor ); reference_type_descriptor()4449 public final smaliParser.reference_type_descriptor_return reference_type_descriptor() throws RecognitionException { 4450 smaliParser.reference_type_descriptor_return retval = new smaliParser.reference_type_descriptor_return(); 4451 retval.start = input.LT(1); 4452 4453 CommonTree root_0 = null; 4454 4455 Token CLASS_DESCRIPTOR103=null; 4456 ParserRuleReturnScope array_descriptor104 =null; 4457 4458 CommonTree CLASS_DESCRIPTOR103_tree=null; 4459 4460 try { 4461 // smaliParser.g:610:3: ( CLASS_DESCRIPTOR | array_descriptor ) 4462 int alt17=2; 4463 int LA17_0 = input.LA(1); 4464 if ( (LA17_0==CLASS_DESCRIPTOR) ) { 4465 alt17=1; 4466 } 4467 else if ( (LA17_0==ARRAY_TYPE_PREFIX) ) { 4468 alt17=2; 4469 } 4470 4471 else { 4472 NoViableAltException nvae = 4473 new NoViableAltException("", 17, 0, input); 4474 throw nvae; 4475 } 4476 4477 switch (alt17) { 4478 case 1 : 4479 // smaliParser.g:610:5: CLASS_DESCRIPTOR 4480 { 4481 root_0 = (CommonTree)adaptor.nil(); 4482 4483 4484 CLASS_DESCRIPTOR103=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_reference_type_descriptor2384); 4485 CLASS_DESCRIPTOR103_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR103); 4486 adaptor.addChild(root_0, CLASS_DESCRIPTOR103_tree); 4487 4488 } 4489 break; 4490 case 2 : 4491 // smaliParser.g:611:5: array_descriptor 4492 { 4493 root_0 = (CommonTree)adaptor.nil(); 4494 4495 4496 pushFollow(FOLLOW_array_descriptor_in_reference_type_descriptor2390); 4497 array_descriptor104=array_descriptor(); 4498 state._fsp--; 4499 4500 adaptor.addChild(root_0, array_descriptor104.getTree()); 4501 4502 } 4503 break; 4504 4505 } 4506 retval.stop = input.LT(-1); 4507 4508 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4509 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4510 4511 } 4512 catch (RecognitionException re) { 4513 reportError(re); 4514 recover(input,re); 4515 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4516 } 4517 finally { 4518 // do for sure before leaving 4519 } 4520 return retval; 4521 } 4522 // $ANTLR end "reference_type_descriptor" 4523 4524 4525 public static class integer_literal_return extends ParserRuleReturnScope { 4526 CommonTree tree; 4527 @Override getTree()4528 public CommonTree getTree() { return tree; } 4529 }; 4530 4531 4532 // $ANTLR start "integer_literal" 4533 // smaliParser.g:613:1: integer_literal : ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] ); integer_literal()4534 public final smaliParser.integer_literal_return integer_literal() throws RecognitionException { 4535 smaliParser.integer_literal_return retval = new smaliParser.integer_literal_return(); 4536 retval.start = input.LT(1); 4537 4538 CommonTree root_0 = null; 4539 4540 Token POSITIVE_INTEGER_LITERAL105=null; 4541 Token NEGATIVE_INTEGER_LITERAL106=null; 4542 4543 CommonTree POSITIVE_INTEGER_LITERAL105_tree=null; 4544 CommonTree NEGATIVE_INTEGER_LITERAL106_tree=null; 4545 RewriteRuleTokenStream stream_NEGATIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token NEGATIVE_INTEGER_LITERAL"); 4546 RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL"); 4547 4548 try { 4549 // smaliParser.g:614:3: ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] ) 4550 int alt18=2; 4551 int LA18_0 = input.LA(1); 4552 if ( (LA18_0==POSITIVE_INTEGER_LITERAL) ) { 4553 alt18=1; 4554 } 4555 else if ( (LA18_0==NEGATIVE_INTEGER_LITERAL) ) { 4556 alt18=2; 4557 } 4558 4559 else { 4560 NoViableAltException nvae = 4561 new NoViableAltException("", 18, 0, input); 4562 throw nvae; 4563 } 4564 4565 switch (alt18) { 4566 case 1 : 4567 // smaliParser.g:614:5: POSITIVE_INTEGER_LITERAL 4568 { 4569 POSITIVE_INTEGER_LITERAL105=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2400); 4570 stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL105); 4571 4572 // AST REWRITE 4573 // elements: 4574 // token labels: 4575 // rule labels: retval 4576 // token list labels: 4577 // rule list labels: 4578 // wildcard labels: 4579 retval.tree = root_0; 4580 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 4581 4582 root_0 = (CommonTree)adaptor.nil(); 4583 // 614:30: -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] 4584 { 4585 adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, POSITIVE_INTEGER_LITERAL105)); 4586 } 4587 4588 4589 retval.tree = root_0; 4590 4591 } 4592 break; 4593 case 2 : 4594 // smaliParser.g:615:5: NEGATIVE_INTEGER_LITERAL 4595 { 4596 NEGATIVE_INTEGER_LITERAL106=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2411); 4597 stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL106); 4598 4599 // AST REWRITE 4600 // elements: 4601 // token labels: 4602 // rule labels: retval 4603 // token list labels: 4604 // rule list labels: 4605 // wildcard labels: 4606 retval.tree = root_0; 4607 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 4608 4609 root_0 = (CommonTree)adaptor.nil(); 4610 // 615:30: -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] 4611 { 4612 adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, NEGATIVE_INTEGER_LITERAL106)); 4613 } 4614 4615 4616 retval.tree = root_0; 4617 4618 } 4619 break; 4620 4621 } 4622 retval.stop = input.LT(-1); 4623 4624 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4625 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4626 4627 } 4628 catch (RecognitionException re) { 4629 reportError(re); 4630 recover(input,re); 4631 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4632 } 4633 finally { 4634 // do for sure before leaving 4635 } 4636 return retval; 4637 } 4638 // $ANTLR end "integer_literal" 4639 4640 4641 public static class float_literal_return extends ParserRuleReturnScope { 4642 CommonTree tree; 4643 @Override getTree()4644 public CommonTree getTree() { return tree; } 4645 }; 4646 4647 4648 // $ANTLR start "float_literal" 4649 // smaliParser.g:617:1: float_literal : ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL ); float_literal()4650 public final smaliParser.float_literal_return float_literal() throws RecognitionException { 4651 smaliParser.float_literal_return retval = new smaliParser.float_literal_return(); 4652 retval.start = input.LT(1); 4653 4654 CommonTree root_0 = null; 4655 4656 Token FLOAT_LITERAL_OR_ID107=null; 4657 Token FLOAT_LITERAL108=null; 4658 4659 CommonTree FLOAT_LITERAL_OR_ID107_tree=null; 4660 CommonTree FLOAT_LITERAL108_tree=null; 4661 RewriteRuleTokenStream stream_FLOAT_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token FLOAT_LITERAL_OR_ID"); 4662 4663 try { 4664 // smaliParser.g:618:3: ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL ) 4665 int alt19=2; 4666 int LA19_0 = input.LA(1); 4667 if ( (LA19_0==FLOAT_LITERAL_OR_ID) ) { 4668 alt19=1; 4669 } 4670 else if ( (LA19_0==FLOAT_LITERAL) ) { 4671 alt19=2; 4672 } 4673 4674 else { 4675 NoViableAltException nvae = 4676 new NoViableAltException("", 19, 0, input); 4677 throw nvae; 4678 } 4679 4680 switch (alt19) { 4681 case 1 : 4682 // smaliParser.g:618:5: FLOAT_LITERAL_OR_ID 4683 { 4684 FLOAT_LITERAL_OR_ID107=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2426); 4685 stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID107); 4686 4687 // AST REWRITE 4688 // elements: 4689 // token labels: 4690 // rule labels: retval 4691 // token list labels: 4692 // rule list labels: 4693 // wildcard labels: 4694 retval.tree = root_0; 4695 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 4696 4697 root_0 = (CommonTree)adaptor.nil(); 4698 // 618:25: -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] 4699 { 4700 adaptor.addChild(root_0, (CommonTree)adaptor.create(FLOAT_LITERAL, FLOAT_LITERAL_OR_ID107)); 4701 } 4702 4703 4704 retval.tree = root_0; 4705 4706 } 4707 break; 4708 case 2 : 4709 // smaliParser.g:619:5: FLOAT_LITERAL 4710 { 4711 root_0 = (CommonTree)adaptor.nil(); 4712 4713 4714 FLOAT_LITERAL108=(Token)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal2437); 4715 FLOAT_LITERAL108_tree = (CommonTree)adaptor.create(FLOAT_LITERAL108); 4716 adaptor.addChild(root_0, FLOAT_LITERAL108_tree); 4717 4718 } 4719 break; 4720 4721 } 4722 retval.stop = input.LT(-1); 4723 4724 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4725 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4726 4727 } 4728 catch (RecognitionException re) { 4729 reportError(re); 4730 recover(input,re); 4731 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4732 } 4733 finally { 4734 // do for sure before leaving 4735 } 4736 return retval; 4737 } 4738 // $ANTLR end "float_literal" 4739 4740 4741 public static class double_literal_return extends ParserRuleReturnScope { 4742 CommonTree tree; 4743 @Override getTree()4744 public CommonTree getTree() { return tree; } 4745 }; 4746 4747 4748 // $ANTLR start "double_literal" 4749 // smaliParser.g:621:1: double_literal : ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL ); double_literal()4750 public final smaliParser.double_literal_return double_literal() throws RecognitionException { 4751 smaliParser.double_literal_return retval = new smaliParser.double_literal_return(); 4752 retval.start = input.LT(1); 4753 4754 CommonTree root_0 = null; 4755 4756 Token DOUBLE_LITERAL_OR_ID109=null; 4757 Token DOUBLE_LITERAL110=null; 4758 4759 CommonTree DOUBLE_LITERAL_OR_ID109_tree=null; 4760 CommonTree DOUBLE_LITERAL110_tree=null; 4761 RewriteRuleTokenStream stream_DOUBLE_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token DOUBLE_LITERAL_OR_ID"); 4762 4763 try { 4764 // smaliParser.g:622:3: ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL ) 4765 int alt20=2; 4766 int LA20_0 = input.LA(1); 4767 if ( (LA20_0==DOUBLE_LITERAL_OR_ID) ) { 4768 alt20=1; 4769 } 4770 else if ( (LA20_0==DOUBLE_LITERAL) ) { 4771 alt20=2; 4772 } 4773 4774 else { 4775 NoViableAltException nvae = 4776 new NoViableAltException("", 20, 0, input); 4777 throw nvae; 4778 } 4779 4780 switch (alt20) { 4781 case 1 : 4782 // smaliParser.g:622:5: DOUBLE_LITERAL_OR_ID 4783 { 4784 DOUBLE_LITERAL_OR_ID109=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2447); 4785 stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID109); 4786 4787 // AST REWRITE 4788 // elements: 4789 // token labels: 4790 // rule labels: retval 4791 // token list labels: 4792 // rule list labels: 4793 // wildcard labels: 4794 retval.tree = root_0; 4795 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 4796 4797 root_0 = (CommonTree)adaptor.nil(); 4798 // 622:26: -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] 4799 { 4800 adaptor.addChild(root_0, (CommonTree)adaptor.create(DOUBLE_LITERAL, DOUBLE_LITERAL_OR_ID109)); 4801 } 4802 4803 4804 retval.tree = root_0; 4805 4806 } 4807 break; 4808 case 2 : 4809 // smaliParser.g:623:5: DOUBLE_LITERAL 4810 { 4811 root_0 = (CommonTree)adaptor.nil(); 4812 4813 4814 DOUBLE_LITERAL110=(Token)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal2458); 4815 DOUBLE_LITERAL110_tree = (CommonTree)adaptor.create(DOUBLE_LITERAL110); 4816 adaptor.addChild(root_0, DOUBLE_LITERAL110_tree); 4817 4818 } 4819 break; 4820 4821 } 4822 retval.stop = input.LT(-1); 4823 4824 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 4825 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 4826 4827 } 4828 catch (RecognitionException re) { 4829 reportError(re); 4830 recover(input,re); 4831 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 4832 } 4833 finally { 4834 // do for sure before leaving 4835 } 4836 return retval; 4837 } 4838 // $ANTLR end "double_literal" 4839 4840 4841 public static class literal_return extends ParserRuleReturnScope { 4842 CommonTree tree; 4843 @Override getTree()4844 public CommonTree getTree() { return tree; } 4845 }; 4846 4847 4848 // $ANTLR start "literal" 4849 // smaliParser.g:625:1: literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal ); literal()4850 public final smaliParser.literal_return literal() throws RecognitionException { 4851 smaliParser.literal_return retval = new smaliParser.literal_return(); 4852 retval.start = input.LT(1); 4853 4854 CommonTree root_0 = null; 4855 4856 Token LONG_LITERAL111=null; 4857 Token SHORT_LITERAL113=null; 4858 Token BYTE_LITERAL114=null; 4859 Token CHAR_LITERAL117=null; 4860 Token STRING_LITERAL118=null; 4861 Token BOOL_LITERAL119=null; 4862 Token NULL_LITERAL120=null; 4863 ParserRuleReturnScope integer_literal112 =null; 4864 ParserRuleReturnScope float_literal115 =null; 4865 ParserRuleReturnScope double_literal116 =null; 4866 ParserRuleReturnScope array_literal121 =null; 4867 ParserRuleReturnScope subannotation122 =null; 4868 ParserRuleReturnScope type_field_method_literal123 =null; 4869 ParserRuleReturnScope enum_literal124 =null; 4870 4871 CommonTree LONG_LITERAL111_tree=null; 4872 CommonTree SHORT_LITERAL113_tree=null; 4873 CommonTree BYTE_LITERAL114_tree=null; 4874 CommonTree CHAR_LITERAL117_tree=null; 4875 CommonTree STRING_LITERAL118_tree=null; 4876 CommonTree BOOL_LITERAL119_tree=null; 4877 CommonTree NULL_LITERAL120_tree=null; 4878 4879 try { 4880 // smaliParser.g:626:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal ) 4881 int alt21=14; 4882 switch ( input.LA(1) ) { 4883 case LONG_LITERAL: 4884 { 4885 alt21=1; 4886 } 4887 break; 4888 case POSITIVE_INTEGER_LITERAL: 4889 { 4890 int LA21_2 = input.LA(2); 4891 if ( (LA21_2==EOF||(LA21_2 >= ACCESS_SPEC && LA21_2 <= ANNOTATION_VISIBILITY)||LA21_2==BOOL_LITERAL||(LA21_2 >= CLASS_DIRECTIVE && LA21_2 <= CLOSE_BRACE)||LA21_2==COMMA||(LA21_2 >= DOUBLE_LITERAL_OR_ID && LA21_2 <= END_ANNOTATION_DIRECTIVE)||LA21_2==END_FIELD_DIRECTIVE||LA21_2==END_SUBANNOTATION_DIRECTIVE||LA21_2==FIELD_DIRECTIVE||(LA21_2 >= FLOAT_LITERAL_OR_ID && LA21_2 <= IMPLEMENTS_DIRECTIVE)||(LA21_2 >= INSTRUCTION_FORMAT10t && LA21_2 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_2==INSTRUCTION_FORMAT11x||LA21_2==INSTRUCTION_FORMAT12x_OR_ID||(LA21_2 >= INSTRUCTION_FORMAT21c_FIELD && LA21_2 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_2==INSTRUCTION_FORMAT21t||(LA21_2 >= INSTRUCTION_FORMAT22c_FIELD && LA21_2 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_2 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_2 <= INSTRUCTION_FORMAT22t)||LA21_2==INSTRUCTION_FORMAT23x||(LA21_2 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_2 <= INSTRUCTION_FORMAT31t)||(LA21_2 >= INSTRUCTION_FORMAT35c_METHOD && LA21_2 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_2 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_2 <= INSTRUCTION_FORMAT51l)||(LA21_2 >= METHOD_DIRECTIVE && LA21_2 <= NULL_LITERAL)||(LA21_2 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_2 <= PRIMITIVE_TYPE)||LA21_2==REGISTER||(LA21_2 >= SIMPLE_NAME && LA21_2 <= SOURCE_DIRECTIVE)||(LA21_2 >= SUPER_DIRECTIVE && LA21_2 <= VOID_TYPE)) ) { 4892 alt21=2; 4893 } 4894 else if ( (LA21_2==COLON||LA21_2==OPEN_PAREN) ) { 4895 alt21=13; 4896 } 4897 4898 else { 4899 int nvaeMark = input.mark(); 4900 try { 4901 input.consume(); 4902 NoViableAltException nvae = 4903 new NoViableAltException("", 21, 2, input); 4904 throw nvae; 4905 } finally { 4906 input.rewind(nvaeMark); 4907 } 4908 } 4909 4910 } 4911 break; 4912 case NEGATIVE_INTEGER_LITERAL: 4913 { 4914 int LA21_3 = input.LA(2); 4915 if ( (LA21_3==EOF||(LA21_3 >= ACCESS_SPEC && LA21_3 <= ANNOTATION_VISIBILITY)||LA21_3==BOOL_LITERAL||(LA21_3 >= CLASS_DIRECTIVE && LA21_3 <= CLOSE_BRACE)||LA21_3==COMMA||(LA21_3 >= DOUBLE_LITERAL_OR_ID && LA21_3 <= END_ANNOTATION_DIRECTIVE)||LA21_3==END_FIELD_DIRECTIVE||LA21_3==END_SUBANNOTATION_DIRECTIVE||LA21_3==FIELD_DIRECTIVE||(LA21_3 >= FLOAT_LITERAL_OR_ID && LA21_3 <= IMPLEMENTS_DIRECTIVE)||(LA21_3 >= INSTRUCTION_FORMAT10t && LA21_3 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_3==INSTRUCTION_FORMAT11x||LA21_3==INSTRUCTION_FORMAT12x_OR_ID||(LA21_3 >= INSTRUCTION_FORMAT21c_FIELD && LA21_3 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_3==INSTRUCTION_FORMAT21t||(LA21_3 >= INSTRUCTION_FORMAT22c_FIELD && LA21_3 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_3 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_3 <= INSTRUCTION_FORMAT22t)||LA21_3==INSTRUCTION_FORMAT23x||(LA21_3 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_3 <= INSTRUCTION_FORMAT31t)||(LA21_3 >= INSTRUCTION_FORMAT35c_METHOD && LA21_3 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_3 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_3 <= INSTRUCTION_FORMAT51l)||(LA21_3 >= METHOD_DIRECTIVE && LA21_3 <= NULL_LITERAL)||(LA21_3 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_3 <= PRIMITIVE_TYPE)||LA21_3==REGISTER||(LA21_3 >= SIMPLE_NAME && LA21_3 <= SOURCE_DIRECTIVE)||(LA21_3 >= SUPER_DIRECTIVE && LA21_3 <= VOID_TYPE)) ) { 4916 alt21=2; 4917 } 4918 else if ( (LA21_3==COLON||LA21_3==OPEN_PAREN) ) { 4919 alt21=13; 4920 } 4921 4922 else { 4923 int nvaeMark = input.mark(); 4924 try { 4925 input.consume(); 4926 NoViableAltException nvae = 4927 new NoViableAltException("", 21, 3, input); 4928 throw nvae; 4929 } finally { 4930 input.rewind(nvaeMark); 4931 } 4932 } 4933 4934 } 4935 break; 4936 case SHORT_LITERAL: 4937 { 4938 alt21=3; 4939 } 4940 break; 4941 case BYTE_LITERAL: 4942 { 4943 alt21=4; 4944 } 4945 break; 4946 case FLOAT_LITERAL_OR_ID: 4947 { 4948 int LA21_6 = input.LA(2); 4949 if ( (LA21_6==EOF||(LA21_6 >= ACCESS_SPEC && LA21_6 <= ANNOTATION_VISIBILITY)||LA21_6==BOOL_LITERAL||(LA21_6 >= CLASS_DIRECTIVE && LA21_6 <= CLOSE_BRACE)||LA21_6==COMMA||(LA21_6 >= DOUBLE_LITERAL_OR_ID && LA21_6 <= END_ANNOTATION_DIRECTIVE)||LA21_6==END_FIELD_DIRECTIVE||LA21_6==END_SUBANNOTATION_DIRECTIVE||LA21_6==FIELD_DIRECTIVE||(LA21_6 >= FLOAT_LITERAL_OR_ID && LA21_6 <= IMPLEMENTS_DIRECTIVE)||(LA21_6 >= INSTRUCTION_FORMAT10t && LA21_6 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_6==INSTRUCTION_FORMAT11x||LA21_6==INSTRUCTION_FORMAT12x_OR_ID||(LA21_6 >= INSTRUCTION_FORMAT21c_FIELD && LA21_6 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_6==INSTRUCTION_FORMAT21t||(LA21_6 >= INSTRUCTION_FORMAT22c_FIELD && LA21_6 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_6 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_6 <= INSTRUCTION_FORMAT22t)||LA21_6==INSTRUCTION_FORMAT23x||(LA21_6 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_6 <= INSTRUCTION_FORMAT31t)||(LA21_6 >= INSTRUCTION_FORMAT35c_METHOD && LA21_6 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_6 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_6 <= INSTRUCTION_FORMAT51l)||(LA21_6 >= METHOD_DIRECTIVE && LA21_6 <= NULL_LITERAL)||(LA21_6 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_6 <= PRIMITIVE_TYPE)||LA21_6==REGISTER||(LA21_6 >= SIMPLE_NAME && LA21_6 <= SOURCE_DIRECTIVE)||(LA21_6 >= SUPER_DIRECTIVE && LA21_6 <= VOID_TYPE)) ) { 4950 alt21=5; 4951 } 4952 else if ( (LA21_6==COLON||LA21_6==OPEN_PAREN) ) { 4953 alt21=13; 4954 } 4955 4956 else { 4957 int nvaeMark = input.mark(); 4958 try { 4959 input.consume(); 4960 NoViableAltException nvae = 4961 new NoViableAltException("", 21, 6, input); 4962 throw nvae; 4963 } finally { 4964 input.rewind(nvaeMark); 4965 } 4966 } 4967 4968 } 4969 break; 4970 case FLOAT_LITERAL: 4971 { 4972 alt21=5; 4973 } 4974 break; 4975 case DOUBLE_LITERAL_OR_ID: 4976 { 4977 int LA21_8 = input.LA(2); 4978 if ( (LA21_8==EOF||(LA21_8 >= ACCESS_SPEC && LA21_8 <= ANNOTATION_VISIBILITY)||LA21_8==BOOL_LITERAL||(LA21_8 >= CLASS_DIRECTIVE && LA21_8 <= CLOSE_BRACE)||LA21_8==COMMA||(LA21_8 >= DOUBLE_LITERAL_OR_ID && LA21_8 <= END_ANNOTATION_DIRECTIVE)||LA21_8==END_FIELD_DIRECTIVE||LA21_8==END_SUBANNOTATION_DIRECTIVE||LA21_8==FIELD_DIRECTIVE||(LA21_8 >= FLOAT_LITERAL_OR_ID && LA21_8 <= IMPLEMENTS_DIRECTIVE)||(LA21_8 >= INSTRUCTION_FORMAT10t && LA21_8 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_8==INSTRUCTION_FORMAT11x||LA21_8==INSTRUCTION_FORMAT12x_OR_ID||(LA21_8 >= INSTRUCTION_FORMAT21c_FIELD && LA21_8 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_8==INSTRUCTION_FORMAT21t||(LA21_8 >= INSTRUCTION_FORMAT22c_FIELD && LA21_8 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_8 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_8 <= INSTRUCTION_FORMAT22t)||LA21_8==INSTRUCTION_FORMAT23x||(LA21_8 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_8 <= INSTRUCTION_FORMAT31t)||(LA21_8 >= INSTRUCTION_FORMAT35c_METHOD && LA21_8 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_8 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_8 <= INSTRUCTION_FORMAT51l)||(LA21_8 >= METHOD_DIRECTIVE && LA21_8 <= NULL_LITERAL)||(LA21_8 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_8 <= PRIMITIVE_TYPE)||LA21_8==REGISTER||(LA21_8 >= SIMPLE_NAME && LA21_8 <= SOURCE_DIRECTIVE)||(LA21_8 >= SUPER_DIRECTIVE && LA21_8 <= VOID_TYPE)) ) { 4979 alt21=6; 4980 } 4981 else if ( (LA21_8==COLON||LA21_8==OPEN_PAREN) ) { 4982 alt21=13; 4983 } 4984 4985 else { 4986 int nvaeMark = input.mark(); 4987 try { 4988 input.consume(); 4989 NoViableAltException nvae = 4990 new NoViableAltException("", 21, 8, input); 4991 throw nvae; 4992 } finally { 4993 input.rewind(nvaeMark); 4994 } 4995 } 4996 4997 } 4998 break; 4999 case DOUBLE_LITERAL: 5000 { 5001 alt21=6; 5002 } 5003 break; 5004 case CHAR_LITERAL: 5005 { 5006 alt21=7; 5007 } 5008 break; 5009 case STRING_LITERAL: 5010 { 5011 alt21=8; 5012 } 5013 break; 5014 case BOOL_LITERAL: 5015 { 5016 int LA21_12 = input.LA(2); 5017 if ( (LA21_12==EOF||(LA21_12 >= ACCESS_SPEC && LA21_12 <= ANNOTATION_VISIBILITY)||LA21_12==BOOL_LITERAL||(LA21_12 >= CLASS_DIRECTIVE && LA21_12 <= CLOSE_BRACE)||LA21_12==COMMA||(LA21_12 >= DOUBLE_LITERAL_OR_ID && LA21_12 <= END_ANNOTATION_DIRECTIVE)||LA21_12==END_FIELD_DIRECTIVE||LA21_12==END_SUBANNOTATION_DIRECTIVE||LA21_12==FIELD_DIRECTIVE||(LA21_12 >= FLOAT_LITERAL_OR_ID && LA21_12 <= IMPLEMENTS_DIRECTIVE)||(LA21_12 >= INSTRUCTION_FORMAT10t && LA21_12 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_12==INSTRUCTION_FORMAT11x||LA21_12==INSTRUCTION_FORMAT12x_OR_ID||(LA21_12 >= INSTRUCTION_FORMAT21c_FIELD && LA21_12 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_12==INSTRUCTION_FORMAT21t||(LA21_12 >= INSTRUCTION_FORMAT22c_FIELD && LA21_12 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_12 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_12 <= INSTRUCTION_FORMAT22t)||LA21_12==INSTRUCTION_FORMAT23x||(LA21_12 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_12 <= INSTRUCTION_FORMAT31t)||(LA21_12 >= INSTRUCTION_FORMAT35c_METHOD && LA21_12 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_12 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_12 <= INSTRUCTION_FORMAT51l)||(LA21_12 >= METHOD_DIRECTIVE && LA21_12 <= NULL_LITERAL)||(LA21_12 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_12 <= PRIMITIVE_TYPE)||LA21_12==REGISTER||(LA21_12 >= SIMPLE_NAME && LA21_12 <= SOURCE_DIRECTIVE)||(LA21_12 >= SUPER_DIRECTIVE && LA21_12 <= VOID_TYPE)) ) { 5018 alt21=9; 5019 } 5020 else if ( (LA21_12==COLON||LA21_12==OPEN_PAREN) ) { 5021 alt21=13; 5022 } 5023 5024 else { 5025 int nvaeMark = input.mark(); 5026 try { 5027 input.consume(); 5028 NoViableAltException nvae = 5029 new NoViableAltException("", 21, 12, input); 5030 throw nvae; 5031 } finally { 5032 input.rewind(nvaeMark); 5033 } 5034 } 5035 5036 } 5037 break; 5038 case NULL_LITERAL: 5039 { 5040 int LA21_13 = input.LA(2); 5041 if ( (LA21_13==EOF||(LA21_13 >= ACCESS_SPEC && LA21_13 <= ANNOTATION_VISIBILITY)||LA21_13==BOOL_LITERAL||(LA21_13 >= CLASS_DIRECTIVE && LA21_13 <= CLOSE_BRACE)||LA21_13==COMMA||(LA21_13 >= DOUBLE_LITERAL_OR_ID && LA21_13 <= END_ANNOTATION_DIRECTIVE)||LA21_13==END_FIELD_DIRECTIVE||LA21_13==END_SUBANNOTATION_DIRECTIVE||LA21_13==FIELD_DIRECTIVE||(LA21_13 >= FLOAT_LITERAL_OR_ID && LA21_13 <= IMPLEMENTS_DIRECTIVE)||(LA21_13 >= INSTRUCTION_FORMAT10t && LA21_13 <= INSTRUCTION_FORMAT10x_ODEX)||LA21_13==INSTRUCTION_FORMAT11x||LA21_13==INSTRUCTION_FORMAT12x_OR_ID||(LA21_13 >= INSTRUCTION_FORMAT21c_FIELD && LA21_13 <= INSTRUCTION_FORMAT21c_TYPE)||LA21_13==INSTRUCTION_FORMAT21t||(LA21_13 >= INSTRUCTION_FORMAT22c_FIELD && LA21_13 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA21_13 >= INSTRUCTION_FORMAT22s_OR_ID && LA21_13 <= INSTRUCTION_FORMAT22t)||LA21_13==INSTRUCTION_FORMAT23x||(LA21_13 >= INSTRUCTION_FORMAT31i_OR_ID && LA21_13 <= INSTRUCTION_FORMAT31t)||(LA21_13 >= INSTRUCTION_FORMAT35c_METHOD && LA21_13 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA21_13 >= INSTRUCTION_FORMAT45cc_METHOD && LA21_13 <= INSTRUCTION_FORMAT51l)||(LA21_13 >= METHOD_DIRECTIVE && LA21_13 <= NULL_LITERAL)||(LA21_13 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA21_13 <= PRIMITIVE_TYPE)||LA21_13==REGISTER||(LA21_13 >= SIMPLE_NAME && LA21_13 <= SOURCE_DIRECTIVE)||(LA21_13 >= SUPER_DIRECTIVE && LA21_13 <= VOID_TYPE)) ) { 5042 alt21=10; 5043 } 5044 else if ( (LA21_13==COLON||LA21_13==OPEN_PAREN) ) { 5045 alt21=13; 5046 } 5047 5048 else { 5049 int nvaeMark = input.mark(); 5050 try { 5051 input.consume(); 5052 NoViableAltException nvae = 5053 new NoViableAltException("", 21, 13, input); 5054 throw nvae; 5055 } finally { 5056 input.rewind(nvaeMark); 5057 } 5058 } 5059 5060 } 5061 break; 5062 case OPEN_BRACE: 5063 { 5064 alt21=11; 5065 } 5066 break; 5067 case SUBANNOTATION_DIRECTIVE: 5068 { 5069 alt21=12; 5070 } 5071 break; 5072 case ACCESS_SPEC: 5073 case ANNOTATION_VISIBILITY: 5074 case ARRAY_TYPE_PREFIX: 5075 case CLASS_DESCRIPTOR: 5076 case INSTRUCTION_FORMAT10t: 5077 case INSTRUCTION_FORMAT10x: 5078 case INSTRUCTION_FORMAT10x_ODEX: 5079 case INSTRUCTION_FORMAT11x: 5080 case INSTRUCTION_FORMAT12x_OR_ID: 5081 case INSTRUCTION_FORMAT21c_FIELD: 5082 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 5083 case INSTRUCTION_FORMAT21c_STRING: 5084 case INSTRUCTION_FORMAT21c_TYPE: 5085 case INSTRUCTION_FORMAT21t: 5086 case INSTRUCTION_FORMAT22c_FIELD: 5087 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 5088 case INSTRUCTION_FORMAT22c_TYPE: 5089 case INSTRUCTION_FORMAT22cs_FIELD: 5090 case INSTRUCTION_FORMAT22s_OR_ID: 5091 case INSTRUCTION_FORMAT22t: 5092 case INSTRUCTION_FORMAT23x: 5093 case INSTRUCTION_FORMAT31i_OR_ID: 5094 case INSTRUCTION_FORMAT31t: 5095 case INSTRUCTION_FORMAT35c_METHOD: 5096 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 5097 case INSTRUCTION_FORMAT35c_TYPE: 5098 case INSTRUCTION_FORMAT35mi_METHOD: 5099 case INSTRUCTION_FORMAT35ms_METHOD: 5100 case INSTRUCTION_FORMAT45cc_METHOD: 5101 case INSTRUCTION_FORMAT4rcc_METHOD: 5102 case INSTRUCTION_FORMAT51l: 5103 case MEMBER_NAME: 5104 case PARAM_LIST_OR_ID_PRIMITIVE_TYPE: 5105 case PRIMITIVE_TYPE: 5106 case REGISTER: 5107 case SIMPLE_NAME: 5108 case VERIFICATION_ERROR_TYPE: 5109 case VOID_TYPE: 5110 { 5111 alt21=13; 5112 } 5113 break; 5114 case ENUM_DIRECTIVE: 5115 { 5116 alt21=14; 5117 } 5118 break; 5119 default: 5120 NoViableAltException nvae = 5121 new NoViableAltException("", 21, 0, input); 5122 throw nvae; 5123 } 5124 switch (alt21) { 5125 case 1 : 5126 // smaliParser.g:626:5: LONG_LITERAL 5127 { 5128 root_0 = (CommonTree)adaptor.nil(); 5129 5130 5131 LONG_LITERAL111=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_literal2468); 5132 LONG_LITERAL111_tree = (CommonTree)adaptor.create(LONG_LITERAL111); 5133 adaptor.addChild(root_0, LONG_LITERAL111_tree); 5134 5135 } 5136 break; 5137 case 2 : 5138 // smaliParser.g:627:5: integer_literal 5139 { 5140 root_0 = (CommonTree)adaptor.nil(); 5141 5142 5143 pushFollow(FOLLOW_integer_literal_in_literal2474); 5144 integer_literal112=integer_literal(); 5145 state._fsp--; 5146 5147 adaptor.addChild(root_0, integer_literal112.getTree()); 5148 5149 } 5150 break; 5151 case 3 : 5152 // smaliParser.g:628:5: SHORT_LITERAL 5153 { 5154 root_0 = (CommonTree)adaptor.nil(); 5155 5156 5157 SHORT_LITERAL113=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_literal2480); 5158 SHORT_LITERAL113_tree = (CommonTree)adaptor.create(SHORT_LITERAL113); 5159 adaptor.addChild(root_0, SHORT_LITERAL113_tree); 5160 5161 } 5162 break; 5163 case 4 : 5164 // smaliParser.g:629:5: BYTE_LITERAL 5165 { 5166 root_0 = (CommonTree)adaptor.nil(); 5167 5168 5169 BYTE_LITERAL114=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_literal2486); 5170 BYTE_LITERAL114_tree = (CommonTree)adaptor.create(BYTE_LITERAL114); 5171 adaptor.addChild(root_0, BYTE_LITERAL114_tree); 5172 5173 } 5174 break; 5175 case 5 : 5176 // smaliParser.g:630:5: float_literal 5177 { 5178 root_0 = (CommonTree)adaptor.nil(); 5179 5180 5181 pushFollow(FOLLOW_float_literal_in_literal2492); 5182 float_literal115=float_literal(); 5183 state._fsp--; 5184 5185 adaptor.addChild(root_0, float_literal115.getTree()); 5186 5187 } 5188 break; 5189 case 6 : 5190 // smaliParser.g:631:5: double_literal 5191 { 5192 root_0 = (CommonTree)adaptor.nil(); 5193 5194 5195 pushFollow(FOLLOW_double_literal_in_literal2498); 5196 double_literal116=double_literal(); 5197 state._fsp--; 5198 5199 adaptor.addChild(root_0, double_literal116.getTree()); 5200 5201 } 5202 break; 5203 case 7 : 5204 // smaliParser.g:632:5: CHAR_LITERAL 5205 { 5206 root_0 = (CommonTree)adaptor.nil(); 5207 5208 5209 CHAR_LITERAL117=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_literal2504); 5210 CHAR_LITERAL117_tree = (CommonTree)adaptor.create(CHAR_LITERAL117); 5211 adaptor.addChild(root_0, CHAR_LITERAL117_tree); 5212 5213 } 5214 break; 5215 case 8 : 5216 // smaliParser.g:633:5: STRING_LITERAL 5217 { 5218 root_0 = (CommonTree)adaptor.nil(); 5219 5220 5221 STRING_LITERAL118=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_literal2510); 5222 STRING_LITERAL118_tree = (CommonTree)adaptor.create(STRING_LITERAL118); 5223 adaptor.addChild(root_0, STRING_LITERAL118_tree); 5224 5225 } 5226 break; 5227 case 9 : 5228 // smaliParser.g:634:5: BOOL_LITERAL 5229 { 5230 root_0 = (CommonTree)adaptor.nil(); 5231 5232 5233 BOOL_LITERAL119=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_literal2516); 5234 BOOL_LITERAL119_tree = (CommonTree)adaptor.create(BOOL_LITERAL119); 5235 adaptor.addChild(root_0, BOOL_LITERAL119_tree); 5236 5237 } 5238 break; 5239 case 10 : 5240 // smaliParser.g:635:5: NULL_LITERAL 5241 { 5242 root_0 = (CommonTree)adaptor.nil(); 5243 5244 5245 NULL_LITERAL120=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal2522); 5246 NULL_LITERAL120_tree = (CommonTree)adaptor.create(NULL_LITERAL120); 5247 adaptor.addChild(root_0, NULL_LITERAL120_tree); 5248 5249 } 5250 break; 5251 case 11 : 5252 // smaliParser.g:636:5: array_literal 5253 { 5254 root_0 = (CommonTree)adaptor.nil(); 5255 5256 5257 pushFollow(FOLLOW_array_literal_in_literal2528); 5258 array_literal121=array_literal(); 5259 state._fsp--; 5260 5261 adaptor.addChild(root_0, array_literal121.getTree()); 5262 5263 } 5264 break; 5265 case 12 : 5266 // smaliParser.g:637:5: subannotation 5267 { 5268 root_0 = (CommonTree)adaptor.nil(); 5269 5270 5271 pushFollow(FOLLOW_subannotation_in_literal2534); 5272 subannotation122=subannotation(); 5273 state._fsp--; 5274 5275 adaptor.addChild(root_0, subannotation122.getTree()); 5276 5277 } 5278 break; 5279 case 13 : 5280 // smaliParser.g:638:5: type_field_method_literal 5281 { 5282 root_0 = (CommonTree)adaptor.nil(); 5283 5284 5285 pushFollow(FOLLOW_type_field_method_literal_in_literal2540); 5286 type_field_method_literal123=type_field_method_literal(); 5287 state._fsp--; 5288 5289 adaptor.addChild(root_0, type_field_method_literal123.getTree()); 5290 5291 } 5292 break; 5293 case 14 : 5294 // smaliParser.g:639:5: enum_literal 5295 { 5296 root_0 = (CommonTree)adaptor.nil(); 5297 5298 5299 pushFollow(FOLLOW_enum_literal_in_literal2546); 5300 enum_literal124=enum_literal(); 5301 state._fsp--; 5302 5303 adaptor.addChild(root_0, enum_literal124.getTree()); 5304 5305 } 5306 break; 5307 5308 } 5309 retval.stop = input.LT(-1); 5310 5311 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 5312 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 5313 5314 } 5315 catch (RecognitionException re) { 5316 reportError(re); 5317 recover(input,re); 5318 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 5319 } 5320 finally { 5321 // do for sure before leaving 5322 } 5323 return retval; 5324 } 5325 // $ANTLR end "literal" 5326 5327 5328 public static class parsed_integer_literal_return extends ParserRuleReturnScope { 5329 public int value; 5330 CommonTree tree; 5331 @Override getTree()5332 public CommonTree getTree() { return tree; } 5333 }; 5334 5335 5336 // $ANTLR start "parsed_integer_literal" 5337 // smaliParser.g:641:1: parsed_integer_literal returns [int value] : integer_literal ; parsed_integer_literal()5338 public final smaliParser.parsed_integer_literal_return parsed_integer_literal() throws RecognitionException { 5339 smaliParser.parsed_integer_literal_return retval = new smaliParser.parsed_integer_literal_return(); 5340 retval.start = input.LT(1); 5341 5342 CommonTree root_0 = null; 5343 5344 ParserRuleReturnScope integer_literal125 =null; 5345 5346 5347 try { 5348 // smaliParser.g:642:3: ( integer_literal ) 5349 // smaliParser.g:642:5: integer_literal 5350 { 5351 root_0 = (CommonTree)adaptor.nil(); 5352 5353 5354 pushFollow(FOLLOW_integer_literal_in_parsed_integer_literal2559); 5355 integer_literal125=integer_literal(); 5356 state._fsp--; 5357 5358 adaptor.addChild(root_0, integer_literal125.getTree()); 5359 5360 retval.value = LiteralTools.parseInt((integer_literal125!=null?input.toString(integer_literal125.start,integer_literal125.stop):null)); 5361 } 5362 5363 retval.stop = input.LT(-1); 5364 5365 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 5366 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 5367 5368 } 5369 catch (RecognitionException re) { 5370 reportError(re); 5371 recover(input,re); 5372 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 5373 } 5374 finally { 5375 // do for sure before leaving 5376 } 5377 return retval; 5378 } 5379 // $ANTLR end "parsed_integer_literal" 5380 5381 5382 public static class integral_literal_return extends ParserRuleReturnScope { 5383 CommonTree tree; 5384 @Override getTree()5385 public CommonTree getTree() { return tree; } 5386 }; 5387 5388 5389 // $ANTLR start "integral_literal" 5390 // smaliParser.g:644:1: integral_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL ); integral_literal()5391 public final smaliParser.integral_literal_return integral_literal() throws RecognitionException { 5392 smaliParser.integral_literal_return retval = new smaliParser.integral_literal_return(); 5393 retval.start = input.LT(1); 5394 5395 CommonTree root_0 = null; 5396 5397 Token LONG_LITERAL126=null; 5398 Token SHORT_LITERAL128=null; 5399 Token CHAR_LITERAL129=null; 5400 Token BYTE_LITERAL130=null; 5401 ParserRuleReturnScope integer_literal127 =null; 5402 5403 CommonTree LONG_LITERAL126_tree=null; 5404 CommonTree SHORT_LITERAL128_tree=null; 5405 CommonTree CHAR_LITERAL129_tree=null; 5406 CommonTree BYTE_LITERAL130_tree=null; 5407 5408 try { 5409 // smaliParser.g:645:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL ) 5410 int alt22=5; 5411 switch ( input.LA(1) ) { 5412 case LONG_LITERAL: 5413 { 5414 alt22=1; 5415 } 5416 break; 5417 case NEGATIVE_INTEGER_LITERAL: 5418 case POSITIVE_INTEGER_LITERAL: 5419 { 5420 alt22=2; 5421 } 5422 break; 5423 case SHORT_LITERAL: 5424 { 5425 alt22=3; 5426 } 5427 break; 5428 case CHAR_LITERAL: 5429 { 5430 alt22=4; 5431 } 5432 break; 5433 case BYTE_LITERAL: 5434 { 5435 alt22=5; 5436 } 5437 break; 5438 default: 5439 NoViableAltException nvae = 5440 new NoViableAltException("", 22, 0, input); 5441 throw nvae; 5442 } 5443 switch (alt22) { 5444 case 1 : 5445 // smaliParser.g:645:5: LONG_LITERAL 5446 { 5447 root_0 = (CommonTree)adaptor.nil(); 5448 5449 5450 LONG_LITERAL126=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_integral_literal2571); 5451 LONG_LITERAL126_tree = (CommonTree)adaptor.create(LONG_LITERAL126); 5452 adaptor.addChild(root_0, LONG_LITERAL126_tree); 5453 5454 } 5455 break; 5456 case 2 : 5457 // smaliParser.g:646:5: integer_literal 5458 { 5459 root_0 = (CommonTree)adaptor.nil(); 5460 5461 5462 pushFollow(FOLLOW_integer_literal_in_integral_literal2577); 5463 integer_literal127=integer_literal(); 5464 state._fsp--; 5465 5466 adaptor.addChild(root_0, integer_literal127.getTree()); 5467 5468 } 5469 break; 5470 case 3 : 5471 // smaliParser.g:647:5: SHORT_LITERAL 5472 { 5473 root_0 = (CommonTree)adaptor.nil(); 5474 5475 5476 SHORT_LITERAL128=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_integral_literal2583); 5477 SHORT_LITERAL128_tree = (CommonTree)adaptor.create(SHORT_LITERAL128); 5478 adaptor.addChild(root_0, SHORT_LITERAL128_tree); 5479 5480 } 5481 break; 5482 case 4 : 5483 // smaliParser.g:648:5: CHAR_LITERAL 5484 { 5485 root_0 = (CommonTree)adaptor.nil(); 5486 5487 5488 CHAR_LITERAL129=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_integral_literal2589); 5489 CHAR_LITERAL129_tree = (CommonTree)adaptor.create(CHAR_LITERAL129); 5490 adaptor.addChild(root_0, CHAR_LITERAL129_tree); 5491 5492 } 5493 break; 5494 case 5 : 5495 // smaliParser.g:649:5: BYTE_LITERAL 5496 { 5497 root_0 = (CommonTree)adaptor.nil(); 5498 5499 5500 BYTE_LITERAL130=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_integral_literal2595); 5501 BYTE_LITERAL130_tree = (CommonTree)adaptor.create(BYTE_LITERAL130); 5502 adaptor.addChild(root_0, BYTE_LITERAL130_tree); 5503 5504 } 5505 break; 5506 5507 } 5508 retval.stop = input.LT(-1); 5509 5510 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 5511 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 5512 5513 } 5514 catch (RecognitionException re) { 5515 reportError(re); 5516 recover(input,re); 5517 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 5518 } 5519 finally { 5520 // do for sure before leaving 5521 } 5522 return retval; 5523 } 5524 // $ANTLR end "integral_literal" 5525 5526 5527 public static class fixed_32bit_literal_return extends ParserRuleReturnScope { 5528 CommonTree tree; 5529 @Override getTree()5530 public CommonTree getTree() { return tree; } 5531 }; 5532 5533 5534 // $ANTLR start "fixed_32bit_literal" 5535 // smaliParser.g:651:1: fixed_32bit_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL ); fixed_32bit_literal()5536 public final smaliParser.fixed_32bit_literal_return fixed_32bit_literal() throws RecognitionException { 5537 smaliParser.fixed_32bit_literal_return retval = new smaliParser.fixed_32bit_literal_return(); 5538 retval.start = input.LT(1); 5539 5540 CommonTree root_0 = null; 5541 5542 Token LONG_LITERAL131=null; 5543 Token SHORT_LITERAL133=null; 5544 Token BYTE_LITERAL134=null; 5545 Token CHAR_LITERAL136=null; 5546 Token BOOL_LITERAL137=null; 5547 ParserRuleReturnScope integer_literal132 =null; 5548 ParserRuleReturnScope float_literal135 =null; 5549 5550 CommonTree LONG_LITERAL131_tree=null; 5551 CommonTree SHORT_LITERAL133_tree=null; 5552 CommonTree BYTE_LITERAL134_tree=null; 5553 CommonTree CHAR_LITERAL136_tree=null; 5554 CommonTree BOOL_LITERAL137_tree=null; 5555 5556 try { 5557 // smaliParser.g:652:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL ) 5558 int alt23=7; 5559 switch ( input.LA(1) ) { 5560 case LONG_LITERAL: 5561 { 5562 alt23=1; 5563 } 5564 break; 5565 case NEGATIVE_INTEGER_LITERAL: 5566 case POSITIVE_INTEGER_LITERAL: 5567 { 5568 alt23=2; 5569 } 5570 break; 5571 case SHORT_LITERAL: 5572 { 5573 alt23=3; 5574 } 5575 break; 5576 case BYTE_LITERAL: 5577 { 5578 alt23=4; 5579 } 5580 break; 5581 case FLOAT_LITERAL: 5582 case FLOAT_LITERAL_OR_ID: 5583 { 5584 alt23=5; 5585 } 5586 break; 5587 case CHAR_LITERAL: 5588 { 5589 alt23=6; 5590 } 5591 break; 5592 case BOOL_LITERAL: 5593 { 5594 alt23=7; 5595 } 5596 break; 5597 default: 5598 NoViableAltException nvae = 5599 new NoViableAltException("", 23, 0, input); 5600 throw nvae; 5601 } 5602 switch (alt23) { 5603 case 1 : 5604 // smaliParser.g:652:5: LONG_LITERAL 5605 { 5606 root_0 = (CommonTree)adaptor.nil(); 5607 5608 5609 LONG_LITERAL131=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2605); 5610 LONG_LITERAL131_tree = (CommonTree)adaptor.create(LONG_LITERAL131); 5611 adaptor.addChild(root_0, LONG_LITERAL131_tree); 5612 5613 } 5614 break; 5615 case 2 : 5616 // smaliParser.g:653:5: integer_literal 5617 { 5618 root_0 = (CommonTree)adaptor.nil(); 5619 5620 5621 pushFollow(FOLLOW_integer_literal_in_fixed_32bit_literal2611); 5622 integer_literal132=integer_literal(); 5623 state._fsp--; 5624 5625 adaptor.addChild(root_0, integer_literal132.getTree()); 5626 5627 } 5628 break; 5629 case 3 : 5630 // smaliParser.g:654:5: SHORT_LITERAL 5631 { 5632 root_0 = (CommonTree)adaptor.nil(); 5633 5634 5635 SHORT_LITERAL133=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2617); 5636 SHORT_LITERAL133_tree = (CommonTree)adaptor.create(SHORT_LITERAL133); 5637 adaptor.addChild(root_0, SHORT_LITERAL133_tree); 5638 5639 } 5640 break; 5641 case 4 : 5642 // smaliParser.g:655:5: BYTE_LITERAL 5643 { 5644 root_0 = (CommonTree)adaptor.nil(); 5645 5646 5647 BYTE_LITERAL134=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2623); 5648 BYTE_LITERAL134_tree = (CommonTree)adaptor.create(BYTE_LITERAL134); 5649 adaptor.addChild(root_0, BYTE_LITERAL134_tree); 5650 5651 } 5652 break; 5653 case 5 : 5654 // smaliParser.g:656:5: float_literal 5655 { 5656 root_0 = (CommonTree)adaptor.nil(); 5657 5658 5659 pushFollow(FOLLOW_float_literal_in_fixed_32bit_literal2629); 5660 float_literal135=float_literal(); 5661 state._fsp--; 5662 5663 adaptor.addChild(root_0, float_literal135.getTree()); 5664 5665 } 5666 break; 5667 case 6 : 5668 // smaliParser.g:657:5: CHAR_LITERAL 5669 { 5670 root_0 = (CommonTree)adaptor.nil(); 5671 5672 5673 CHAR_LITERAL136=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2635); 5674 CHAR_LITERAL136_tree = (CommonTree)adaptor.create(CHAR_LITERAL136); 5675 adaptor.addChild(root_0, CHAR_LITERAL136_tree); 5676 5677 } 5678 break; 5679 case 7 : 5680 // smaliParser.g:658:5: BOOL_LITERAL 5681 { 5682 root_0 = (CommonTree)adaptor.nil(); 5683 5684 5685 BOOL_LITERAL137=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2641); 5686 BOOL_LITERAL137_tree = (CommonTree)adaptor.create(BOOL_LITERAL137); 5687 adaptor.addChild(root_0, BOOL_LITERAL137_tree); 5688 5689 } 5690 break; 5691 5692 } 5693 retval.stop = input.LT(-1); 5694 5695 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 5696 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 5697 5698 } 5699 catch (RecognitionException re) { 5700 reportError(re); 5701 recover(input,re); 5702 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 5703 } 5704 finally { 5705 // do for sure before leaving 5706 } 5707 return retval; 5708 } 5709 // $ANTLR end "fixed_32bit_literal" 5710 5711 5712 public static class fixed_literal_return extends ParserRuleReturnScope { 5713 CommonTree tree; 5714 @Override getTree()5715 public CommonTree getTree() { return tree; } 5716 }; 5717 5718 5719 // $ANTLR start "fixed_literal" 5720 // smaliParser.g:660:1: fixed_literal : ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL ); fixed_literal()5721 public final smaliParser.fixed_literal_return fixed_literal() throws RecognitionException { 5722 smaliParser.fixed_literal_return retval = new smaliParser.fixed_literal_return(); 5723 retval.start = input.LT(1); 5724 5725 CommonTree root_0 = null; 5726 5727 Token LONG_LITERAL139=null; 5728 Token SHORT_LITERAL140=null; 5729 Token BYTE_LITERAL141=null; 5730 Token CHAR_LITERAL144=null; 5731 Token BOOL_LITERAL145=null; 5732 ParserRuleReturnScope integer_literal138 =null; 5733 ParserRuleReturnScope float_literal142 =null; 5734 ParserRuleReturnScope double_literal143 =null; 5735 5736 CommonTree LONG_LITERAL139_tree=null; 5737 CommonTree SHORT_LITERAL140_tree=null; 5738 CommonTree BYTE_LITERAL141_tree=null; 5739 CommonTree CHAR_LITERAL144_tree=null; 5740 CommonTree BOOL_LITERAL145_tree=null; 5741 5742 try { 5743 // smaliParser.g:661:3: ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL ) 5744 int alt24=8; 5745 switch ( input.LA(1) ) { 5746 case NEGATIVE_INTEGER_LITERAL: 5747 case POSITIVE_INTEGER_LITERAL: 5748 { 5749 alt24=1; 5750 } 5751 break; 5752 case LONG_LITERAL: 5753 { 5754 alt24=2; 5755 } 5756 break; 5757 case SHORT_LITERAL: 5758 { 5759 alt24=3; 5760 } 5761 break; 5762 case BYTE_LITERAL: 5763 { 5764 alt24=4; 5765 } 5766 break; 5767 case FLOAT_LITERAL: 5768 case FLOAT_LITERAL_OR_ID: 5769 { 5770 alt24=5; 5771 } 5772 break; 5773 case DOUBLE_LITERAL: 5774 case DOUBLE_LITERAL_OR_ID: 5775 { 5776 alt24=6; 5777 } 5778 break; 5779 case CHAR_LITERAL: 5780 { 5781 alt24=7; 5782 } 5783 break; 5784 case BOOL_LITERAL: 5785 { 5786 alt24=8; 5787 } 5788 break; 5789 default: 5790 NoViableAltException nvae = 5791 new NoViableAltException("", 24, 0, input); 5792 throw nvae; 5793 } 5794 switch (alt24) { 5795 case 1 : 5796 // smaliParser.g:661:5: integer_literal 5797 { 5798 root_0 = (CommonTree)adaptor.nil(); 5799 5800 5801 pushFollow(FOLLOW_integer_literal_in_fixed_literal2651); 5802 integer_literal138=integer_literal(); 5803 state._fsp--; 5804 5805 adaptor.addChild(root_0, integer_literal138.getTree()); 5806 5807 } 5808 break; 5809 case 2 : 5810 // smaliParser.g:662:5: LONG_LITERAL 5811 { 5812 root_0 = (CommonTree)adaptor.nil(); 5813 5814 5815 LONG_LITERAL139=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_literal2657); 5816 LONG_LITERAL139_tree = (CommonTree)adaptor.create(LONG_LITERAL139); 5817 adaptor.addChild(root_0, LONG_LITERAL139_tree); 5818 5819 } 5820 break; 5821 case 3 : 5822 // smaliParser.g:663:5: SHORT_LITERAL 5823 { 5824 root_0 = (CommonTree)adaptor.nil(); 5825 5826 5827 SHORT_LITERAL140=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_literal2663); 5828 SHORT_LITERAL140_tree = (CommonTree)adaptor.create(SHORT_LITERAL140); 5829 adaptor.addChild(root_0, SHORT_LITERAL140_tree); 5830 5831 } 5832 break; 5833 case 4 : 5834 // smaliParser.g:664:5: BYTE_LITERAL 5835 { 5836 root_0 = (CommonTree)adaptor.nil(); 5837 5838 5839 BYTE_LITERAL141=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_literal2669); 5840 BYTE_LITERAL141_tree = (CommonTree)adaptor.create(BYTE_LITERAL141); 5841 adaptor.addChild(root_0, BYTE_LITERAL141_tree); 5842 5843 } 5844 break; 5845 case 5 : 5846 // smaliParser.g:665:5: float_literal 5847 { 5848 root_0 = (CommonTree)adaptor.nil(); 5849 5850 5851 pushFollow(FOLLOW_float_literal_in_fixed_literal2675); 5852 float_literal142=float_literal(); 5853 state._fsp--; 5854 5855 adaptor.addChild(root_0, float_literal142.getTree()); 5856 5857 } 5858 break; 5859 case 6 : 5860 // smaliParser.g:666:5: double_literal 5861 { 5862 root_0 = (CommonTree)adaptor.nil(); 5863 5864 5865 pushFollow(FOLLOW_double_literal_in_fixed_literal2681); 5866 double_literal143=double_literal(); 5867 state._fsp--; 5868 5869 adaptor.addChild(root_0, double_literal143.getTree()); 5870 5871 } 5872 break; 5873 case 7 : 5874 // smaliParser.g:667:5: CHAR_LITERAL 5875 { 5876 root_0 = (CommonTree)adaptor.nil(); 5877 5878 5879 CHAR_LITERAL144=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_literal2687); 5880 CHAR_LITERAL144_tree = (CommonTree)adaptor.create(CHAR_LITERAL144); 5881 adaptor.addChild(root_0, CHAR_LITERAL144_tree); 5882 5883 } 5884 break; 5885 case 8 : 5886 // smaliParser.g:668:5: BOOL_LITERAL 5887 { 5888 root_0 = (CommonTree)adaptor.nil(); 5889 5890 5891 BOOL_LITERAL145=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_literal2693); 5892 BOOL_LITERAL145_tree = (CommonTree)adaptor.create(BOOL_LITERAL145); 5893 adaptor.addChild(root_0, BOOL_LITERAL145_tree); 5894 5895 } 5896 break; 5897 5898 } 5899 retval.stop = input.LT(-1); 5900 5901 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 5902 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 5903 5904 } 5905 catch (RecognitionException re) { 5906 reportError(re); 5907 recover(input,re); 5908 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 5909 } 5910 finally { 5911 // do for sure before leaving 5912 } 5913 return retval; 5914 } 5915 // $ANTLR end "fixed_literal" 5916 5917 5918 public static class array_literal_return extends ParserRuleReturnScope { 5919 CommonTree tree; 5920 @Override getTree()5921 public CommonTree getTree() { return tree; } 5922 }; 5923 5924 5925 // $ANTLR start "array_literal" 5926 // smaliParser.g:670:1: array_literal : OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) ; array_literal()5927 public final smaliParser.array_literal_return array_literal() throws RecognitionException { 5928 smaliParser.array_literal_return retval = new smaliParser.array_literal_return(); 5929 retval.start = input.LT(1); 5930 5931 CommonTree root_0 = null; 5932 5933 Token OPEN_BRACE146=null; 5934 Token COMMA148=null; 5935 Token CLOSE_BRACE150=null; 5936 ParserRuleReturnScope literal147 =null; 5937 ParserRuleReturnScope literal149 =null; 5938 5939 CommonTree OPEN_BRACE146_tree=null; 5940 CommonTree COMMA148_tree=null; 5941 CommonTree CLOSE_BRACE150_tree=null; 5942 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 5943 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 5944 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 5945 RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal"); 5946 5947 try { 5948 // smaliParser.g:671:3: ( OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) ) 5949 // smaliParser.g:671:5: OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE 5950 { 5951 OPEN_BRACE146=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_array_literal2703); 5952 stream_OPEN_BRACE.add(OPEN_BRACE146); 5953 5954 // smaliParser.g:671:16: ( literal ( COMMA literal )* |) 5955 int alt26=2; 5956 int LA26_0 = input.LA(1); 5957 if ( (LA26_0==ACCESS_SPEC||LA26_0==ANNOTATION_VISIBILITY||LA26_0==ARRAY_TYPE_PREFIX||(LA26_0 >= BOOL_LITERAL && LA26_0 <= BYTE_LITERAL)||(LA26_0 >= CHAR_LITERAL && LA26_0 <= CLASS_DESCRIPTOR)||(LA26_0 >= DOUBLE_LITERAL && LA26_0 <= DOUBLE_LITERAL_OR_ID)||LA26_0==ENUM_DIRECTIVE||(LA26_0 >= FLOAT_LITERAL && LA26_0 <= FLOAT_LITERAL_OR_ID)||(LA26_0 >= INSTRUCTION_FORMAT10t && LA26_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA26_0==INSTRUCTION_FORMAT11x||LA26_0==INSTRUCTION_FORMAT12x_OR_ID||(LA26_0 >= INSTRUCTION_FORMAT21c_FIELD && LA26_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA26_0==INSTRUCTION_FORMAT21t||(LA26_0 >= INSTRUCTION_FORMAT22c_FIELD && LA26_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA26_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA26_0 <= INSTRUCTION_FORMAT22t)||LA26_0==INSTRUCTION_FORMAT23x||(LA26_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA26_0 <= INSTRUCTION_FORMAT31t)||(LA26_0 >= INSTRUCTION_FORMAT35c_METHOD && LA26_0 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA26_0 >= INSTRUCTION_FORMAT45cc_METHOD && LA26_0 <= INSTRUCTION_FORMAT51l)||(LA26_0 >= LONG_LITERAL && LA26_0 <= MEMBER_NAME)||(LA26_0 >= NEGATIVE_INTEGER_LITERAL && LA26_0 <= OPEN_BRACE)||(LA26_0 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA26_0 <= PRIMITIVE_TYPE)||LA26_0==REGISTER||(LA26_0 >= SHORT_LITERAL && LA26_0 <= SIMPLE_NAME)||(LA26_0 >= STRING_LITERAL && LA26_0 <= SUBANNOTATION_DIRECTIVE)||(LA26_0 >= VERIFICATION_ERROR_TYPE && LA26_0 <= VOID_TYPE)) ) { 5958 alt26=1; 5959 } 5960 else if ( (LA26_0==CLOSE_BRACE) ) { 5961 alt26=2; 5962 } 5963 5964 else { 5965 NoViableAltException nvae = 5966 new NoViableAltException("", 26, 0, input); 5967 throw nvae; 5968 } 5969 5970 switch (alt26) { 5971 case 1 : 5972 // smaliParser.g:671:17: literal ( COMMA literal )* 5973 { 5974 pushFollow(FOLLOW_literal_in_array_literal2706); 5975 literal147=literal(); 5976 state._fsp--; 5977 5978 stream_literal.add(literal147.getTree()); 5979 // smaliParser.g:671:25: ( COMMA literal )* 5980 loop25: 5981 while (true) { 5982 int alt25=2; 5983 int LA25_0 = input.LA(1); 5984 if ( (LA25_0==COMMA) ) { 5985 alt25=1; 5986 } 5987 5988 switch (alt25) { 5989 case 1 : 5990 // smaliParser.g:671:26: COMMA literal 5991 { 5992 COMMA148=(Token)match(input,COMMA,FOLLOW_COMMA_in_array_literal2709); 5993 stream_COMMA.add(COMMA148); 5994 5995 pushFollow(FOLLOW_literal_in_array_literal2711); 5996 literal149=literal(); 5997 state._fsp--; 5998 5999 stream_literal.add(literal149.getTree()); 6000 } 6001 break; 6002 6003 default : 6004 break loop25; 6005 } 6006 } 6007 6008 } 6009 break; 6010 case 2 : 6011 // smaliParser.g:671:44: 6012 { 6013 } 6014 break; 6015 6016 } 6017 6018 CLOSE_BRACE150=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_array_literal2719); 6019 stream_CLOSE_BRACE.add(CLOSE_BRACE150); 6020 6021 // AST REWRITE 6022 // elements: literal 6023 // token labels: 6024 // rule labels: retval 6025 // token list labels: 6026 // rule list labels: 6027 // wildcard labels: 6028 retval.tree = root_0; 6029 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6030 6031 root_0 = (CommonTree)adaptor.nil(); 6032 // 672:5: -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) 6033 { 6034 // smaliParser.g:672:8: ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) 6035 { 6036 CommonTree root_1 = (CommonTree)adaptor.nil(); 6037 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_ARRAY, (retval.start), "I_ENCODED_ARRAY"), root_1); 6038 // smaliParser.g:672:53: ( literal )* 6039 while ( stream_literal.hasNext() ) { 6040 adaptor.addChild(root_1, stream_literal.nextTree()); 6041 } 6042 stream_literal.reset(); 6043 6044 adaptor.addChild(root_0, root_1); 6045 } 6046 6047 } 6048 6049 6050 retval.tree = root_0; 6051 6052 } 6053 6054 retval.stop = input.LT(-1); 6055 6056 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6057 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6058 6059 } 6060 catch (RecognitionException re) { 6061 reportError(re); 6062 recover(input,re); 6063 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6064 } 6065 finally { 6066 // do for sure before leaving 6067 } 6068 return retval; 6069 } 6070 // $ANTLR end "array_literal" 6071 6072 6073 public static class annotation_element_return extends ParserRuleReturnScope { 6074 CommonTree tree; 6075 @Override getTree()6076 public CommonTree getTree() { return tree; } 6077 }; 6078 6079 6080 // $ANTLR start "annotation_element" 6081 // smaliParser.g:674:1: annotation_element : simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) ; annotation_element()6082 public final smaliParser.annotation_element_return annotation_element() throws RecognitionException { 6083 smaliParser.annotation_element_return retval = new smaliParser.annotation_element_return(); 6084 retval.start = input.LT(1); 6085 6086 CommonTree root_0 = null; 6087 6088 Token EQUAL152=null; 6089 ParserRuleReturnScope simple_name151 =null; 6090 ParserRuleReturnScope literal153 =null; 6091 6092 CommonTree EQUAL152_tree=null; 6093 RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); 6094 RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name"); 6095 RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal"); 6096 6097 try { 6098 // smaliParser.g:675:3: ( simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) ) 6099 // smaliParser.g:675:5: simple_name EQUAL literal 6100 { 6101 pushFollow(FOLLOW_simple_name_in_annotation_element2743); 6102 simple_name151=simple_name(); 6103 state._fsp--; 6104 6105 stream_simple_name.add(simple_name151.getTree()); 6106 EQUAL152=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_annotation_element2745); 6107 stream_EQUAL.add(EQUAL152); 6108 6109 pushFollow(FOLLOW_literal_in_annotation_element2747); 6110 literal153=literal(); 6111 state._fsp--; 6112 6113 stream_literal.add(literal153.getTree()); 6114 // AST REWRITE 6115 // elements: simple_name, literal 6116 // token labels: 6117 // rule labels: retval 6118 // token list labels: 6119 // rule list labels: 6120 // wildcard labels: 6121 retval.tree = root_0; 6122 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6123 6124 root_0 = (CommonTree)adaptor.nil(); 6125 // 676:5: -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) 6126 { 6127 // smaliParser.g:676:8: ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) 6128 { 6129 CommonTree root_1 = (CommonTree)adaptor.nil(); 6130 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATION_ELEMENT, (retval.start), "I_ANNOTATION_ELEMENT"), root_1); 6131 adaptor.addChild(root_1, stream_simple_name.nextTree()); 6132 adaptor.addChild(root_1, stream_literal.nextTree()); 6133 adaptor.addChild(root_0, root_1); 6134 } 6135 6136 } 6137 6138 6139 retval.tree = root_0; 6140 6141 } 6142 6143 retval.stop = input.LT(-1); 6144 6145 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6146 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6147 6148 } 6149 catch (RecognitionException re) { 6150 reportError(re); 6151 recover(input,re); 6152 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6153 } 6154 finally { 6155 // do for sure before leaving 6156 } 6157 return retval; 6158 } 6159 // $ANTLR end "annotation_element" 6160 6161 6162 public static class annotation_return extends ParserRuleReturnScope { 6163 CommonTree tree; 6164 @Override getTree()6165 public CommonTree getTree() { return tree; } 6166 }; 6167 6168 6169 // $ANTLR start "annotation" 6170 // smaliParser.g:678:1: annotation : ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) ; annotation()6171 public final smaliParser.annotation_return annotation() throws RecognitionException { 6172 smaliParser.annotation_return retval = new smaliParser.annotation_return(); 6173 retval.start = input.LT(1); 6174 6175 CommonTree root_0 = null; 6176 6177 Token ANNOTATION_DIRECTIVE154=null; 6178 Token ANNOTATION_VISIBILITY155=null; 6179 Token CLASS_DESCRIPTOR156=null; 6180 Token END_ANNOTATION_DIRECTIVE158=null; 6181 ParserRuleReturnScope annotation_element157 =null; 6182 6183 CommonTree ANNOTATION_DIRECTIVE154_tree=null; 6184 CommonTree ANNOTATION_VISIBILITY155_tree=null; 6185 CommonTree CLASS_DESCRIPTOR156_tree=null; 6186 CommonTree END_ANNOTATION_DIRECTIVE158_tree=null; 6187 RewriteRuleTokenStream stream_ANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_DIRECTIVE"); 6188 RewriteRuleTokenStream stream_ANNOTATION_VISIBILITY=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_VISIBILITY"); 6189 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 6190 RewriteRuleTokenStream stream_END_ANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_ANNOTATION_DIRECTIVE"); 6191 RewriteRuleSubtreeStream stream_annotation_element=new RewriteRuleSubtreeStream(adaptor,"rule annotation_element"); 6192 6193 try { 6194 // smaliParser.g:679:3: ( ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) ) 6195 // smaliParser.g:679:5: ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE 6196 { 6197 ANNOTATION_DIRECTIVE154=(Token)match(input,ANNOTATION_DIRECTIVE,FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2772); 6198 stream_ANNOTATION_DIRECTIVE.add(ANNOTATION_DIRECTIVE154); 6199 6200 ANNOTATION_VISIBILITY155=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation2774); 6201 stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY155); 6202 6203 CLASS_DESCRIPTOR156=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_annotation2776); 6204 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR156); 6205 6206 // smaliParser.g:680:5: ( annotation_element )* 6207 loop27: 6208 while (true) { 6209 int alt27=2; 6210 int LA27_0 = input.LA(1); 6211 if ( (LA27_0==ACCESS_SPEC||LA27_0==ANNOTATION_VISIBILITY||LA27_0==BOOL_LITERAL||LA27_0==DOUBLE_LITERAL_OR_ID||LA27_0==FLOAT_LITERAL_OR_ID||(LA27_0 >= INSTRUCTION_FORMAT10t && LA27_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA27_0==INSTRUCTION_FORMAT11x||LA27_0==INSTRUCTION_FORMAT12x_OR_ID||(LA27_0 >= INSTRUCTION_FORMAT21c_FIELD && LA27_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA27_0==INSTRUCTION_FORMAT21t||(LA27_0 >= INSTRUCTION_FORMAT22c_FIELD && LA27_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA27_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA27_0 <= INSTRUCTION_FORMAT22t)||LA27_0==INSTRUCTION_FORMAT23x||(LA27_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA27_0 <= INSTRUCTION_FORMAT31t)||(LA27_0 >= INSTRUCTION_FORMAT35c_METHOD && LA27_0 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA27_0 >= INSTRUCTION_FORMAT45cc_METHOD && LA27_0 <= INSTRUCTION_FORMAT51l)||(LA27_0 >= NEGATIVE_INTEGER_LITERAL && LA27_0 <= NULL_LITERAL)||(LA27_0 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA27_0 <= PRIMITIVE_TYPE)||LA27_0==REGISTER||LA27_0==SIMPLE_NAME||(LA27_0 >= VERIFICATION_ERROR_TYPE && LA27_0 <= VOID_TYPE)) ) { 6212 alt27=1; 6213 } 6214 6215 switch (alt27) { 6216 case 1 : 6217 // smaliParser.g:680:5: annotation_element 6218 { 6219 pushFollow(FOLLOW_annotation_element_in_annotation2782); 6220 annotation_element157=annotation_element(); 6221 state._fsp--; 6222 6223 stream_annotation_element.add(annotation_element157.getTree()); 6224 } 6225 break; 6226 6227 default : 6228 break loop27; 6229 } 6230 } 6231 6232 END_ANNOTATION_DIRECTIVE158=(Token)match(input,END_ANNOTATION_DIRECTIVE,FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2785); 6233 stream_END_ANNOTATION_DIRECTIVE.add(END_ANNOTATION_DIRECTIVE158); 6234 6235 // AST REWRITE 6236 // elements: CLASS_DESCRIPTOR, annotation_element, ANNOTATION_VISIBILITY 6237 // token labels: 6238 // rule labels: retval 6239 // token list labels: 6240 // rule list labels: 6241 // wildcard labels: 6242 retval.tree = root_0; 6243 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6244 6245 root_0 = (CommonTree)adaptor.nil(); 6246 // 681:5: -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) 6247 { 6248 // smaliParser.g:681:8: ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) 6249 { 6250 CommonTree root_1 = (CommonTree)adaptor.nil(); 6251 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATION, (retval.start), "I_ANNOTATION"), root_1); 6252 adaptor.addChild(root_1, stream_ANNOTATION_VISIBILITY.nextNode()); 6253 // smaliParser.g:681:69: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) 6254 { 6255 CommonTree root_2 = (CommonTree)adaptor.nil(); 6256 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUBANNOTATION, (retval.start), "I_SUBANNOTATION"), root_2); 6257 adaptor.addChild(root_2, stream_CLASS_DESCRIPTOR.nextNode()); 6258 // smaliParser.g:681:131: ( annotation_element )* 6259 while ( stream_annotation_element.hasNext() ) { 6260 adaptor.addChild(root_2, stream_annotation_element.nextTree()); 6261 } 6262 stream_annotation_element.reset(); 6263 6264 adaptor.addChild(root_1, root_2); 6265 } 6266 6267 adaptor.addChild(root_0, root_1); 6268 } 6269 6270 } 6271 6272 6273 retval.tree = root_0; 6274 6275 } 6276 6277 retval.stop = input.LT(-1); 6278 6279 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6280 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6281 6282 } 6283 catch (RecognitionException re) { 6284 reportError(re); 6285 recover(input,re); 6286 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6287 } 6288 finally { 6289 // do for sure before leaving 6290 } 6291 return retval; 6292 } 6293 // $ANTLR end "annotation" 6294 6295 6296 public static class subannotation_return extends ParserRuleReturnScope { 6297 CommonTree tree; 6298 @Override getTree()6299 public CommonTree getTree() { return tree; } 6300 }; 6301 6302 6303 // $ANTLR start "subannotation" 6304 // smaliParser.g:683:1: subannotation : SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ; subannotation()6305 public final smaliParser.subannotation_return subannotation() throws RecognitionException { 6306 smaliParser.subannotation_return retval = new smaliParser.subannotation_return(); 6307 retval.start = input.LT(1); 6308 6309 CommonTree root_0 = null; 6310 6311 Token SUBANNOTATION_DIRECTIVE159=null; 6312 Token CLASS_DESCRIPTOR160=null; 6313 Token END_SUBANNOTATION_DIRECTIVE162=null; 6314 ParserRuleReturnScope annotation_element161 =null; 6315 6316 CommonTree SUBANNOTATION_DIRECTIVE159_tree=null; 6317 CommonTree CLASS_DESCRIPTOR160_tree=null; 6318 CommonTree END_SUBANNOTATION_DIRECTIVE162_tree=null; 6319 RewriteRuleTokenStream stream_SUBANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SUBANNOTATION_DIRECTIVE"); 6320 RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR"); 6321 RewriteRuleTokenStream stream_END_SUBANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_SUBANNOTATION_DIRECTIVE"); 6322 RewriteRuleSubtreeStream stream_annotation_element=new RewriteRuleSubtreeStream(adaptor,"rule annotation_element"); 6323 6324 try { 6325 // smaliParser.g:684:3: ( SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) 6326 // smaliParser.g:684:5: SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE 6327 { 6328 SUBANNOTATION_DIRECTIVE159=(Token)match(input,SUBANNOTATION_DIRECTIVE,FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2818); 6329 stream_SUBANNOTATION_DIRECTIVE.add(SUBANNOTATION_DIRECTIVE159); 6330 6331 CLASS_DESCRIPTOR160=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation2820); 6332 stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR160); 6333 6334 // smaliParser.g:684:46: ( annotation_element )* 6335 loop28: 6336 while (true) { 6337 int alt28=2; 6338 int LA28_0 = input.LA(1); 6339 if ( (LA28_0==ACCESS_SPEC||LA28_0==ANNOTATION_VISIBILITY||LA28_0==BOOL_LITERAL||LA28_0==DOUBLE_LITERAL_OR_ID||LA28_0==FLOAT_LITERAL_OR_ID||(LA28_0 >= INSTRUCTION_FORMAT10t && LA28_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA28_0==INSTRUCTION_FORMAT11x||LA28_0==INSTRUCTION_FORMAT12x_OR_ID||(LA28_0 >= INSTRUCTION_FORMAT21c_FIELD && LA28_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA28_0==INSTRUCTION_FORMAT21t||(LA28_0 >= INSTRUCTION_FORMAT22c_FIELD && LA28_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA28_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA28_0 <= INSTRUCTION_FORMAT22t)||LA28_0==INSTRUCTION_FORMAT23x||(LA28_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA28_0 <= INSTRUCTION_FORMAT31t)||(LA28_0 >= INSTRUCTION_FORMAT35c_METHOD && LA28_0 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA28_0 >= INSTRUCTION_FORMAT45cc_METHOD && LA28_0 <= INSTRUCTION_FORMAT51l)||(LA28_0 >= NEGATIVE_INTEGER_LITERAL && LA28_0 <= NULL_LITERAL)||(LA28_0 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA28_0 <= PRIMITIVE_TYPE)||LA28_0==REGISTER||LA28_0==SIMPLE_NAME||(LA28_0 >= VERIFICATION_ERROR_TYPE && LA28_0 <= VOID_TYPE)) ) { 6340 alt28=1; 6341 } 6342 6343 switch (alt28) { 6344 case 1 : 6345 // smaliParser.g:684:46: annotation_element 6346 { 6347 pushFollow(FOLLOW_annotation_element_in_subannotation2822); 6348 annotation_element161=annotation_element(); 6349 state._fsp--; 6350 6351 stream_annotation_element.add(annotation_element161.getTree()); 6352 } 6353 break; 6354 6355 default : 6356 break loop28; 6357 } 6358 } 6359 6360 END_SUBANNOTATION_DIRECTIVE162=(Token)match(input,END_SUBANNOTATION_DIRECTIVE,FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2825); 6361 stream_END_SUBANNOTATION_DIRECTIVE.add(END_SUBANNOTATION_DIRECTIVE162); 6362 6363 // AST REWRITE 6364 // elements: CLASS_DESCRIPTOR, annotation_element 6365 // token labels: 6366 // rule labels: retval 6367 // token list labels: 6368 // rule list labels: 6369 // wildcard labels: 6370 retval.tree = root_0; 6371 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6372 6373 root_0 = (CommonTree)adaptor.nil(); 6374 // 685:5: -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) 6375 { 6376 // smaliParser.g:685:8: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) 6377 { 6378 CommonTree root_1 = (CommonTree)adaptor.nil(); 6379 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUBANNOTATION, (retval.start), "I_SUBANNOTATION"), root_1); 6380 adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode()); 6381 // smaliParser.g:685:70: ( annotation_element )* 6382 while ( stream_annotation_element.hasNext() ) { 6383 adaptor.addChild(root_1, stream_annotation_element.nextTree()); 6384 } 6385 stream_annotation_element.reset(); 6386 6387 adaptor.addChild(root_0, root_1); 6388 } 6389 6390 } 6391 6392 6393 retval.tree = root_0; 6394 6395 } 6396 6397 retval.stop = input.LT(-1); 6398 6399 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6400 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6401 6402 } 6403 catch (RecognitionException re) { 6404 reportError(re); 6405 recover(input,re); 6406 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6407 } 6408 finally { 6409 // do for sure before leaving 6410 } 6411 return retval; 6412 } 6413 // $ANTLR end "subannotation" 6414 6415 6416 public static class enum_literal_return extends ParserRuleReturnScope { 6417 CommonTree tree; 6418 @Override getTree()6419 public CommonTree getTree() { return tree; } 6420 }; 6421 6422 6423 // $ANTLR start "enum_literal" 6424 // smaliParser.g:688:1: enum_literal : ENUM_DIRECTIVE field_reference -> ^( I_ENCODED_ENUM field_reference ) ; enum_literal()6425 public final smaliParser.enum_literal_return enum_literal() throws RecognitionException { 6426 smaliParser.enum_literal_return retval = new smaliParser.enum_literal_return(); 6427 retval.start = input.LT(1); 6428 6429 CommonTree root_0 = null; 6430 6431 Token ENUM_DIRECTIVE163=null; 6432 ParserRuleReturnScope field_reference164 =null; 6433 6434 CommonTree ENUM_DIRECTIVE163_tree=null; 6435 RewriteRuleTokenStream stream_ENUM_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ENUM_DIRECTIVE"); 6436 RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference"); 6437 6438 try { 6439 // smaliParser.g:689:3: ( ENUM_DIRECTIVE field_reference -> ^( I_ENCODED_ENUM field_reference ) ) 6440 // smaliParser.g:689:5: ENUM_DIRECTIVE field_reference 6441 { 6442 ENUM_DIRECTIVE163=(Token)match(input,ENUM_DIRECTIVE,FOLLOW_ENUM_DIRECTIVE_in_enum_literal2852); 6443 stream_ENUM_DIRECTIVE.add(ENUM_DIRECTIVE163); 6444 6445 pushFollow(FOLLOW_field_reference_in_enum_literal2854); 6446 field_reference164=field_reference(); 6447 state._fsp--; 6448 6449 stream_field_reference.add(field_reference164.getTree()); 6450 // AST REWRITE 6451 // elements: field_reference 6452 // token labels: 6453 // rule labels: retval 6454 // token list labels: 6455 // rule list labels: 6456 // wildcard labels: 6457 retval.tree = root_0; 6458 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6459 6460 root_0 = (CommonTree)adaptor.nil(); 6461 // 690:3: -> ^( I_ENCODED_ENUM field_reference ) 6462 { 6463 // smaliParser.g:690:6: ^( I_ENCODED_ENUM field_reference ) 6464 { 6465 CommonTree root_1 = (CommonTree)adaptor.nil(); 6466 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_ENUM, "I_ENCODED_ENUM"), root_1); 6467 adaptor.addChild(root_1, stream_field_reference.nextTree()); 6468 adaptor.addChild(root_0, root_1); 6469 } 6470 6471 } 6472 6473 6474 retval.tree = root_0; 6475 6476 } 6477 6478 retval.stop = input.LT(-1); 6479 6480 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6481 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6482 6483 } 6484 catch (RecognitionException re) { 6485 reportError(re); 6486 recover(input,re); 6487 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6488 } 6489 finally { 6490 // do for sure before leaving 6491 } 6492 return retval; 6493 } 6494 // $ANTLR end "enum_literal" 6495 6496 6497 public static class type_field_method_literal_return extends ParserRuleReturnScope { 6498 CommonTree tree; 6499 @Override getTree()6500 public CommonTree getTree() { return tree; } 6501 }; 6502 6503 6504 // $ANTLR start "type_field_method_literal" 6505 // smaliParser.g:692:1: type_field_method_literal : ( reference_type_descriptor | ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) | PRIMITIVE_TYPE | VOID_TYPE ); type_field_method_literal()6506 public final smaliParser.type_field_method_literal_return type_field_method_literal() throws RecognitionException { 6507 smaliParser.type_field_method_literal_return retval = new smaliParser.type_field_method_literal_return(); 6508 retval.start = input.LT(1); 6509 6510 CommonTree root_0 = null; 6511 6512 Token ARROW167=null; 6513 Token COLON169=null; 6514 Token PRIMITIVE_TYPE173=null; 6515 Token VOID_TYPE174=null; 6516 ParserRuleReturnScope reference_type_descriptor165 =null; 6517 ParserRuleReturnScope reference_type_descriptor166 =null; 6518 ParserRuleReturnScope member_name168 =null; 6519 ParserRuleReturnScope nonvoid_type_descriptor170 =null; 6520 ParserRuleReturnScope member_name171 =null; 6521 ParserRuleReturnScope method_prototype172 =null; 6522 6523 CommonTree ARROW167_tree=null; 6524 CommonTree COLON169_tree=null; 6525 CommonTree PRIMITIVE_TYPE173_tree=null; 6526 CommonTree VOID_TYPE174_tree=null; 6527 RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW"); 6528 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 6529 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 6530 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 6531 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 6532 RewriteRuleSubtreeStream stream_reference_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule reference_type_descriptor"); 6533 6534 try { 6535 // smaliParser.g:693:3: ( reference_type_descriptor | ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) | PRIMITIVE_TYPE | VOID_TYPE ) 6536 int alt31=4; 6537 switch ( input.LA(1) ) { 6538 case CLASS_DESCRIPTOR: 6539 { 6540 int LA31_1 = input.LA(2); 6541 if ( (LA31_1==EOF||(LA31_1 >= ACCESS_SPEC && LA31_1 <= ANNOTATION_VISIBILITY)||LA31_1==BOOL_LITERAL||(LA31_1 >= CLASS_DIRECTIVE && LA31_1 <= CLOSE_BRACE)||LA31_1==COMMA||(LA31_1 >= DOUBLE_LITERAL_OR_ID && LA31_1 <= END_ANNOTATION_DIRECTIVE)||LA31_1==END_FIELD_DIRECTIVE||LA31_1==END_SUBANNOTATION_DIRECTIVE||LA31_1==FIELD_DIRECTIVE||(LA31_1 >= FLOAT_LITERAL_OR_ID && LA31_1 <= IMPLEMENTS_DIRECTIVE)||(LA31_1 >= INSTRUCTION_FORMAT10t && LA31_1 <= INSTRUCTION_FORMAT10x_ODEX)||LA31_1==INSTRUCTION_FORMAT11x||LA31_1==INSTRUCTION_FORMAT12x_OR_ID||(LA31_1 >= INSTRUCTION_FORMAT21c_FIELD && LA31_1 <= INSTRUCTION_FORMAT21c_TYPE)||LA31_1==INSTRUCTION_FORMAT21t||(LA31_1 >= INSTRUCTION_FORMAT22c_FIELD && LA31_1 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA31_1 >= INSTRUCTION_FORMAT22s_OR_ID && LA31_1 <= INSTRUCTION_FORMAT22t)||LA31_1==INSTRUCTION_FORMAT23x||(LA31_1 >= INSTRUCTION_FORMAT31i_OR_ID && LA31_1 <= INSTRUCTION_FORMAT31t)||(LA31_1 >= INSTRUCTION_FORMAT35c_METHOD && LA31_1 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA31_1 >= INSTRUCTION_FORMAT45cc_METHOD && LA31_1 <= INSTRUCTION_FORMAT51l)||(LA31_1 >= METHOD_DIRECTIVE && LA31_1 <= NULL_LITERAL)||(LA31_1 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA31_1 <= PRIMITIVE_TYPE)||LA31_1==REGISTER||(LA31_1 >= SIMPLE_NAME && LA31_1 <= SOURCE_DIRECTIVE)||(LA31_1 >= SUPER_DIRECTIVE && LA31_1 <= VOID_TYPE)) ) { 6542 alt31=1; 6543 } 6544 else if ( (LA31_1==ARROW) ) { 6545 alt31=2; 6546 } 6547 6548 else { 6549 int nvaeMark = input.mark(); 6550 try { 6551 input.consume(); 6552 NoViableAltException nvae = 6553 new NoViableAltException("", 31, 1, input); 6554 throw nvae; 6555 } finally { 6556 input.rewind(nvaeMark); 6557 } 6558 } 6559 6560 } 6561 break; 6562 case ARRAY_TYPE_PREFIX: 6563 { 6564 int LA31_2 = input.LA(2); 6565 if ( (LA31_2==CLASS_DESCRIPTOR||LA31_2==PRIMITIVE_TYPE) ) { 6566 int LA31_7 = input.LA(3); 6567 if ( (LA31_7==EOF||(LA31_7 >= ACCESS_SPEC && LA31_7 <= ANNOTATION_VISIBILITY)||LA31_7==BOOL_LITERAL||(LA31_7 >= CLASS_DIRECTIVE && LA31_7 <= CLOSE_BRACE)||LA31_7==COMMA||(LA31_7 >= DOUBLE_LITERAL_OR_ID && LA31_7 <= END_ANNOTATION_DIRECTIVE)||LA31_7==END_FIELD_DIRECTIVE||LA31_7==END_SUBANNOTATION_DIRECTIVE||LA31_7==FIELD_DIRECTIVE||(LA31_7 >= FLOAT_LITERAL_OR_ID && LA31_7 <= IMPLEMENTS_DIRECTIVE)||(LA31_7 >= INSTRUCTION_FORMAT10t && LA31_7 <= INSTRUCTION_FORMAT10x_ODEX)||LA31_7==INSTRUCTION_FORMAT11x||LA31_7==INSTRUCTION_FORMAT12x_OR_ID||(LA31_7 >= INSTRUCTION_FORMAT21c_FIELD && LA31_7 <= INSTRUCTION_FORMAT21c_TYPE)||LA31_7==INSTRUCTION_FORMAT21t||(LA31_7 >= INSTRUCTION_FORMAT22c_FIELD && LA31_7 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA31_7 >= INSTRUCTION_FORMAT22s_OR_ID && LA31_7 <= INSTRUCTION_FORMAT22t)||LA31_7==INSTRUCTION_FORMAT23x||(LA31_7 >= INSTRUCTION_FORMAT31i_OR_ID && LA31_7 <= INSTRUCTION_FORMAT31t)||(LA31_7 >= INSTRUCTION_FORMAT35c_METHOD && LA31_7 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA31_7 >= INSTRUCTION_FORMAT45cc_METHOD && LA31_7 <= INSTRUCTION_FORMAT51l)||(LA31_7 >= METHOD_DIRECTIVE && LA31_7 <= NULL_LITERAL)||(LA31_7 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA31_7 <= PRIMITIVE_TYPE)||LA31_7==REGISTER||(LA31_7 >= SIMPLE_NAME && LA31_7 <= SOURCE_DIRECTIVE)||(LA31_7 >= SUPER_DIRECTIVE && LA31_7 <= VOID_TYPE)) ) { 6568 alt31=1; 6569 } 6570 else if ( (LA31_7==ARROW) ) { 6571 alt31=2; 6572 } 6573 6574 else { 6575 int nvaeMark = input.mark(); 6576 try { 6577 for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { 6578 input.consume(); 6579 } 6580 NoViableAltException nvae = 6581 new NoViableAltException("", 31, 7, input); 6582 throw nvae; 6583 } finally { 6584 input.rewind(nvaeMark); 6585 } 6586 } 6587 6588 } 6589 6590 else { 6591 int nvaeMark = input.mark(); 6592 try { 6593 input.consume(); 6594 NoViableAltException nvae = 6595 new NoViableAltException("", 31, 2, input); 6596 throw nvae; 6597 } finally { 6598 input.rewind(nvaeMark); 6599 } 6600 } 6601 6602 } 6603 break; 6604 case ACCESS_SPEC: 6605 case ANNOTATION_VISIBILITY: 6606 case BOOL_LITERAL: 6607 case DOUBLE_LITERAL_OR_ID: 6608 case FLOAT_LITERAL_OR_ID: 6609 case INSTRUCTION_FORMAT10t: 6610 case INSTRUCTION_FORMAT10x: 6611 case INSTRUCTION_FORMAT10x_ODEX: 6612 case INSTRUCTION_FORMAT11x: 6613 case INSTRUCTION_FORMAT12x_OR_ID: 6614 case INSTRUCTION_FORMAT21c_FIELD: 6615 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 6616 case INSTRUCTION_FORMAT21c_STRING: 6617 case INSTRUCTION_FORMAT21c_TYPE: 6618 case INSTRUCTION_FORMAT21t: 6619 case INSTRUCTION_FORMAT22c_FIELD: 6620 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 6621 case INSTRUCTION_FORMAT22c_TYPE: 6622 case INSTRUCTION_FORMAT22cs_FIELD: 6623 case INSTRUCTION_FORMAT22s_OR_ID: 6624 case INSTRUCTION_FORMAT22t: 6625 case INSTRUCTION_FORMAT23x: 6626 case INSTRUCTION_FORMAT31i_OR_ID: 6627 case INSTRUCTION_FORMAT31t: 6628 case INSTRUCTION_FORMAT35c_METHOD: 6629 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 6630 case INSTRUCTION_FORMAT35c_TYPE: 6631 case INSTRUCTION_FORMAT35mi_METHOD: 6632 case INSTRUCTION_FORMAT35ms_METHOD: 6633 case INSTRUCTION_FORMAT45cc_METHOD: 6634 case INSTRUCTION_FORMAT4rcc_METHOD: 6635 case INSTRUCTION_FORMAT51l: 6636 case MEMBER_NAME: 6637 case NEGATIVE_INTEGER_LITERAL: 6638 case NULL_LITERAL: 6639 case PARAM_LIST_OR_ID_PRIMITIVE_TYPE: 6640 case POSITIVE_INTEGER_LITERAL: 6641 case REGISTER: 6642 case SIMPLE_NAME: 6643 case VERIFICATION_ERROR_TYPE: 6644 { 6645 alt31=2; 6646 } 6647 break; 6648 case PRIMITIVE_TYPE: 6649 { 6650 int LA31_4 = input.LA(2); 6651 if ( (LA31_4==COLON||LA31_4==OPEN_PAREN) ) { 6652 alt31=2; 6653 } 6654 else if ( (LA31_4==EOF||(LA31_4 >= ACCESS_SPEC && LA31_4 <= ANNOTATION_VISIBILITY)||LA31_4==BOOL_LITERAL||(LA31_4 >= CLASS_DIRECTIVE && LA31_4 <= CLOSE_BRACE)||LA31_4==COMMA||(LA31_4 >= DOUBLE_LITERAL_OR_ID && LA31_4 <= END_ANNOTATION_DIRECTIVE)||LA31_4==END_FIELD_DIRECTIVE||LA31_4==END_SUBANNOTATION_DIRECTIVE||LA31_4==FIELD_DIRECTIVE||(LA31_4 >= FLOAT_LITERAL_OR_ID && LA31_4 <= IMPLEMENTS_DIRECTIVE)||(LA31_4 >= INSTRUCTION_FORMAT10t && LA31_4 <= INSTRUCTION_FORMAT10x_ODEX)||LA31_4==INSTRUCTION_FORMAT11x||LA31_4==INSTRUCTION_FORMAT12x_OR_ID||(LA31_4 >= INSTRUCTION_FORMAT21c_FIELD && LA31_4 <= INSTRUCTION_FORMAT21c_TYPE)||LA31_4==INSTRUCTION_FORMAT21t||(LA31_4 >= INSTRUCTION_FORMAT22c_FIELD && LA31_4 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA31_4 >= INSTRUCTION_FORMAT22s_OR_ID && LA31_4 <= INSTRUCTION_FORMAT22t)||LA31_4==INSTRUCTION_FORMAT23x||(LA31_4 >= INSTRUCTION_FORMAT31i_OR_ID && LA31_4 <= INSTRUCTION_FORMAT31t)||(LA31_4 >= INSTRUCTION_FORMAT35c_METHOD && LA31_4 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA31_4 >= INSTRUCTION_FORMAT45cc_METHOD && LA31_4 <= INSTRUCTION_FORMAT51l)||(LA31_4 >= METHOD_DIRECTIVE && LA31_4 <= NULL_LITERAL)||(LA31_4 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA31_4 <= PRIMITIVE_TYPE)||LA31_4==REGISTER||(LA31_4 >= SIMPLE_NAME && LA31_4 <= SOURCE_DIRECTIVE)||(LA31_4 >= SUPER_DIRECTIVE && LA31_4 <= VOID_TYPE)) ) { 6655 alt31=3; 6656 } 6657 6658 else { 6659 int nvaeMark = input.mark(); 6660 try { 6661 input.consume(); 6662 NoViableAltException nvae = 6663 new NoViableAltException("", 31, 4, input); 6664 throw nvae; 6665 } finally { 6666 input.rewind(nvaeMark); 6667 } 6668 } 6669 6670 } 6671 break; 6672 case VOID_TYPE: 6673 { 6674 int LA31_5 = input.LA(2); 6675 if ( (LA31_5==COLON||LA31_5==OPEN_PAREN) ) { 6676 alt31=2; 6677 } 6678 else if ( (LA31_5==EOF||(LA31_5 >= ACCESS_SPEC && LA31_5 <= ANNOTATION_VISIBILITY)||LA31_5==BOOL_LITERAL||(LA31_5 >= CLASS_DIRECTIVE && LA31_5 <= CLOSE_BRACE)||LA31_5==COMMA||(LA31_5 >= DOUBLE_LITERAL_OR_ID && LA31_5 <= END_ANNOTATION_DIRECTIVE)||LA31_5==END_FIELD_DIRECTIVE||LA31_5==END_SUBANNOTATION_DIRECTIVE||LA31_5==FIELD_DIRECTIVE||(LA31_5 >= FLOAT_LITERAL_OR_ID && LA31_5 <= IMPLEMENTS_DIRECTIVE)||(LA31_5 >= INSTRUCTION_FORMAT10t && LA31_5 <= INSTRUCTION_FORMAT10x_ODEX)||LA31_5==INSTRUCTION_FORMAT11x||LA31_5==INSTRUCTION_FORMAT12x_OR_ID||(LA31_5 >= INSTRUCTION_FORMAT21c_FIELD && LA31_5 <= INSTRUCTION_FORMAT21c_TYPE)||LA31_5==INSTRUCTION_FORMAT21t||(LA31_5 >= INSTRUCTION_FORMAT22c_FIELD && LA31_5 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA31_5 >= INSTRUCTION_FORMAT22s_OR_ID && LA31_5 <= INSTRUCTION_FORMAT22t)||LA31_5==INSTRUCTION_FORMAT23x||(LA31_5 >= INSTRUCTION_FORMAT31i_OR_ID && LA31_5 <= INSTRUCTION_FORMAT31t)||(LA31_5 >= INSTRUCTION_FORMAT35c_METHOD && LA31_5 <= INSTRUCTION_FORMAT35ms_METHOD)||(LA31_5 >= INSTRUCTION_FORMAT45cc_METHOD && LA31_5 <= INSTRUCTION_FORMAT51l)||(LA31_5 >= METHOD_DIRECTIVE && LA31_5 <= NULL_LITERAL)||(LA31_5 >= PARAM_LIST_OR_ID_PRIMITIVE_TYPE && LA31_5 <= PRIMITIVE_TYPE)||LA31_5==REGISTER||(LA31_5 >= SIMPLE_NAME && LA31_5 <= SOURCE_DIRECTIVE)||(LA31_5 >= SUPER_DIRECTIVE && LA31_5 <= VOID_TYPE)) ) { 6679 alt31=4; 6680 } 6681 6682 else { 6683 int nvaeMark = input.mark(); 6684 try { 6685 input.consume(); 6686 NoViableAltException nvae = 6687 new NoViableAltException("", 31, 5, input); 6688 throw nvae; 6689 } finally { 6690 input.rewind(nvaeMark); 6691 } 6692 } 6693 6694 } 6695 break; 6696 default: 6697 NoViableAltException nvae = 6698 new NoViableAltException("", 31, 0, input); 6699 throw nvae; 6700 } 6701 switch (alt31) { 6702 case 1 : 6703 // smaliParser.g:693:5: reference_type_descriptor 6704 { 6705 root_0 = (CommonTree)adaptor.nil(); 6706 6707 6708 pushFollow(FOLLOW_reference_type_descriptor_in_type_field_method_literal2874); 6709 reference_type_descriptor165=reference_type_descriptor(); 6710 state._fsp--; 6711 6712 adaptor.addChild(root_0, reference_type_descriptor165.getTree()); 6713 6714 } 6715 break; 6716 case 2 : 6717 // smaliParser.g:694:5: ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) 6718 { 6719 // smaliParser.g:694:5: ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) 6720 // smaliParser.g:694:7: ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) 6721 { 6722 // smaliParser.g:694:7: ( reference_type_descriptor ARROW )? 6723 int alt29=2; 6724 int LA29_0 = input.LA(1); 6725 if ( (LA29_0==ARRAY_TYPE_PREFIX||LA29_0==CLASS_DESCRIPTOR) ) { 6726 alt29=1; 6727 } 6728 switch (alt29) { 6729 case 1 : 6730 // smaliParser.g:694:8: reference_type_descriptor ARROW 6731 { 6732 pushFollow(FOLLOW_reference_type_descriptor_in_type_field_method_literal2883); 6733 reference_type_descriptor166=reference_type_descriptor(); 6734 state._fsp--; 6735 6736 stream_reference_type_descriptor.add(reference_type_descriptor166.getTree()); 6737 ARROW167=(Token)match(input,ARROW,FOLLOW_ARROW_in_type_field_method_literal2885); 6738 stream_ARROW.add(ARROW167); 6739 6740 } 6741 break; 6742 6743 } 6744 6745 // smaliParser.g:695:7: ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) 6746 int alt30=2; 6747 alt30 = dfa30.predict(input); 6748 switch (alt30) { 6749 case 1 : 6750 // smaliParser.g:695:9: member_name COLON nonvoid_type_descriptor 6751 { 6752 pushFollow(FOLLOW_member_name_in_type_field_method_literal2897); 6753 member_name168=member_name(); 6754 state._fsp--; 6755 6756 stream_member_name.add(member_name168.getTree()); 6757 COLON169=(Token)match(input,COLON,FOLLOW_COLON_in_type_field_method_literal2899); 6758 stream_COLON.add(COLON169); 6759 6760 pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2901); 6761 nonvoid_type_descriptor170=nonvoid_type_descriptor(); 6762 state._fsp--; 6763 6764 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor170.getTree()); 6765 // AST REWRITE 6766 // elements: reference_type_descriptor, member_name, nonvoid_type_descriptor 6767 // token labels: 6768 // rule labels: retval 6769 // token list labels: 6770 // rule list labels: 6771 // wildcard labels: 6772 retval.tree = root_0; 6773 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6774 6775 root_0 = (CommonTree)adaptor.nil(); 6776 // 695:51: -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) 6777 { 6778 // smaliParser.g:695:54: ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) 6779 { 6780 CommonTree root_1 = (CommonTree)adaptor.nil(); 6781 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_FIELD, "I_ENCODED_FIELD"), root_1); 6782 // smaliParser.g:695:72: ( reference_type_descriptor )? 6783 if ( stream_reference_type_descriptor.hasNext() ) { 6784 adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree()); 6785 } 6786 stream_reference_type_descriptor.reset(); 6787 6788 adaptor.addChild(root_1, stream_member_name.nextTree()); 6789 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 6790 adaptor.addChild(root_0, root_1); 6791 } 6792 6793 } 6794 6795 6796 retval.tree = root_0; 6797 6798 } 6799 break; 6800 case 2 : 6801 // smaliParser.g:696:9: member_name method_prototype 6802 { 6803 pushFollow(FOLLOW_member_name_in_type_field_method_literal2924); 6804 member_name171=member_name(); 6805 state._fsp--; 6806 6807 stream_member_name.add(member_name171.getTree()); 6808 pushFollow(FOLLOW_method_prototype_in_type_field_method_literal2926); 6809 method_prototype172=method_prototype(); 6810 state._fsp--; 6811 6812 stream_method_prototype.add(method_prototype172.getTree()); 6813 // AST REWRITE 6814 // elements: member_name, method_prototype, reference_type_descriptor 6815 // token labels: 6816 // rule labels: retval 6817 // token list labels: 6818 // rule list labels: 6819 // wildcard labels: 6820 retval.tree = root_0; 6821 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6822 6823 root_0 = (CommonTree)adaptor.nil(); 6824 // 696:38: -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) 6825 { 6826 // smaliParser.g:696:41: ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) 6827 { 6828 CommonTree root_1 = (CommonTree)adaptor.nil(); 6829 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_METHOD, "I_ENCODED_METHOD"), root_1); 6830 // smaliParser.g:696:60: ( reference_type_descriptor )? 6831 if ( stream_reference_type_descriptor.hasNext() ) { 6832 adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree()); 6833 } 6834 stream_reference_type_descriptor.reset(); 6835 6836 adaptor.addChild(root_1, stream_member_name.nextTree()); 6837 adaptor.addChild(root_1, stream_method_prototype.nextTree()); 6838 adaptor.addChild(root_0, root_1); 6839 } 6840 6841 } 6842 6843 6844 retval.tree = root_0; 6845 6846 } 6847 break; 6848 6849 } 6850 6851 } 6852 6853 } 6854 break; 6855 case 3 : 6856 // smaliParser.g:699:5: PRIMITIVE_TYPE 6857 { 6858 root_0 = (CommonTree)adaptor.nil(); 6859 6860 6861 PRIMITIVE_TYPE173=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2959); 6862 PRIMITIVE_TYPE173_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE173); 6863 adaptor.addChild(root_0, PRIMITIVE_TYPE173_tree); 6864 6865 } 6866 break; 6867 case 4 : 6868 // smaliParser.g:700:5: VOID_TYPE 6869 { 6870 root_0 = (CommonTree)adaptor.nil(); 6871 6872 6873 VOID_TYPE174=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_field_method_literal2965); 6874 VOID_TYPE174_tree = (CommonTree)adaptor.create(VOID_TYPE174); 6875 adaptor.addChild(root_0, VOID_TYPE174_tree); 6876 6877 } 6878 break; 6879 6880 } 6881 retval.stop = input.LT(-1); 6882 6883 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6884 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6885 6886 } 6887 catch (RecognitionException re) { 6888 reportError(re); 6889 recover(input,re); 6890 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 6891 } 6892 finally { 6893 // do for sure before leaving 6894 } 6895 return retval; 6896 } 6897 // $ANTLR end "type_field_method_literal" 6898 6899 6900 public static class method_reference_return extends ParserRuleReturnScope { 6901 CommonTree tree; 6902 @Override getTree()6903 public CommonTree getTree() { return tree; } 6904 }; 6905 6906 6907 // $ANTLR start "method_reference" 6908 // smaliParser.g:702:1: method_reference : ( reference_type_descriptor ARROW )? member_name method_prototype -> ( reference_type_descriptor )? member_name method_prototype ; method_reference()6909 public final smaliParser.method_reference_return method_reference() throws RecognitionException { 6910 smaliParser.method_reference_return retval = new smaliParser.method_reference_return(); 6911 retval.start = input.LT(1); 6912 6913 CommonTree root_0 = null; 6914 6915 Token ARROW176=null; 6916 ParserRuleReturnScope reference_type_descriptor175 =null; 6917 ParserRuleReturnScope member_name177 =null; 6918 ParserRuleReturnScope method_prototype178 =null; 6919 6920 CommonTree ARROW176_tree=null; 6921 RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW"); 6922 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 6923 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 6924 RewriteRuleSubtreeStream stream_reference_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule reference_type_descriptor"); 6925 6926 try { 6927 // smaliParser.g:703:3: ( ( reference_type_descriptor ARROW )? member_name method_prototype -> ( reference_type_descriptor )? member_name method_prototype ) 6928 // smaliParser.g:703:5: ( reference_type_descriptor ARROW )? member_name method_prototype 6929 { 6930 // smaliParser.g:703:5: ( reference_type_descriptor ARROW )? 6931 int alt32=2; 6932 int LA32_0 = input.LA(1); 6933 if ( (LA32_0==ARRAY_TYPE_PREFIX||LA32_0==CLASS_DESCRIPTOR) ) { 6934 alt32=1; 6935 } 6936 switch (alt32) { 6937 case 1 : 6938 // smaliParser.g:703:6: reference_type_descriptor ARROW 6939 { 6940 pushFollow(FOLLOW_reference_type_descriptor_in_method_reference2976); 6941 reference_type_descriptor175=reference_type_descriptor(); 6942 state._fsp--; 6943 6944 stream_reference_type_descriptor.add(reference_type_descriptor175.getTree()); 6945 ARROW176=(Token)match(input,ARROW,FOLLOW_ARROW_in_method_reference2978); 6946 stream_ARROW.add(ARROW176); 6947 6948 } 6949 break; 6950 6951 } 6952 6953 pushFollow(FOLLOW_member_name_in_method_reference2982); 6954 member_name177=member_name(); 6955 state._fsp--; 6956 6957 stream_member_name.add(member_name177.getTree()); 6958 pushFollow(FOLLOW_method_prototype_in_method_reference2984); 6959 method_prototype178=method_prototype(); 6960 state._fsp--; 6961 6962 stream_method_prototype.add(method_prototype178.getTree()); 6963 // AST REWRITE 6964 // elements: method_prototype, reference_type_descriptor, member_name 6965 // token labels: 6966 // rule labels: retval 6967 // token list labels: 6968 // rule list labels: 6969 // wildcard labels: 6970 retval.tree = root_0; 6971 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 6972 6973 root_0 = (CommonTree)adaptor.nil(); 6974 // 704:3: -> ( reference_type_descriptor )? member_name method_prototype 6975 { 6976 // smaliParser.g:704:6: ( reference_type_descriptor )? 6977 if ( stream_reference_type_descriptor.hasNext() ) { 6978 adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree()); 6979 } 6980 stream_reference_type_descriptor.reset(); 6981 6982 adaptor.addChild(root_0, stream_member_name.nextTree()); 6983 adaptor.addChild(root_0, stream_method_prototype.nextTree()); 6984 } 6985 6986 6987 retval.tree = root_0; 6988 6989 } 6990 6991 retval.stop = input.LT(-1); 6992 6993 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 6994 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 6995 6996 } 6997 catch (RecognitionException re) { 6998 reportError(re); 6999 recover(input,re); 7000 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7001 } 7002 finally { 7003 // do for sure before leaving 7004 } 7005 return retval; 7006 } 7007 // $ANTLR end "method_reference" 7008 7009 7010 public static class field_reference_return extends ParserRuleReturnScope { 7011 CommonTree tree; 7012 @Override getTree()7013 public CommonTree getTree() { return tree; } 7014 }; 7015 7016 7017 // $ANTLR start "field_reference" 7018 // smaliParser.g:706:1: field_reference : ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor ; field_reference()7019 public final smaliParser.field_reference_return field_reference() throws RecognitionException { 7020 smaliParser.field_reference_return retval = new smaliParser.field_reference_return(); 7021 retval.start = input.LT(1); 7022 7023 CommonTree root_0 = null; 7024 7025 Token ARROW180=null; 7026 Token COLON182=null; 7027 ParserRuleReturnScope reference_type_descriptor179 =null; 7028 ParserRuleReturnScope member_name181 =null; 7029 ParserRuleReturnScope nonvoid_type_descriptor183 =null; 7030 7031 CommonTree ARROW180_tree=null; 7032 CommonTree COLON182_tree=null; 7033 RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW"); 7034 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 7035 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 7036 RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name"); 7037 RewriteRuleSubtreeStream stream_reference_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule reference_type_descriptor"); 7038 7039 try { 7040 // smaliParser.g:707:3: ( ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) 7041 // smaliParser.g:707:5: ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor 7042 { 7043 // smaliParser.g:707:5: ( reference_type_descriptor ARROW )? 7044 int alt33=2; 7045 int LA33_0 = input.LA(1); 7046 if ( (LA33_0==ARRAY_TYPE_PREFIX||LA33_0==CLASS_DESCRIPTOR) ) { 7047 alt33=1; 7048 } 7049 switch (alt33) { 7050 case 1 : 7051 // smaliParser.g:707:6: reference_type_descriptor ARROW 7052 { 7053 pushFollow(FOLLOW_reference_type_descriptor_in_field_reference3006); 7054 reference_type_descriptor179=reference_type_descriptor(); 7055 state._fsp--; 7056 7057 stream_reference_type_descriptor.add(reference_type_descriptor179.getTree()); 7058 ARROW180=(Token)match(input,ARROW,FOLLOW_ARROW_in_field_reference3008); 7059 stream_ARROW.add(ARROW180); 7060 7061 } 7062 break; 7063 7064 } 7065 7066 pushFollow(FOLLOW_member_name_in_field_reference3012); 7067 member_name181=member_name(); 7068 state._fsp--; 7069 7070 stream_member_name.add(member_name181.getTree()); 7071 COLON182=(Token)match(input,COLON,FOLLOW_COLON_in_field_reference3014); 7072 stream_COLON.add(COLON182); 7073 7074 pushFollow(FOLLOW_nonvoid_type_descriptor_in_field_reference3016); 7075 nonvoid_type_descriptor183=nonvoid_type_descriptor(); 7076 state._fsp--; 7077 7078 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor183.getTree()); 7079 // AST REWRITE 7080 // elements: reference_type_descriptor, nonvoid_type_descriptor, member_name 7081 // token labels: 7082 // rule labels: retval 7083 // token list labels: 7084 // rule list labels: 7085 // wildcard labels: 7086 retval.tree = root_0; 7087 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7088 7089 root_0 = (CommonTree)adaptor.nil(); 7090 // 708:3: -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor 7091 { 7092 // smaliParser.g:708:6: ( reference_type_descriptor )? 7093 if ( stream_reference_type_descriptor.hasNext() ) { 7094 adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree()); 7095 } 7096 stream_reference_type_descriptor.reset(); 7097 7098 adaptor.addChild(root_0, stream_member_name.nextTree()); 7099 adaptor.addChild(root_0, stream_nonvoid_type_descriptor.nextTree()); 7100 } 7101 7102 7103 retval.tree = root_0; 7104 7105 } 7106 7107 retval.stop = input.LT(-1); 7108 7109 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7110 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7111 7112 } 7113 catch (RecognitionException re) { 7114 reportError(re); 7115 recover(input,re); 7116 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7117 } 7118 finally { 7119 // do for sure before leaving 7120 } 7121 return retval; 7122 } 7123 // $ANTLR end "field_reference" 7124 7125 7126 public static class label_return extends ParserRuleReturnScope { 7127 CommonTree tree; 7128 @Override getTree()7129 public CommonTree getTree() { return tree; } 7130 }; 7131 7132 7133 // $ANTLR start "label" 7134 // smaliParser.g:710:1: label : COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) ; label()7135 public final smaliParser.label_return label() throws RecognitionException { 7136 smaliParser.label_return retval = new smaliParser.label_return(); 7137 retval.start = input.LT(1); 7138 7139 CommonTree root_0 = null; 7140 7141 Token COLON184=null; 7142 ParserRuleReturnScope simple_name185 =null; 7143 7144 CommonTree COLON184_tree=null; 7145 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 7146 RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name"); 7147 7148 try { 7149 // smaliParser.g:711:3: ( COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) ) 7150 // smaliParser.g:711:5: COLON simple_name 7151 { 7152 COLON184=(Token)match(input,COLON,FOLLOW_COLON_in_label3037); 7153 stream_COLON.add(COLON184); 7154 7155 pushFollow(FOLLOW_simple_name_in_label3039); 7156 simple_name185=simple_name(); 7157 state._fsp--; 7158 7159 stream_simple_name.add(simple_name185.getTree()); 7160 // AST REWRITE 7161 // elements: simple_name 7162 // token labels: 7163 // rule labels: retval 7164 // token list labels: 7165 // rule list labels: 7166 // wildcard labels: 7167 retval.tree = root_0; 7168 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7169 7170 root_0 = (CommonTree)adaptor.nil(); 7171 // 711:23: -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) 7172 { 7173 // smaliParser.g:711:26: ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) 7174 { 7175 CommonTree root_1 = (CommonTree)adaptor.nil(); 7176 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LABEL, COLON184, "I_LABEL"), root_1); 7177 adaptor.addChild(root_1, stream_simple_name.nextTree()); 7178 adaptor.addChild(root_0, root_1); 7179 } 7180 7181 } 7182 7183 7184 retval.tree = root_0; 7185 7186 } 7187 7188 retval.stop = input.LT(-1); 7189 7190 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7191 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7192 7193 } 7194 catch (RecognitionException re) { 7195 reportError(re); 7196 recover(input,re); 7197 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7198 } 7199 finally { 7200 // do for sure before leaving 7201 } 7202 return retval; 7203 } 7204 // $ANTLR end "label" 7205 7206 7207 public static class label_ref_return extends ParserRuleReturnScope { 7208 CommonTree tree; 7209 @Override getTree()7210 public CommonTree getTree() { return tree; } 7211 }; 7212 7213 7214 // $ANTLR start "label_ref" 7215 // smaliParser.g:713:1: label_ref : COLON simple_name -> simple_name ; label_ref()7216 public final smaliParser.label_ref_return label_ref() throws RecognitionException { 7217 smaliParser.label_ref_return retval = new smaliParser.label_ref_return(); 7218 retval.start = input.LT(1); 7219 7220 CommonTree root_0 = null; 7221 7222 Token COLON186=null; 7223 ParserRuleReturnScope simple_name187 =null; 7224 7225 CommonTree COLON186_tree=null; 7226 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 7227 RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name"); 7228 7229 try { 7230 // smaliParser.g:714:3: ( COLON simple_name -> simple_name ) 7231 // smaliParser.g:714:5: COLON simple_name 7232 { 7233 COLON186=(Token)match(input,COLON,FOLLOW_COLON_in_label_ref3058); 7234 stream_COLON.add(COLON186); 7235 7236 pushFollow(FOLLOW_simple_name_in_label_ref3060); 7237 simple_name187=simple_name(); 7238 state._fsp--; 7239 7240 stream_simple_name.add(simple_name187.getTree()); 7241 // AST REWRITE 7242 // elements: simple_name 7243 // token labels: 7244 // rule labels: retval 7245 // token list labels: 7246 // rule list labels: 7247 // wildcard labels: 7248 retval.tree = root_0; 7249 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7250 7251 root_0 = (CommonTree)adaptor.nil(); 7252 // 714:23: -> simple_name 7253 { 7254 adaptor.addChild(root_0, stream_simple_name.nextTree()); 7255 } 7256 7257 7258 retval.tree = root_0; 7259 7260 } 7261 7262 retval.stop = input.LT(-1); 7263 7264 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7265 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7266 7267 } 7268 catch (RecognitionException re) { 7269 reportError(re); 7270 recover(input,re); 7271 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7272 } 7273 finally { 7274 // do for sure before leaving 7275 } 7276 return retval; 7277 } 7278 // $ANTLR end "label_ref" 7279 7280 7281 public static class register_list_return extends ParserRuleReturnScope { 7282 CommonTree tree; 7283 @Override getTree()7284 public CommonTree getTree() { return tree; } 7285 }; 7286 7287 7288 // $ANTLR start "register_list" 7289 // smaliParser.g:716:1: register_list : ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) ); register_list()7290 public final smaliParser.register_list_return register_list() throws RecognitionException { 7291 smaliParser.register_list_return retval = new smaliParser.register_list_return(); 7292 retval.start = input.LT(1); 7293 7294 CommonTree root_0 = null; 7295 7296 Token REGISTER188=null; 7297 Token COMMA189=null; 7298 Token REGISTER190=null; 7299 7300 CommonTree REGISTER188_tree=null; 7301 CommonTree COMMA189_tree=null; 7302 CommonTree REGISTER190_tree=null; 7303 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 7304 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 7305 7306 try { 7307 // smaliParser.g:717:3: ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) ) 7308 int alt35=2; 7309 int LA35_0 = input.LA(1); 7310 if ( (LA35_0==REGISTER) ) { 7311 alt35=1; 7312 } 7313 else if ( (LA35_0==CLOSE_BRACE) ) { 7314 alt35=2; 7315 } 7316 7317 else { 7318 NoViableAltException nvae = 7319 new NoViableAltException("", 35, 0, input); 7320 throw nvae; 7321 } 7322 7323 switch (alt35) { 7324 case 1 : 7325 // smaliParser.g:717:5: REGISTER ( COMMA REGISTER )* 7326 { 7327 REGISTER188=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3074); 7328 stream_REGISTER.add(REGISTER188); 7329 7330 // smaliParser.g:717:14: ( COMMA REGISTER )* 7331 loop34: 7332 while (true) { 7333 int alt34=2; 7334 int LA34_0 = input.LA(1); 7335 if ( (LA34_0==COMMA) ) { 7336 alt34=1; 7337 } 7338 7339 switch (alt34) { 7340 case 1 : 7341 // smaliParser.g:717:15: COMMA REGISTER 7342 { 7343 COMMA189=(Token)match(input,COMMA,FOLLOW_COMMA_in_register_list3077); 7344 stream_COMMA.add(COMMA189); 7345 7346 REGISTER190=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3079); 7347 stream_REGISTER.add(REGISTER190); 7348 7349 } 7350 break; 7351 7352 default : 7353 break loop34; 7354 } 7355 } 7356 7357 // AST REWRITE 7358 // elements: REGISTER 7359 // token labels: 7360 // rule labels: retval 7361 // token list labels: 7362 // rule list labels: 7363 // wildcard labels: 7364 retval.tree = root_0; 7365 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7366 7367 root_0 = (CommonTree)adaptor.nil(); 7368 // 717:32: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) 7369 { 7370 // smaliParser.g:717:35: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) 7371 { 7372 CommonTree root_1 = (CommonTree)adaptor.nil(); 7373 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_LIST, (retval.start), "I_REGISTER_LIST"), root_1); 7374 // smaliParser.g:717:80: ( REGISTER )* 7375 while ( stream_REGISTER.hasNext() ) { 7376 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 7377 } 7378 stream_REGISTER.reset(); 7379 7380 adaptor.addChild(root_0, root_1); 7381 } 7382 7383 } 7384 7385 7386 retval.tree = root_0; 7387 7388 } 7389 break; 7390 case 2 : 7391 // smaliParser.g:718:5: 7392 { 7393 // AST REWRITE 7394 // elements: 7395 // token labels: 7396 // rule labels: retval 7397 // token list labels: 7398 // rule list labels: 7399 // wildcard labels: 7400 retval.tree = root_0; 7401 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7402 7403 root_0 = (CommonTree)adaptor.nil(); 7404 // 718:5: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) 7405 { 7406 // smaliParser.g:718:7: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) 7407 { 7408 CommonTree root_1 = (CommonTree)adaptor.nil(); 7409 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_LIST, (retval.start), "I_REGISTER_LIST"), root_1); 7410 adaptor.addChild(root_0, root_1); 7411 } 7412 7413 } 7414 7415 7416 retval.tree = root_0; 7417 7418 } 7419 break; 7420 7421 } 7422 retval.stop = input.LT(-1); 7423 7424 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7425 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7426 7427 } 7428 catch (RecognitionException re) { 7429 reportError(re); 7430 recover(input,re); 7431 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7432 } 7433 finally { 7434 // do for sure before leaving 7435 } 7436 return retval; 7437 } 7438 // $ANTLR end "register_list" 7439 7440 7441 public static class register_range_return extends ParserRuleReturnScope { 7442 CommonTree tree; 7443 @Override getTree()7444 public CommonTree getTree() { return tree; } 7445 }; 7446 7447 7448 // $ANTLR start "register_range" 7449 // smaliParser.g:720:1: register_range : (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) ; register_range()7450 public final smaliParser.register_range_return register_range() throws RecognitionException { 7451 smaliParser.register_range_return retval = new smaliParser.register_range_return(); 7452 retval.start = input.LT(1); 7453 7454 CommonTree root_0 = null; 7455 7456 Token startreg=null; 7457 Token endreg=null; 7458 Token DOTDOT191=null; 7459 7460 CommonTree startreg_tree=null; 7461 CommonTree endreg_tree=null; 7462 CommonTree DOTDOT191_tree=null; 7463 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 7464 RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT"); 7465 7466 try { 7467 // smaliParser.g:721:3: ( (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) ) 7468 // smaliParser.g:721:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? 7469 { 7470 // smaliParser.g:721:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? 7471 int alt37=2; 7472 int LA37_0 = input.LA(1); 7473 if ( (LA37_0==REGISTER) ) { 7474 alt37=1; 7475 } 7476 switch (alt37) { 7477 case 1 : 7478 // smaliParser.g:721:6: startreg= REGISTER ( DOTDOT endreg= REGISTER )? 7479 { 7480 startreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3114); 7481 stream_REGISTER.add(startreg); 7482 7483 // smaliParser.g:721:24: ( DOTDOT endreg= REGISTER )? 7484 int alt36=2; 7485 int LA36_0 = input.LA(1); 7486 if ( (LA36_0==DOTDOT) ) { 7487 alt36=1; 7488 } 7489 switch (alt36) { 7490 case 1 : 7491 // smaliParser.g:721:25: DOTDOT endreg= REGISTER 7492 { 7493 DOTDOT191=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_register_range3117); 7494 stream_DOTDOT.add(DOTDOT191); 7495 7496 endreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3121); 7497 stream_REGISTER.add(endreg); 7498 7499 } 7500 break; 7501 7502 } 7503 7504 } 7505 break; 7506 7507 } 7508 7509 // AST REWRITE 7510 // elements: startreg, endreg 7511 // token labels: startreg, endreg 7512 // rule labels: retval 7513 // token list labels: 7514 // rule list labels: 7515 // wildcard labels: 7516 retval.tree = root_0; 7517 RewriteRuleTokenStream stream_startreg=new RewriteRuleTokenStream(adaptor,"token startreg",startreg); 7518 RewriteRuleTokenStream stream_endreg=new RewriteRuleTokenStream(adaptor,"token endreg",endreg); 7519 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7520 7521 root_0 = (CommonTree)adaptor.nil(); 7522 // 721:52: -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) 7523 { 7524 // smaliParser.g:721:55: ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) 7525 { 7526 CommonTree root_1 = (CommonTree)adaptor.nil(); 7527 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_RANGE, (retval.start), "I_REGISTER_RANGE"), root_1); 7528 // smaliParser.g:721:103: ( $startreg)? 7529 if ( stream_startreg.hasNext() ) { 7530 adaptor.addChild(root_1, stream_startreg.nextNode()); 7531 } 7532 stream_startreg.reset(); 7533 7534 // smaliParser.g:721:114: ( $endreg)? 7535 if ( stream_endreg.hasNext() ) { 7536 adaptor.addChild(root_1, stream_endreg.nextNode()); 7537 } 7538 stream_endreg.reset(); 7539 7540 adaptor.addChild(root_0, root_1); 7541 } 7542 7543 } 7544 7545 7546 retval.tree = root_0; 7547 7548 } 7549 7550 retval.stop = input.LT(-1); 7551 7552 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7553 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7554 7555 } 7556 catch (RecognitionException re) { 7557 reportError(re); 7558 recover(input,re); 7559 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7560 } 7561 finally { 7562 // do for sure before leaving 7563 } 7564 return retval; 7565 } 7566 // $ANTLR end "register_range" 7567 7568 7569 public static class verification_error_reference_return extends ParserRuleReturnScope { 7570 CommonTree tree; 7571 @Override getTree()7572 public CommonTree getTree() { return tree; } 7573 }; 7574 7575 7576 // $ANTLR start "verification_error_reference" 7577 // smaliParser.g:723:1: verification_error_reference : ( CLASS_DESCRIPTOR | field_reference | method_reference ); verification_error_reference()7578 public final smaliParser.verification_error_reference_return verification_error_reference() throws RecognitionException { 7579 smaliParser.verification_error_reference_return retval = new smaliParser.verification_error_reference_return(); 7580 retval.start = input.LT(1); 7581 7582 CommonTree root_0 = null; 7583 7584 Token CLASS_DESCRIPTOR192=null; 7585 ParserRuleReturnScope field_reference193 =null; 7586 ParserRuleReturnScope method_reference194 =null; 7587 7588 CommonTree CLASS_DESCRIPTOR192_tree=null; 7589 7590 try { 7591 // smaliParser.g:724:3: ( CLASS_DESCRIPTOR | field_reference | method_reference ) 7592 int alt38=3; 7593 alt38 = dfa38.predict(input); 7594 switch (alt38) { 7595 case 1 : 7596 // smaliParser.g:724:5: CLASS_DESCRIPTOR 7597 { 7598 root_0 = (CommonTree)adaptor.nil(); 7599 7600 7601 CLASS_DESCRIPTOR192=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3150); 7602 CLASS_DESCRIPTOR192_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR192); 7603 adaptor.addChild(root_0, CLASS_DESCRIPTOR192_tree); 7604 7605 } 7606 break; 7607 case 2 : 7608 // smaliParser.g:724:24: field_reference 7609 { 7610 root_0 = (CommonTree)adaptor.nil(); 7611 7612 7613 pushFollow(FOLLOW_field_reference_in_verification_error_reference3154); 7614 field_reference193=field_reference(); 7615 state._fsp--; 7616 7617 adaptor.addChild(root_0, field_reference193.getTree()); 7618 7619 } 7620 break; 7621 case 3 : 7622 // smaliParser.g:724:42: method_reference 7623 { 7624 root_0 = (CommonTree)adaptor.nil(); 7625 7626 7627 pushFollow(FOLLOW_method_reference_in_verification_error_reference3158); 7628 method_reference194=method_reference(); 7629 state._fsp--; 7630 7631 adaptor.addChild(root_0, method_reference194.getTree()); 7632 7633 } 7634 break; 7635 7636 } 7637 retval.stop = input.LT(-1); 7638 7639 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7640 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7641 7642 } 7643 catch (RecognitionException re) { 7644 reportError(re); 7645 recover(input,re); 7646 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7647 } 7648 finally { 7649 // do for sure before leaving 7650 } 7651 return retval; 7652 } 7653 // $ANTLR end "verification_error_reference" 7654 7655 7656 public static class catch_directive_return extends ParserRuleReturnScope { 7657 CommonTree tree; 7658 @Override getTree()7659 public CommonTree getTree() { return tree; } 7660 }; 7661 7662 7663 // $ANTLR start "catch_directive" 7664 // smaliParser.g:726:1: catch_directive : CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) ; catch_directive()7665 public final smaliParser.catch_directive_return catch_directive() throws RecognitionException { 7666 smaliParser.catch_directive_return retval = new smaliParser.catch_directive_return(); 7667 retval.start = input.LT(1); 7668 7669 CommonTree root_0 = null; 7670 7671 Token CATCH_DIRECTIVE195=null; 7672 Token OPEN_BRACE197=null; 7673 Token DOTDOT198=null; 7674 Token CLOSE_BRACE199=null; 7675 ParserRuleReturnScope from =null; 7676 ParserRuleReturnScope to =null; 7677 ParserRuleReturnScope using =null; 7678 ParserRuleReturnScope nonvoid_type_descriptor196 =null; 7679 7680 CommonTree CATCH_DIRECTIVE195_tree=null; 7681 CommonTree OPEN_BRACE197_tree=null; 7682 CommonTree DOTDOT198_tree=null; 7683 CommonTree CLOSE_BRACE199_tree=null; 7684 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 7685 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 7686 RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT"); 7687 RewriteRuleTokenStream stream_CATCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token CATCH_DIRECTIVE"); 7688 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 7689 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 7690 7691 try { 7692 // smaliParser.g:727:3: ( CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) ) 7693 // smaliParser.g:727:5: CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref 7694 { 7695 CATCH_DIRECTIVE195=(Token)match(input,CATCH_DIRECTIVE,FOLLOW_CATCH_DIRECTIVE_in_catch_directive3168); 7696 stream_CATCH_DIRECTIVE.add(CATCH_DIRECTIVE195); 7697 7698 pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive3170); 7699 nonvoid_type_descriptor196=nonvoid_type_descriptor(); 7700 state._fsp--; 7701 7702 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor196.getTree()); 7703 OPEN_BRACE197=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catch_directive3172); 7704 stream_OPEN_BRACE.add(OPEN_BRACE197); 7705 7706 pushFollow(FOLLOW_label_ref_in_catch_directive3176); 7707 from=label_ref(); 7708 state._fsp--; 7709 7710 stream_label_ref.add(from.getTree()); 7711 DOTDOT198=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catch_directive3178); 7712 stream_DOTDOT.add(DOTDOT198); 7713 7714 pushFollow(FOLLOW_label_ref_in_catch_directive3182); 7715 to=label_ref(); 7716 state._fsp--; 7717 7718 stream_label_ref.add(to.getTree()); 7719 CLOSE_BRACE199=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catch_directive3184); 7720 stream_CLOSE_BRACE.add(CLOSE_BRACE199); 7721 7722 pushFollow(FOLLOW_label_ref_in_catch_directive3188); 7723 using=label_ref(); 7724 state._fsp--; 7725 7726 stream_label_ref.add(using.getTree()); 7727 // AST REWRITE 7728 // elements: from, nonvoid_type_descriptor, using, to 7729 // token labels: 7730 // rule labels: using, from, to, retval 7731 // token list labels: 7732 // rule list labels: 7733 // wildcard labels: 7734 retval.tree = root_0; 7735 RewriteRuleSubtreeStream stream_using=new RewriteRuleSubtreeStream(adaptor,"rule using",using!=null?using.getTree():null); 7736 RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"rule from",from!=null?from.getTree():null); 7737 RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"rule to",to!=null?to.getTree():null); 7738 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7739 7740 root_0 = (CommonTree)adaptor.nil(); 7741 // 728:5: -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) 7742 { 7743 // smaliParser.g:728:8: ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) 7744 { 7745 CommonTree root_1 = (CommonTree)adaptor.nil(); 7746 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCH, (retval.start), "I_CATCH"), root_1); 7747 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 7748 adaptor.addChild(root_1, stream_from.nextTree()); 7749 adaptor.addChild(root_1, stream_to.nextTree()); 7750 adaptor.addChild(root_1, stream_using.nextTree()); 7751 adaptor.addChild(root_0, root_1); 7752 } 7753 7754 } 7755 7756 7757 retval.tree = root_0; 7758 7759 } 7760 7761 retval.stop = input.LT(-1); 7762 7763 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7764 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7765 7766 } 7767 catch (RecognitionException re) { 7768 reportError(re); 7769 recover(input,re); 7770 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7771 } 7772 finally { 7773 // do for sure before leaving 7774 } 7775 return retval; 7776 } 7777 // $ANTLR end "catch_directive" 7778 7779 7780 public static class catchall_directive_return extends ParserRuleReturnScope { 7781 CommonTree tree; 7782 @Override getTree()7783 public CommonTree getTree() { return tree; } 7784 }; 7785 7786 7787 // $ANTLR start "catchall_directive" 7788 // smaliParser.g:730:1: catchall_directive : CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) ; catchall_directive()7789 public final smaliParser.catchall_directive_return catchall_directive() throws RecognitionException { 7790 smaliParser.catchall_directive_return retval = new smaliParser.catchall_directive_return(); 7791 retval.start = input.LT(1); 7792 7793 CommonTree root_0 = null; 7794 7795 Token CATCHALL_DIRECTIVE200=null; 7796 Token OPEN_BRACE201=null; 7797 Token DOTDOT202=null; 7798 Token CLOSE_BRACE203=null; 7799 ParserRuleReturnScope from =null; 7800 ParserRuleReturnScope to =null; 7801 ParserRuleReturnScope using =null; 7802 7803 CommonTree CATCHALL_DIRECTIVE200_tree=null; 7804 CommonTree OPEN_BRACE201_tree=null; 7805 CommonTree DOTDOT202_tree=null; 7806 CommonTree CLOSE_BRACE203_tree=null; 7807 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 7808 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 7809 RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT"); 7810 RewriteRuleTokenStream stream_CATCHALL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token CATCHALL_DIRECTIVE"); 7811 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 7812 7813 try { 7814 // smaliParser.g:731:3: ( CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) ) 7815 // smaliParser.g:731:5: CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref 7816 { 7817 CATCHALL_DIRECTIVE200=(Token)match(input,CATCHALL_DIRECTIVE,FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3220); 7818 stream_CATCHALL_DIRECTIVE.add(CATCHALL_DIRECTIVE200); 7819 7820 OPEN_BRACE201=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catchall_directive3222); 7821 stream_OPEN_BRACE.add(OPEN_BRACE201); 7822 7823 pushFollow(FOLLOW_label_ref_in_catchall_directive3226); 7824 from=label_ref(); 7825 state._fsp--; 7826 7827 stream_label_ref.add(from.getTree()); 7828 DOTDOT202=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catchall_directive3228); 7829 stream_DOTDOT.add(DOTDOT202); 7830 7831 pushFollow(FOLLOW_label_ref_in_catchall_directive3232); 7832 to=label_ref(); 7833 state._fsp--; 7834 7835 stream_label_ref.add(to.getTree()); 7836 CLOSE_BRACE203=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catchall_directive3234); 7837 stream_CLOSE_BRACE.add(CLOSE_BRACE203); 7838 7839 pushFollow(FOLLOW_label_ref_in_catchall_directive3238); 7840 using=label_ref(); 7841 state._fsp--; 7842 7843 stream_label_ref.add(using.getTree()); 7844 // AST REWRITE 7845 // elements: using, to, from 7846 // token labels: 7847 // rule labels: using, from, to, retval 7848 // token list labels: 7849 // rule list labels: 7850 // wildcard labels: 7851 retval.tree = root_0; 7852 RewriteRuleSubtreeStream stream_using=new RewriteRuleSubtreeStream(adaptor,"rule using",using!=null?using.getTree():null); 7853 RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"rule from",from!=null?from.getTree():null); 7854 RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"rule to",to!=null?to.getTree():null); 7855 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 7856 7857 root_0 = (CommonTree)adaptor.nil(); 7858 // 732:5: -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) 7859 { 7860 // smaliParser.g:732:8: ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) 7861 { 7862 CommonTree root_1 = (CommonTree)adaptor.nil(); 7863 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCHALL, (retval.start), "I_CATCHALL"), root_1); 7864 adaptor.addChild(root_1, stream_from.nextTree()); 7865 adaptor.addChild(root_1, stream_to.nextTree()); 7866 adaptor.addChild(root_1, stream_using.nextTree()); 7867 adaptor.addChild(root_0, root_1); 7868 } 7869 7870 } 7871 7872 7873 retval.tree = root_0; 7874 7875 } 7876 7877 retval.stop = input.LT(-1); 7878 7879 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 7880 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 7881 7882 } 7883 catch (RecognitionException re) { 7884 reportError(re); 7885 recover(input,re); 7886 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 7887 } 7888 finally { 7889 // do for sure before leaving 7890 } 7891 return retval; 7892 } 7893 // $ANTLR end "catchall_directive" 7894 7895 7896 public static class parameter_directive_return extends ParserRuleReturnScope { 7897 CommonTree tree; 7898 @Override getTree()7899 public CommonTree getTree() { return tree; } 7900 }; 7901 7902 7903 // $ANTLR start "parameter_directive" 7904 // smaliParser.g:738:1: parameter_directive : PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) ; parameter_directive()7905 public final smaliParser.parameter_directive_return parameter_directive() throws RecognitionException { 7906 smaliParser.parameter_directive_return retval = new smaliParser.parameter_directive_return(); 7907 retval.start = input.LT(1); 7908 7909 CommonTree root_0 = null; 7910 7911 Token PARAMETER_DIRECTIVE204=null; 7912 Token REGISTER205=null; 7913 Token COMMA206=null; 7914 Token STRING_LITERAL207=null; 7915 Token END_PARAMETER_DIRECTIVE209=null; 7916 ParserRuleReturnScope annotation208 =null; 7917 7918 CommonTree PARAMETER_DIRECTIVE204_tree=null; 7919 CommonTree REGISTER205_tree=null; 7920 CommonTree COMMA206_tree=null; 7921 CommonTree STRING_LITERAL207_tree=null; 7922 CommonTree END_PARAMETER_DIRECTIVE209_tree=null; 7923 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 7924 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 7925 RewriteRuleTokenStream stream_PARAMETER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PARAMETER_DIRECTIVE"); 7926 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 7927 RewriteRuleTokenStream stream_END_PARAMETER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_PARAMETER_DIRECTIVE"); 7928 RewriteRuleSubtreeStream stream_annotation=new RewriteRuleSubtreeStream(adaptor,"rule annotation"); 7929 7930 List<CommonTree> annotations = new ArrayList<CommonTree>(); 7931 try { 7932 // smaliParser.g:740:3: ( PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) ) 7933 // smaliParser.g:740:5: PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) 7934 { 7935 PARAMETER_DIRECTIVE204=(Token)match(input,PARAMETER_DIRECTIVE,FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3277); 7936 stream_PARAMETER_DIRECTIVE.add(PARAMETER_DIRECTIVE204); 7937 7938 REGISTER205=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_parameter_directive3279); 7939 stream_REGISTER.add(REGISTER205); 7940 7941 // smaliParser.g:740:34: ( COMMA STRING_LITERAL )? 7942 int alt39=2; 7943 int LA39_0 = input.LA(1); 7944 if ( (LA39_0==COMMA) ) { 7945 alt39=1; 7946 } 7947 switch (alt39) { 7948 case 1 : 7949 // smaliParser.g:740:35: COMMA STRING_LITERAL 7950 { 7951 COMMA206=(Token)match(input,COMMA,FOLLOW_COMMA_in_parameter_directive3282); 7952 stream_COMMA.add(COMMA206); 7953 7954 STRING_LITERAL207=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_parameter_directive3284); 7955 stream_STRING_LITERAL.add(STRING_LITERAL207); 7956 7957 } 7958 break; 7959 7960 } 7961 7962 // smaliParser.g:741:5: ({...}? annotation )* 7963 loop40: 7964 while (true) { 7965 int alt40=2; 7966 alt40 = dfa40.predict(input); 7967 switch (alt40) { 7968 case 1 : 7969 // smaliParser.g:741:6: {...}? annotation 7970 { 7971 if ( !((input.LA(1) == ANNOTATION_DIRECTIVE)) ) { 7972 throw new FailedPredicateException(input, "parameter_directive", "input.LA(1) == ANNOTATION_DIRECTIVE"); 7973 } 7974 pushFollow(FOLLOW_annotation_in_parameter_directive3295); 7975 annotation208=annotation(); 7976 state._fsp--; 7977 7978 stream_annotation.add(annotation208.getTree()); 7979 annotations.add((annotation208!=null?((CommonTree)annotation208.getTree()):null)); 7980 } 7981 break; 7982 7983 default : 7984 break loop40; 7985 } 7986 } 7987 7988 // smaliParser.g:743:5: ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) 7989 int alt41=2; 7990 int LA41_0 = input.LA(1); 7991 if ( (LA41_0==END_PARAMETER_DIRECTIVE) ) { 7992 alt41=1; 7993 } 7994 else if ( (LA41_0==ANNOTATION_DIRECTIVE||LA41_0==ARRAY_DATA_DIRECTIVE||(LA41_0 >= CATCHALL_DIRECTIVE && LA41_0 <= CATCH_DIRECTIVE)||LA41_0==COLON||(LA41_0 >= END_LOCAL_DIRECTIVE && LA41_0 <= END_METHOD_DIRECTIVE)||LA41_0==EPILOGUE_DIRECTIVE||(LA41_0 >= INSTRUCTION_FORMAT10t && LA41_0 <= INSTRUCTION_FORMAT51l)||(LA41_0 >= LINE_DIRECTIVE && LA41_0 <= LOCAL_DIRECTIVE)||(LA41_0 >= PACKED_SWITCH_DIRECTIVE && LA41_0 <= PARAMETER_DIRECTIVE)||LA41_0==PROLOGUE_DIRECTIVE||(LA41_0 >= REGISTERS_DIRECTIVE && LA41_0 <= RESTART_LOCAL_DIRECTIVE)||(LA41_0 >= SOURCE_DIRECTIVE && LA41_0 <= SPARSE_SWITCH_DIRECTIVE)) ) { 7995 alt41=2; 7996 } 7997 7998 else { 7999 NoViableAltException nvae = 8000 new NoViableAltException("", 41, 0, input); 8001 throw nvae; 8002 } 8003 8004 switch (alt41) { 8005 case 1 : 8006 // smaliParser.g:743:7: END_PARAMETER_DIRECTIVE 8007 { 8008 END_PARAMETER_DIRECTIVE209=(Token)match(input,END_PARAMETER_DIRECTIVE,FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3308); 8009 stream_END_PARAMETER_DIRECTIVE.add(END_PARAMETER_DIRECTIVE209); 8010 8011 // AST REWRITE 8012 // elements: STRING_LITERAL, annotation, REGISTER 8013 // token labels: 8014 // rule labels: retval 8015 // token list labels: 8016 // rule list labels: 8017 // wildcard labels: 8018 retval.tree = root_0; 8019 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8020 8021 root_0 = (CommonTree)adaptor.nil(); 8022 // 744:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) 8023 { 8024 // smaliParser.g:744:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) 8025 { 8026 CommonTree root_1 = (CommonTree)adaptor.nil(); 8027 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETER, (retval.start), "I_PARAMETER"), root_1); 8028 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 8029 // smaliParser.g:744:56: ( STRING_LITERAL )? 8030 if ( stream_STRING_LITERAL.hasNext() ) { 8031 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 8032 } 8033 stream_STRING_LITERAL.reset(); 8034 8035 // smaliParser.g:744:72: ^( I_ANNOTATIONS ( annotation )* ) 8036 { 8037 CommonTree root_2 = (CommonTree)adaptor.nil(); 8038 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 8039 // smaliParser.g:744:88: ( annotation )* 8040 while ( stream_annotation.hasNext() ) { 8041 adaptor.addChild(root_2, stream_annotation.nextTree()); 8042 } 8043 stream_annotation.reset(); 8044 8045 adaptor.addChild(root_1, root_2); 8046 } 8047 8048 adaptor.addChild(root_0, root_1); 8049 } 8050 8051 } 8052 8053 8054 retval.tree = root_0; 8055 8056 } 8057 break; 8058 case 2 : 8059 // smaliParser.g:745:19: 8060 { 8061 statements_and_directives_stack.peek().methodAnnotations.addAll(annotations); 8062 // AST REWRITE 8063 // elements: STRING_LITERAL, REGISTER 8064 // token labels: 8065 // rule labels: retval 8066 // token list labels: 8067 // rule list labels: 8068 // wildcard labels: 8069 retval.tree = root_0; 8070 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8071 8072 root_0 = (CommonTree)adaptor.nil(); 8073 // 746:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) 8074 { 8075 // smaliParser.g:746:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) 8076 { 8077 CommonTree root_1 = (CommonTree)adaptor.nil(); 8078 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETER, (retval.start), "I_PARAMETER"), root_1); 8079 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 8080 // smaliParser.g:746:56: ( STRING_LITERAL )? 8081 if ( stream_STRING_LITERAL.hasNext() ) { 8082 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 8083 } 8084 stream_STRING_LITERAL.reset(); 8085 8086 // smaliParser.g:746:72: ^( I_ANNOTATIONS ) 8087 { 8088 CommonTree root_2 = (CommonTree)adaptor.nil(); 8089 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2); 8090 adaptor.addChild(root_1, root_2); 8091 } 8092 8093 adaptor.addChild(root_0, root_1); 8094 } 8095 8096 } 8097 8098 8099 retval.tree = root_0; 8100 8101 } 8102 break; 8103 8104 } 8105 8106 } 8107 8108 retval.stop = input.LT(-1); 8109 8110 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8111 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8112 8113 } 8114 catch (RecognitionException re) { 8115 reportError(re); 8116 recover(input,re); 8117 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8118 } 8119 finally { 8120 // do for sure before leaving 8121 } 8122 return retval; 8123 } 8124 // $ANTLR end "parameter_directive" 8125 8126 8127 public static class debug_directive_return extends ParserRuleReturnScope { 8128 CommonTree tree; 8129 @Override getTree()8130 public CommonTree getTree() { return tree; } 8131 }; 8132 8133 8134 // $ANTLR start "debug_directive" 8135 // smaliParser.g:749:1: debug_directive : ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive ); debug_directive()8136 public final smaliParser.debug_directive_return debug_directive() throws RecognitionException { 8137 smaliParser.debug_directive_return retval = new smaliParser.debug_directive_return(); 8138 retval.start = input.LT(1); 8139 8140 CommonTree root_0 = null; 8141 8142 ParserRuleReturnScope line_directive210 =null; 8143 ParserRuleReturnScope local_directive211 =null; 8144 ParserRuleReturnScope end_local_directive212 =null; 8145 ParserRuleReturnScope restart_local_directive213 =null; 8146 ParserRuleReturnScope prologue_directive214 =null; 8147 ParserRuleReturnScope epilogue_directive215 =null; 8148 ParserRuleReturnScope source_directive216 =null; 8149 8150 8151 try { 8152 // smaliParser.g:750:3: ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive ) 8153 int alt42=7; 8154 switch ( input.LA(1) ) { 8155 case LINE_DIRECTIVE: 8156 { 8157 alt42=1; 8158 } 8159 break; 8160 case LOCAL_DIRECTIVE: 8161 { 8162 alt42=2; 8163 } 8164 break; 8165 case END_LOCAL_DIRECTIVE: 8166 { 8167 alt42=3; 8168 } 8169 break; 8170 case RESTART_LOCAL_DIRECTIVE: 8171 { 8172 alt42=4; 8173 } 8174 break; 8175 case PROLOGUE_DIRECTIVE: 8176 { 8177 alt42=5; 8178 } 8179 break; 8180 case EPILOGUE_DIRECTIVE: 8181 { 8182 alt42=6; 8183 } 8184 break; 8185 case SOURCE_DIRECTIVE: 8186 { 8187 alt42=7; 8188 } 8189 break; 8190 default: 8191 NoViableAltException nvae = 8192 new NoViableAltException("", 42, 0, input); 8193 throw nvae; 8194 } 8195 switch (alt42) { 8196 case 1 : 8197 // smaliParser.g:750:5: line_directive 8198 { 8199 root_0 = (CommonTree)adaptor.nil(); 8200 8201 8202 pushFollow(FOLLOW_line_directive_in_debug_directive3381); 8203 line_directive210=line_directive(); 8204 state._fsp--; 8205 8206 adaptor.addChild(root_0, line_directive210.getTree()); 8207 8208 } 8209 break; 8210 case 2 : 8211 // smaliParser.g:751:5: local_directive 8212 { 8213 root_0 = (CommonTree)adaptor.nil(); 8214 8215 8216 pushFollow(FOLLOW_local_directive_in_debug_directive3387); 8217 local_directive211=local_directive(); 8218 state._fsp--; 8219 8220 adaptor.addChild(root_0, local_directive211.getTree()); 8221 8222 } 8223 break; 8224 case 3 : 8225 // smaliParser.g:752:5: end_local_directive 8226 { 8227 root_0 = (CommonTree)adaptor.nil(); 8228 8229 8230 pushFollow(FOLLOW_end_local_directive_in_debug_directive3393); 8231 end_local_directive212=end_local_directive(); 8232 state._fsp--; 8233 8234 adaptor.addChild(root_0, end_local_directive212.getTree()); 8235 8236 } 8237 break; 8238 case 4 : 8239 // smaliParser.g:753:5: restart_local_directive 8240 { 8241 root_0 = (CommonTree)adaptor.nil(); 8242 8243 8244 pushFollow(FOLLOW_restart_local_directive_in_debug_directive3399); 8245 restart_local_directive213=restart_local_directive(); 8246 state._fsp--; 8247 8248 adaptor.addChild(root_0, restart_local_directive213.getTree()); 8249 8250 } 8251 break; 8252 case 5 : 8253 // smaliParser.g:754:5: prologue_directive 8254 { 8255 root_0 = (CommonTree)adaptor.nil(); 8256 8257 8258 pushFollow(FOLLOW_prologue_directive_in_debug_directive3405); 8259 prologue_directive214=prologue_directive(); 8260 state._fsp--; 8261 8262 adaptor.addChild(root_0, prologue_directive214.getTree()); 8263 8264 } 8265 break; 8266 case 6 : 8267 // smaliParser.g:755:5: epilogue_directive 8268 { 8269 root_0 = (CommonTree)adaptor.nil(); 8270 8271 8272 pushFollow(FOLLOW_epilogue_directive_in_debug_directive3411); 8273 epilogue_directive215=epilogue_directive(); 8274 state._fsp--; 8275 8276 adaptor.addChild(root_0, epilogue_directive215.getTree()); 8277 8278 } 8279 break; 8280 case 7 : 8281 // smaliParser.g:756:5: source_directive 8282 { 8283 root_0 = (CommonTree)adaptor.nil(); 8284 8285 8286 pushFollow(FOLLOW_source_directive_in_debug_directive3417); 8287 source_directive216=source_directive(); 8288 state._fsp--; 8289 8290 adaptor.addChild(root_0, source_directive216.getTree()); 8291 8292 } 8293 break; 8294 8295 } 8296 retval.stop = input.LT(-1); 8297 8298 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8299 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8300 8301 } 8302 catch (RecognitionException re) { 8303 reportError(re); 8304 recover(input,re); 8305 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8306 } 8307 finally { 8308 // do for sure before leaving 8309 } 8310 return retval; 8311 } 8312 // $ANTLR end "debug_directive" 8313 8314 8315 public static class line_directive_return extends ParserRuleReturnScope { 8316 CommonTree tree; 8317 @Override getTree()8318 public CommonTree getTree() { return tree; } 8319 }; 8320 8321 8322 // $ANTLR start "line_directive" 8323 // smaliParser.g:758:1: line_directive : LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) ; line_directive()8324 public final smaliParser.line_directive_return line_directive() throws RecognitionException { 8325 smaliParser.line_directive_return retval = new smaliParser.line_directive_return(); 8326 retval.start = input.LT(1); 8327 8328 CommonTree root_0 = null; 8329 8330 Token LINE_DIRECTIVE217=null; 8331 ParserRuleReturnScope integral_literal218 =null; 8332 8333 CommonTree LINE_DIRECTIVE217_tree=null; 8334 RewriteRuleTokenStream stream_LINE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token LINE_DIRECTIVE"); 8335 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 8336 8337 try { 8338 // smaliParser.g:759:3: ( LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) ) 8339 // smaliParser.g:759:5: LINE_DIRECTIVE integral_literal 8340 { 8341 LINE_DIRECTIVE217=(Token)match(input,LINE_DIRECTIVE,FOLLOW_LINE_DIRECTIVE_in_line_directive3427); 8342 stream_LINE_DIRECTIVE.add(LINE_DIRECTIVE217); 8343 8344 pushFollow(FOLLOW_integral_literal_in_line_directive3429); 8345 integral_literal218=integral_literal(); 8346 state._fsp--; 8347 8348 stream_integral_literal.add(integral_literal218.getTree()); 8349 // AST REWRITE 8350 // elements: integral_literal 8351 // token labels: 8352 // rule labels: retval 8353 // token list labels: 8354 // rule list labels: 8355 // wildcard labels: 8356 retval.tree = root_0; 8357 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8358 8359 root_0 = (CommonTree)adaptor.nil(); 8360 // 760:5: -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) 8361 { 8362 // smaliParser.g:760:8: ^( I_LINE[$start, \"I_LINE\"] integral_literal ) 8363 { 8364 CommonTree root_1 = (CommonTree)adaptor.nil(); 8365 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LINE, (retval.start), "I_LINE"), root_1); 8366 adaptor.addChild(root_1, stream_integral_literal.nextTree()); 8367 adaptor.addChild(root_0, root_1); 8368 } 8369 8370 } 8371 8372 8373 retval.tree = root_0; 8374 8375 } 8376 8377 retval.stop = input.LT(-1); 8378 8379 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8380 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8381 8382 } 8383 catch (RecognitionException re) { 8384 reportError(re); 8385 recover(input,re); 8386 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8387 } 8388 finally { 8389 // do for sure before leaving 8390 } 8391 return retval; 8392 } 8393 // $ANTLR end "line_directive" 8394 8395 8396 public static class local_directive_return extends ParserRuleReturnScope { 8397 CommonTree tree; 8398 @Override getTree()8399 public CommonTree getTree() { return tree; } 8400 }; 8401 8402 8403 // $ANTLR start "local_directive" 8404 // smaliParser.g:762:1: local_directive : LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) ; local_directive()8405 public final smaliParser.local_directive_return local_directive() throws RecognitionException { 8406 smaliParser.local_directive_return retval = new smaliParser.local_directive_return(); 8407 retval.start = input.LT(1); 8408 8409 CommonTree root_0 = null; 8410 8411 Token name=null; 8412 Token signature=null; 8413 Token LOCAL_DIRECTIVE219=null; 8414 Token REGISTER220=null; 8415 Token COMMA221=null; 8416 Token NULL_LITERAL222=null; 8417 Token COLON223=null; 8418 Token VOID_TYPE224=null; 8419 Token COMMA226=null; 8420 ParserRuleReturnScope nonvoid_type_descriptor225 =null; 8421 8422 CommonTree name_tree=null; 8423 CommonTree signature_tree=null; 8424 CommonTree LOCAL_DIRECTIVE219_tree=null; 8425 CommonTree REGISTER220_tree=null; 8426 CommonTree COMMA221_tree=null; 8427 CommonTree NULL_LITERAL222_tree=null; 8428 CommonTree COLON223_tree=null; 8429 CommonTree VOID_TYPE224_tree=null; 8430 CommonTree COMMA226_tree=null; 8431 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 8432 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 8433 RewriteRuleTokenStream stream_LOCAL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token LOCAL_DIRECTIVE"); 8434 RewriteRuleTokenStream stream_VOID_TYPE=new RewriteRuleTokenStream(adaptor,"token VOID_TYPE"); 8435 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 8436 RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); 8437 RewriteRuleTokenStream stream_NULL_LITERAL=new RewriteRuleTokenStream(adaptor,"token NULL_LITERAL"); 8438 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 8439 8440 try { 8441 // smaliParser.g:763:3: ( LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) ) 8442 // smaliParser.g:763:5: LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? 8443 { 8444 LOCAL_DIRECTIVE219=(Token)match(input,LOCAL_DIRECTIVE,FOLLOW_LOCAL_DIRECTIVE_in_local_directive3452); 8445 stream_LOCAL_DIRECTIVE.add(LOCAL_DIRECTIVE219); 8446 8447 REGISTER220=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_local_directive3454); 8448 stream_REGISTER.add(REGISTER220); 8449 8450 // smaliParser.g:763:30: ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? 8451 int alt46=2; 8452 int LA46_0 = input.LA(1); 8453 if ( (LA46_0==COMMA) ) { 8454 alt46=1; 8455 } 8456 switch (alt46) { 8457 case 1 : 8458 // smaliParser.g:763:31: COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? 8459 { 8460 COMMA221=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3457); 8461 stream_COMMA.add(COMMA221); 8462 8463 // smaliParser.g:763:37: ( NULL_LITERAL |name= STRING_LITERAL ) 8464 int alt43=2; 8465 int LA43_0 = input.LA(1); 8466 if ( (LA43_0==NULL_LITERAL) ) { 8467 alt43=1; 8468 } 8469 else if ( (LA43_0==STRING_LITERAL) ) { 8470 alt43=2; 8471 } 8472 8473 else { 8474 NoViableAltException nvae = 8475 new NoViableAltException("", 43, 0, input); 8476 throw nvae; 8477 } 8478 8479 switch (alt43) { 8480 case 1 : 8481 // smaliParser.g:763:38: NULL_LITERAL 8482 { 8483 NULL_LITERAL222=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local_directive3460); 8484 stream_NULL_LITERAL.add(NULL_LITERAL222); 8485 8486 } 8487 break; 8488 case 2 : 8489 // smaliParser.g:763:53: name= STRING_LITERAL 8490 { 8491 name=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3466); 8492 stream_STRING_LITERAL.add(name); 8493 8494 } 8495 break; 8496 8497 } 8498 8499 COLON223=(Token)match(input,COLON,FOLLOW_COLON_in_local_directive3469); 8500 stream_COLON.add(COLON223); 8501 8502 // smaliParser.g:763:80: ( VOID_TYPE | nonvoid_type_descriptor ) 8503 int alt44=2; 8504 int LA44_0 = input.LA(1); 8505 if ( (LA44_0==VOID_TYPE) ) { 8506 alt44=1; 8507 } 8508 else if ( (LA44_0==ARRAY_TYPE_PREFIX||LA44_0==CLASS_DESCRIPTOR||LA44_0==PRIMITIVE_TYPE) ) { 8509 alt44=2; 8510 } 8511 8512 else { 8513 NoViableAltException nvae = 8514 new NoViableAltException("", 44, 0, input); 8515 throw nvae; 8516 } 8517 8518 switch (alt44) { 8519 case 1 : 8520 // smaliParser.g:763:81: VOID_TYPE 8521 { 8522 VOID_TYPE224=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_local_directive3472); 8523 stream_VOID_TYPE.add(VOID_TYPE224); 8524 8525 } 8526 break; 8527 case 2 : 8528 // smaliParser.g:763:93: nonvoid_type_descriptor 8529 { 8530 pushFollow(FOLLOW_nonvoid_type_descriptor_in_local_directive3476); 8531 nonvoid_type_descriptor225=nonvoid_type_descriptor(); 8532 state._fsp--; 8533 8534 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor225.getTree()); 8535 } 8536 break; 8537 8538 } 8539 8540 // smaliParser.g:764:31: ( COMMA signature= STRING_LITERAL )? 8541 int alt45=2; 8542 int LA45_0 = input.LA(1); 8543 if ( (LA45_0==COMMA) ) { 8544 alt45=1; 8545 } 8546 switch (alt45) { 8547 case 1 : 8548 // smaliParser.g:764:32: COMMA signature= STRING_LITERAL 8549 { 8550 COMMA226=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3510); 8551 stream_COMMA.add(COMMA226); 8552 8553 signature=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3514); 8554 stream_STRING_LITERAL.add(signature); 8555 8556 } 8557 break; 8558 8559 } 8560 8561 } 8562 break; 8563 8564 } 8565 8566 // AST REWRITE 8567 // elements: name, NULL_LITERAL, nonvoid_type_descriptor, REGISTER, signature 8568 // token labels: signature, name 8569 // rule labels: retval 8570 // token list labels: 8571 // rule list labels: 8572 // wildcard labels: 8573 retval.tree = root_0; 8574 RewriteRuleTokenStream stream_signature=new RewriteRuleTokenStream(adaptor,"token signature",signature); 8575 RewriteRuleTokenStream stream_name=new RewriteRuleTokenStream(adaptor,"token name",name); 8576 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8577 8578 root_0 = (CommonTree)adaptor.nil(); 8579 // 765:5: -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) 8580 { 8581 // smaliParser.g:765:8: ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) 8582 { 8583 CommonTree root_1 = (CommonTree)adaptor.nil(); 8584 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LOCAL, (retval.start), "I_LOCAL"), root_1); 8585 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 8586 // smaliParser.g:765:46: ( NULL_LITERAL )? 8587 if ( stream_NULL_LITERAL.hasNext() ) { 8588 adaptor.addChild(root_1, stream_NULL_LITERAL.nextNode()); 8589 } 8590 stream_NULL_LITERAL.reset(); 8591 8592 // smaliParser.g:765:61: ( $name)? 8593 if ( stream_name.hasNext() ) { 8594 adaptor.addChild(root_1, stream_name.nextNode()); 8595 } 8596 stream_name.reset(); 8597 8598 // smaliParser.g:765:67: ( nonvoid_type_descriptor )? 8599 if ( stream_nonvoid_type_descriptor.hasNext() ) { 8600 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 8601 } 8602 stream_nonvoid_type_descriptor.reset(); 8603 8604 // smaliParser.g:765:93: ( $signature)? 8605 if ( stream_signature.hasNext() ) { 8606 adaptor.addChild(root_1, stream_signature.nextNode()); 8607 } 8608 stream_signature.reset(); 8609 8610 adaptor.addChild(root_0, root_1); 8611 } 8612 8613 } 8614 8615 8616 retval.tree = root_0; 8617 8618 } 8619 8620 retval.stop = input.LT(-1); 8621 8622 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8623 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8624 8625 } 8626 catch (RecognitionException re) { 8627 reportError(re); 8628 recover(input,re); 8629 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8630 } 8631 finally { 8632 // do for sure before leaving 8633 } 8634 return retval; 8635 } 8636 // $ANTLR end "local_directive" 8637 8638 8639 public static class end_local_directive_return extends ParserRuleReturnScope { 8640 CommonTree tree; 8641 @Override getTree()8642 public CommonTree getTree() { return tree; } 8643 }; 8644 8645 8646 // $ANTLR start "end_local_directive" 8647 // smaliParser.g:767:1: end_local_directive : END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) ; end_local_directive()8648 public final smaliParser.end_local_directive_return end_local_directive() throws RecognitionException { 8649 smaliParser.end_local_directive_return retval = new smaliParser.end_local_directive_return(); 8650 retval.start = input.LT(1); 8651 8652 CommonTree root_0 = null; 8653 8654 Token END_LOCAL_DIRECTIVE227=null; 8655 Token REGISTER228=null; 8656 8657 CommonTree END_LOCAL_DIRECTIVE227_tree=null; 8658 CommonTree REGISTER228_tree=null; 8659 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 8660 RewriteRuleTokenStream stream_END_LOCAL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_LOCAL_DIRECTIVE"); 8661 8662 try { 8663 // smaliParser.g:768:3: ( END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) ) 8664 // smaliParser.g:768:5: END_LOCAL_DIRECTIVE REGISTER 8665 { 8666 END_LOCAL_DIRECTIVE227=(Token)match(input,END_LOCAL_DIRECTIVE,FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3556); 8667 stream_END_LOCAL_DIRECTIVE.add(END_LOCAL_DIRECTIVE227); 8668 8669 REGISTER228=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_end_local_directive3558); 8670 stream_REGISTER.add(REGISTER228); 8671 8672 // AST REWRITE 8673 // elements: REGISTER 8674 // token labels: 8675 // rule labels: retval 8676 // token list labels: 8677 // rule list labels: 8678 // wildcard labels: 8679 retval.tree = root_0; 8680 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8681 8682 root_0 = (CommonTree)adaptor.nil(); 8683 // 769:5: -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) 8684 { 8685 // smaliParser.g:769:8: ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) 8686 { 8687 CommonTree root_1 = (CommonTree)adaptor.nil(); 8688 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_END_LOCAL, (retval.start), "I_END_LOCAL"), root_1); 8689 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 8690 adaptor.addChild(root_0, root_1); 8691 } 8692 8693 } 8694 8695 8696 retval.tree = root_0; 8697 8698 } 8699 8700 retval.stop = input.LT(-1); 8701 8702 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8703 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8704 8705 } 8706 catch (RecognitionException re) { 8707 reportError(re); 8708 recover(input,re); 8709 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8710 } 8711 finally { 8712 // do for sure before leaving 8713 } 8714 return retval; 8715 } 8716 // $ANTLR end "end_local_directive" 8717 8718 8719 public static class restart_local_directive_return extends ParserRuleReturnScope { 8720 CommonTree tree; 8721 @Override getTree()8722 public CommonTree getTree() { return tree; } 8723 }; 8724 8725 8726 // $ANTLR start "restart_local_directive" 8727 // smaliParser.g:771:1: restart_local_directive : RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) ; restart_local_directive()8728 public final smaliParser.restart_local_directive_return restart_local_directive() throws RecognitionException { 8729 smaliParser.restart_local_directive_return retval = new smaliParser.restart_local_directive_return(); 8730 retval.start = input.LT(1); 8731 8732 CommonTree root_0 = null; 8733 8734 Token RESTART_LOCAL_DIRECTIVE229=null; 8735 Token REGISTER230=null; 8736 8737 CommonTree RESTART_LOCAL_DIRECTIVE229_tree=null; 8738 CommonTree REGISTER230_tree=null; 8739 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 8740 RewriteRuleTokenStream stream_RESTART_LOCAL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token RESTART_LOCAL_DIRECTIVE"); 8741 8742 try { 8743 // smaliParser.g:772:3: ( RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) ) 8744 // smaliParser.g:772:5: RESTART_LOCAL_DIRECTIVE REGISTER 8745 { 8746 RESTART_LOCAL_DIRECTIVE229=(Token)match(input,RESTART_LOCAL_DIRECTIVE,FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3581); 8747 stream_RESTART_LOCAL_DIRECTIVE.add(RESTART_LOCAL_DIRECTIVE229); 8748 8749 REGISTER230=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local_directive3583); 8750 stream_REGISTER.add(REGISTER230); 8751 8752 // AST REWRITE 8753 // elements: REGISTER 8754 // token labels: 8755 // rule labels: retval 8756 // token list labels: 8757 // rule list labels: 8758 // wildcard labels: 8759 retval.tree = root_0; 8760 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8761 8762 root_0 = (CommonTree)adaptor.nil(); 8763 // 773:5: -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) 8764 { 8765 // smaliParser.g:773:8: ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) 8766 { 8767 CommonTree root_1 = (CommonTree)adaptor.nil(); 8768 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_RESTART_LOCAL, (retval.start), "I_RESTART_LOCAL"), root_1); 8769 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 8770 adaptor.addChild(root_0, root_1); 8771 } 8772 8773 } 8774 8775 8776 retval.tree = root_0; 8777 8778 } 8779 8780 retval.stop = input.LT(-1); 8781 8782 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8783 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8784 8785 } 8786 catch (RecognitionException re) { 8787 reportError(re); 8788 recover(input,re); 8789 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8790 } 8791 finally { 8792 // do for sure before leaving 8793 } 8794 return retval; 8795 } 8796 // $ANTLR end "restart_local_directive" 8797 8798 8799 public static class prologue_directive_return extends ParserRuleReturnScope { 8800 CommonTree tree; 8801 @Override getTree()8802 public CommonTree getTree() { return tree; } 8803 }; 8804 8805 8806 // $ANTLR start "prologue_directive" 8807 // smaliParser.g:775:1: prologue_directive : PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) ; prologue_directive()8808 public final smaliParser.prologue_directive_return prologue_directive() throws RecognitionException { 8809 smaliParser.prologue_directive_return retval = new smaliParser.prologue_directive_return(); 8810 retval.start = input.LT(1); 8811 8812 CommonTree root_0 = null; 8813 8814 Token PROLOGUE_DIRECTIVE231=null; 8815 8816 CommonTree PROLOGUE_DIRECTIVE231_tree=null; 8817 RewriteRuleTokenStream stream_PROLOGUE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PROLOGUE_DIRECTIVE"); 8818 8819 try { 8820 // smaliParser.g:776:3: ( PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) ) 8821 // smaliParser.g:776:5: PROLOGUE_DIRECTIVE 8822 { 8823 PROLOGUE_DIRECTIVE231=(Token)match(input,PROLOGUE_DIRECTIVE,FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3606); 8824 stream_PROLOGUE_DIRECTIVE.add(PROLOGUE_DIRECTIVE231); 8825 8826 // AST REWRITE 8827 // elements: 8828 // token labels: 8829 // rule labels: retval 8830 // token list labels: 8831 // rule list labels: 8832 // wildcard labels: 8833 retval.tree = root_0; 8834 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8835 8836 root_0 = (CommonTree)adaptor.nil(); 8837 // 777:5: -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) 8838 { 8839 // smaliParser.g:777:8: ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) 8840 { 8841 CommonTree root_1 = (CommonTree)adaptor.nil(); 8842 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PROLOGUE, (retval.start), "I_PROLOGUE"), root_1); 8843 adaptor.addChild(root_0, root_1); 8844 } 8845 8846 } 8847 8848 8849 retval.tree = root_0; 8850 8851 } 8852 8853 retval.stop = input.LT(-1); 8854 8855 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8856 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8857 8858 } 8859 catch (RecognitionException re) { 8860 reportError(re); 8861 recover(input,re); 8862 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8863 } 8864 finally { 8865 // do for sure before leaving 8866 } 8867 return retval; 8868 } 8869 // $ANTLR end "prologue_directive" 8870 8871 8872 public static class epilogue_directive_return extends ParserRuleReturnScope { 8873 CommonTree tree; 8874 @Override getTree()8875 public CommonTree getTree() { return tree; } 8876 }; 8877 8878 8879 // $ANTLR start "epilogue_directive" 8880 // smaliParser.g:779:1: epilogue_directive : EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) ; epilogue_directive()8881 public final smaliParser.epilogue_directive_return epilogue_directive() throws RecognitionException { 8882 smaliParser.epilogue_directive_return retval = new smaliParser.epilogue_directive_return(); 8883 retval.start = input.LT(1); 8884 8885 CommonTree root_0 = null; 8886 8887 Token EPILOGUE_DIRECTIVE232=null; 8888 8889 CommonTree EPILOGUE_DIRECTIVE232_tree=null; 8890 RewriteRuleTokenStream stream_EPILOGUE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token EPILOGUE_DIRECTIVE"); 8891 8892 try { 8893 // smaliParser.g:780:3: ( EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) ) 8894 // smaliParser.g:780:5: EPILOGUE_DIRECTIVE 8895 { 8896 EPILOGUE_DIRECTIVE232=(Token)match(input,EPILOGUE_DIRECTIVE,FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3627); 8897 stream_EPILOGUE_DIRECTIVE.add(EPILOGUE_DIRECTIVE232); 8898 8899 // AST REWRITE 8900 // elements: 8901 // token labels: 8902 // rule labels: retval 8903 // token list labels: 8904 // rule list labels: 8905 // wildcard labels: 8906 retval.tree = root_0; 8907 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 8908 8909 root_0 = (CommonTree)adaptor.nil(); 8910 // 781:5: -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) 8911 { 8912 // smaliParser.g:781:8: ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) 8913 { 8914 CommonTree root_1 = (CommonTree)adaptor.nil(); 8915 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_EPILOGUE, (retval.start), "I_EPILOGUE"), root_1); 8916 adaptor.addChild(root_0, root_1); 8917 } 8918 8919 } 8920 8921 8922 retval.tree = root_0; 8923 8924 } 8925 8926 retval.stop = input.LT(-1); 8927 8928 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 8929 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 8930 8931 } 8932 catch (RecognitionException re) { 8933 reportError(re); 8934 recover(input,re); 8935 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 8936 } 8937 finally { 8938 // do for sure before leaving 8939 } 8940 return retval; 8941 } 8942 // $ANTLR end "epilogue_directive" 8943 8944 8945 public static class source_directive_return extends ParserRuleReturnScope { 8946 CommonTree tree; 8947 @Override getTree()8948 public CommonTree getTree() { return tree; } 8949 }; 8950 8951 8952 // $ANTLR start "source_directive" 8953 // smaliParser.g:783:1: source_directive : SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) ; source_directive()8954 public final smaliParser.source_directive_return source_directive() throws RecognitionException { 8955 smaliParser.source_directive_return retval = new smaliParser.source_directive_return(); 8956 retval.start = input.LT(1); 8957 8958 CommonTree root_0 = null; 8959 8960 Token SOURCE_DIRECTIVE233=null; 8961 Token STRING_LITERAL234=null; 8962 8963 CommonTree SOURCE_DIRECTIVE233_tree=null; 8964 CommonTree STRING_LITERAL234_tree=null; 8965 RewriteRuleTokenStream stream_SOURCE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SOURCE_DIRECTIVE"); 8966 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 8967 8968 try { 8969 // smaliParser.g:784:3: ( SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) ) 8970 // smaliParser.g:784:5: SOURCE_DIRECTIVE ( STRING_LITERAL )? 8971 { 8972 SOURCE_DIRECTIVE233=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_directive3648); 8973 stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE233); 8974 8975 // smaliParser.g:784:22: ( STRING_LITERAL )? 8976 int alt47=2; 8977 int LA47_0 = input.LA(1); 8978 if ( (LA47_0==STRING_LITERAL) ) { 8979 alt47=1; 8980 } 8981 switch (alt47) { 8982 case 1 : 8983 // smaliParser.g:784:22: STRING_LITERAL 8984 { 8985 STRING_LITERAL234=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_directive3650); 8986 stream_STRING_LITERAL.add(STRING_LITERAL234); 8987 8988 } 8989 break; 8990 8991 } 8992 8993 // AST REWRITE 8994 // elements: STRING_LITERAL 8995 // token labels: 8996 // rule labels: retval 8997 // token list labels: 8998 // rule list labels: 8999 // wildcard labels: 9000 retval.tree = root_0; 9001 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 9002 9003 root_0 = (CommonTree)adaptor.nil(); 9004 // 785:5: -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) 9005 { 9006 // smaliParser.g:785:8: ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) 9007 { 9008 CommonTree root_1 = (CommonTree)adaptor.nil(); 9009 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SOURCE, (retval.start), "I_SOURCE"), root_1); 9010 // smaliParser.g:785:39: ( STRING_LITERAL )? 9011 if ( stream_STRING_LITERAL.hasNext() ) { 9012 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 9013 } 9014 stream_STRING_LITERAL.reset(); 9015 9016 adaptor.addChild(root_0, root_1); 9017 } 9018 9019 } 9020 9021 9022 retval.tree = root_0; 9023 9024 } 9025 9026 retval.stop = input.LT(-1); 9027 9028 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 9029 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 9030 9031 } 9032 catch (RecognitionException re) { 9033 reportError(re); 9034 recover(input,re); 9035 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 9036 } 9037 finally { 9038 // do for sure before leaving 9039 } 9040 return retval; 9041 } 9042 // $ANTLR end "source_directive" 9043 9044 9045 public static class instruction_format12x_return extends ParserRuleReturnScope { 9046 CommonTree tree; 9047 @Override getTree()9048 public CommonTree getTree() { return tree; } 9049 }; 9050 9051 9052 // $ANTLR start "instruction_format12x" 9053 // smaliParser.g:787:1: instruction_format12x : ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] ); instruction_format12x()9054 public final smaliParser.instruction_format12x_return instruction_format12x() throws RecognitionException { 9055 smaliParser.instruction_format12x_return retval = new smaliParser.instruction_format12x_return(); 9056 retval.start = input.LT(1); 9057 9058 CommonTree root_0 = null; 9059 9060 Token INSTRUCTION_FORMAT12x235=null; 9061 Token INSTRUCTION_FORMAT12x_OR_ID236=null; 9062 9063 CommonTree INSTRUCTION_FORMAT12x235_tree=null; 9064 CommonTree INSTRUCTION_FORMAT12x_OR_ID236_tree=null; 9065 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT12x_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT12x_OR_ID"); 9066 9067 try { 9068 // smaliParser.g:788:3: ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] ) 9069 int alt48=2; 9070 int LA48_0 = input.LA(1); 9071 if ( (LA48_0==INSTRUCTION_FORMAT12x) ) { 9072 alt48=1; 9073 } 9074 else if ( (LA48_0==INSTRUCTION_FORMAT12x_OR_ID) ) { 9075 alt48=2; 9076 } 9077 9078 else { 9079 NoViableAltException nvae = 9080 new NoViableAltException("", 48, 0, input); 9081 throw nvae; 9082 } 9083 9084 switch (alt48) { 9085 case 1 : 9086 // smaliParser.g:788:5: INSTRUCTION_FORMAT12x 9087 { 9088 root_0 = (CommonTree)adaptor.nil(); 9089 9090 9091 INSTRUCTION_FORMAT12x235=(Token)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3675); 9092 INSTRUCTION_FORMAT12x235_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x235); 9093 adaptor.addChild(root_0, INSTRUCTION_FORMAT12x235_tree); 9094 9095 } 9096 break; 9097 case 2 : 9098 // smaliParser.g:789:5: INSTRUCTION_FORMAT12x_OR_ID 9099 { 9100 INSTRUCTION_FORMAT12x_OR_ID236=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3681); 9101 stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID236); 9102 9103 // AST REWRITE 9104 // elements: 9105 // token labels: 9106 // rule labels: retval 9107 // token list labels: 9108 // rule list labels: 9109 // wildcard labels: 9110 retval.tree = root_0; 9111 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 9112 9113 root_0 = (CommonTree)adaptor.nil(); 9114 // 789:33: -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] 9115 { 9116 adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x, INSTRUCTION_FORMAT12x_OR_ID236)); 9117 } 9118 9119 9120 retval.tree = root_0; 9121 9122 } 9123 break; 9124 9125 } 9126 retval.stop = input.LT(-1); 9127 9128 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 9129 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 9130 9131 } 9132 catch (RecognitionException re) { 9133 reportError(re); 9134 recover(input,re); 9135 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 9136 } 9137 finally { 9138 // do for sure before leaving 9139 } 9140 return retval; 9141 } 9142 // $ANTLR end "instruction_format12x" 9143 9144 9145 public static class instruction_format22s_return extends ParserRuleReturnScope { 9146 CommonTree tree; 9147 @Override getTree()9148 public CommonTree getTree() { return tree; } 9149 }; 9150 9151 9152 // $ANTLR start "instruction_format22s" 9153 // smaliParser.g:791:1: instruction_format22s : ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] ); instruction_format22s()9154 public final smaliParser.instruction_format22s_return instruction_format22s() throws RecognitionException { 9155 smaliParser.instruction_format22s_return retval = new smaliParser.instruction_format22s_return(); 9156 retval.start = input.LT(1); 9157 9158 CommonTree root_0 = null; 9159 9160 Token INSTRUCTION_FORMAT22s237=null; 9161 Token INSTRUCTION_FORMAT22s_OR_ID238=null; 9162 9163 CommonTree INSTRUCTION_FORMAT22s237_tree=null; 9164 CommonTree INSTRUCTION_FORMAT22s_OR_ID238_tree=null; 9165 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22s_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22s_OR_ID"); 9166 9167 try { 9168 // smaliParser.g:792:3: ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] ) 9169 int alt49=2; 9170 int LA49_0 = input.LA(1); 9171 if ( (LA49_0==INSTRUCTION_FORMAT22s) ) { 9172 alt49=1; 9173 } 9174 else if ( (LA49_0==INSTRUCTION_FORMAT22s_OR_ID) ) { 9175 alt49=2; 9176 } 9177 9178 else { 9179 NoViableAltException nvae = 9180 new NoViableAltException("", 49, 0, input); 9181 throw nvae; 9182 } 9183 9184 switch (alt49) { 9185 case 1 : 9186 // smaliParser.g:792:5: INSTRUCTION_FORMAT22s 9187 { 9188 root_0 = (CommonTree)adaptor.nil(); 9189 9190 9191 INSTRUCTION_FORMAT22s237=(Token)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3696); 9192 INSTRUCTION_FORMAT22s237_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s237); 9193 adaptor.addChild(root_0, INSTRUCTION_FORMAT22s237_tree); 9194 9195 } 9196 break; 9197 case 2 : 9198 // smaliParser.g:793:5: INSTRUCTION_FORMAT22s_OR_ID 9199 { 9200 INSTRUCTION_FORMAT22s_OR_ID238=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3702); 9201 stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID238); 9202 9203 // AST REWRITE 9204 // elements: 9205 // token labels: 9206 // rule labels: retval 9207 // token list labels: 9208 // rule list labels: 9209 // wildcard labels: 9210 retval.tree = root_0; 9211 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 9212 9213 root_0 = (CommonTree)adaptor.nil(); 9214 // 793:33: -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] 9215 { 9216 adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s, INSTRUCTION_FORMAT22s_OR_ID238)); 9217 } 9218 9219 9220 retval.tree = root_0; 9221 9222 } 9223 break; 9224 9225 } 9226 retval.stop = input.LT(-1); 9227 9228 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 9229 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 9230 9231 } 9232 catch (RecognitionException re) { 9233 reportError(re); 9234 recover(input,re); 9235 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 9236 } 9237 finally { 9238 // do for sure before leaving 9239 } 9240 return retval; 9241 } 9242 // $ANTLR end "instruction_format22s" 9243 9244 9245 public static class instruction_format31i_return extends ParserRuleReturnScope { 9246 CommonTree tree; 9247 @Override getTree()9248 public CommonTree getTree() { return tree; } 9249 }; 9250 9251 9252 // $ANTLR start "instruction_format31i" 9253 // smaliParser.g:795:1: instruction_format31i : ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] ); instruction_format31i()9254 public final smaliParser.instruction_format31i_return instruction_format31i() throws RecognitionException { 9255 smaliParser.instruction_format31i_return retval = new smaliParser.instruction_format31i_return(); 9256 retval.start = input.LT(1); 9257 9258 CommonTree root_0 = null; 9259 9260 Token INSTRUCTION_FORMAT31i239=null; 9261 Token INSTRUCTION_FORMAT31i_OR_ID240=null; 9262 9263 CommonTree INSTRUCTION_FORMAT31i239_tree=null; 9264 CommonTree INSTRUCTION_FORMAT31i_OR_ID240_tree=null; 9265 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31i_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31i_OR_ID"); 9266 9267 try { 9268 // smaliParser.g:796:3: ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] ) 9269 int alt50=2; 9270 int LA50_0 = input.LA(1); 9271 if ( (LA50_0==INSTRUCTION_FORMAT31i) ) { 9272 alt50=1; 9273 } 9274 else if ( (LA50_0==INSTRUCTION_FORMAT31i_OR_ID) ) { 9275 alt50=2; 9276 } 9277 9278 else { 9279 NoViableAltException nvae = 9280 new NoViableAltException("", 50, 0, input); 9281 throw nvae; 9282 } 9283 9284 switch (alt50) { 9285 case 1 : 9286 // smaliParser.g:796:5: INSTRUCTION_FORMAT31i 9287 { 9288 root_0 = (CommonTree)adaptor.nil(); 9289 9290 9291 INSTRUCTION_FORMAT31i239=(Token)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3717); 9292 INSTRUCTION_FORMAT31i239_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i239); 9293 adaptor.addChild(root_0, INSTRUCTION_FORMAT31i239_tree); 9294 9295 } 9296 break; 9297 case 2 : 9298 // smaliParser.g:797:5: INSTRUCTION_FORMAT31i_OR_ID 9299 { 9300 INSTRUCTION_FORMAT31i_OR_ID240=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3723); 9301 stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID240); 9302 9303 // AST REWRITE 9304 // elements: 9305 // token labels: 9306 // rule labels: retval 9307 // token list labels: 9308 // rule list labels: 9309 // wildcard labels: 9310 retval.tree = root_0; 9311 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 9312 9313 root_0 = (CommonTree)adaptor.nil(); 9314 // 797:33: -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] 9315 { 9316 adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i, INSTRUCTION_FORMAT31i_OR_ID240)); 9317 } 9318 9319 9320 retval.tree = root_0; 9321 9322 } 9323 break; 9324 9325 } 9326 retval.stop = input.LT(-1); 9327 9328 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 9329 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 9330 9331 } 9332 catch (RecognitionException re) { 9333 reportError(re); 9334 recover(input,re); 9335 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 9336 } 9337 finally { 9338 // do for sure before leaving 9339 } 9340 return retval; 9341 } 9342 // $ANTLR end "instruction_format31i" 9343 9344 9345 public static class instruction_return extends ParserRuleReturnScope { 9346 CommonTree tree; 9347 @Override getTree()9348 public CommonTree getTree() { return tree; } 9349 }; 9350 9351 9352 // $ANTLR start "instruction" 9353 // smaliParser.g:801:1: instruction : ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format45cc_method | insn_format4rcc_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive ); instruction()9354 public final smaliParser.instruction_return instruction() throws RecognitionException { 9355 smaliParser.instruction_return retval = new smaliParser.instruction_return(); 9356 retval.start = input.LT(1); 9357 9358 CommonTree root_0 = null; 9359 9360 ParserRuleReturnScope insn_format10t241 =null; 9361 ParserRuleReturnScope insn_format10x242 =null; 9362 ParserRuleReturnScope insn_format10x_odex243 =null; 9363 ParserRuleReturnScope insn_format11n244 =null; 9364 ParserRuleReturnScope insn_format11x245 =null; 9365 ParserRuleReturnScope insn_format12x246 =null; 9366 ParserRuleReturnScope insn_format20bc247 =null; 9367 ParserRuleReturnScope insn_format20t248 =null; 9368 ParserRuleReturnScope insn_format21c_field249 =null; 9369 ParserRuleReturnScope insn_format21c_field_odex250 =null; 9370 ParserRuleReturnScope insn_format21c_string251 =null; 9371 ParserRuleReturnScope insn_format21c_type252 =null; 9372 ParserRuleReturnScope insn_format21ih253 =null; 9373 ParserRuleReturnScope insn_format21lh254 =null; 9374 ParserRuleReturnScope insn_format21s255 =null; 9375 ParserRuleReturnScope insn_format21t256 =null; 9376 ParserRuleReturnScope insn_format22b257 =null; 9377 ParserRuleReturnScope insn_format22c_field258 =null; 9378 ParserRuleReturnScope insn_format22c_field_odex259 =null; 9379 ParserRuleReturnScope insn_format22c_type260 =null; 9380 ParserRuleReturnScope insn_format22cs_field261 =null; 9381 ParserRuleReturnScope insn_format22s262 =null; 9382 ParserRuleReturnScope insn_format22t263 =null; 9383 ParserRuleReturnScope insn_format22x264 =null; 9384 ParserRuleReturnScope insn_format23x265 =null; 9385 ParserRuleReturnScope insn_format30t266 =null; 9386 ParserRuleReturnScope insn_format31c267 =null; 9387 ParserRuleReturnScope insn_format31i268 =null; 9388 ParserRuleReturnScope insn_format31t269 =null; 9389 ParserRuleReturnScope insn_format32x270 =null; 9390 ParserRuleReturnScope insn_format35c_method271 =null; 9391 ParserRuleReturnScope insn_format35c_type272 =null; 9392 ParserRuleReturnScope insn_format35c_method_odex273 =null; 9393 ParserRuleReturnScope insn_format35mi_method274 =null; 9394 ParserRuleReturnScope insn_format35ms_method275 =null; 9395 ParserRuleReturnScope insn_format3rc_method276 =null; 9396 ParserRuleReturnScope insn_format3rc_method_odex277 =null; 9397 ParserRuleReturnScope insn_format3rc_type278 =null; 9398 ParserRuleReturnScope insn_format3rmi_method279 =null; 9399 ParserRuleReturnScope insn_format3rms_method280 =null; 9400 ParserRuleReturnScope insn_format45cc_method281 =null; 9401 ParserRuleReturnScope insn_format4rcc_method282 =null; 9402 ParserRuleReturnScope insn_format51l283 =null; 9403 ParserRuleReturnScope insn_array_data_directive284 =null; 9404 ParserRuleReturnScope insn_packed_switch_directive285 =null; 9405 ParserRuleReturnScope insn_sparse_switch_directive286 =null; 9406 9407 9408 try { 9409 // smaliParser.g:802:3: ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format45cc_method | insn_format4rcc_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive ) 9410 int alt51=46; 9411 switch ( input.LA(1) ) { 9412 case INSTRUCTION_FORMAT10t: 9413 { 9414 alt51=1; 9415 } 9416 break; 9417 case INSTRUCTION_FORMAT10x: 9418 { 9419 alt51=2; 9420 } 9421 break; 9422 case INSTRUCTION_FORMAT10x_ODEX: 9423 { 9424 alt51=3; 9425 } 9426 break; 9427 case INSTRUCTION_FORMAT11n: 9428 { 9429 alt51=4; 9430 } 9431 break; 9432 case INSTRUCTION_FORMAT11x: 9433 { 9434 alt51=5; 9435 } 9436 break; 9437 case INSTRUCTION_FORMAT12x: 9438 case INSTRUCTION_FORMAT12x_OR_ID: 9439 { 9440 alt51=6; 9441 } 9442 break; 9443 case INSTRUCTION_FORMAT20bc: 9444 { 9445 alt51=7; 9446 } 9447 break; 9448 case INSTRUCTION_FORMAT20t: 9449 { 9450 alt51=8; 9451 } 9452 break; 9453 case INSTRUCTION_FORMAT21c_FIELD: 9454 { 9455 alt51=9; 9456 } 9457 break; 9458 case INSTRUCTION_FORMAT21c_FIELD_ODEX: 9459 { 9460 alt51=10; 9461 } 9462 break; 9463 case INSTRUCTION_FORMAT21c_STRING: 9464 { 9465 alt51=11; 9466 } 9467 break; 9468 case INSTRUCTION_FORMAT21c_TYPE: 9469 { 9470 alt51=12; 9471 } 9472 break; 9473 case INSTRUCTION_FORMAT21ih: 9474 { 9475 alt51=13; 9476 } 9477 break; 9478 case INSTRUCTION_FORMAT21lh: 9479 { 9480 alt51=14; 9481 } 9482 break; 9483 case INSTRUCTION_FORMAT21s: 9484 { 9485 alt51=15; 9486 } 9487 break; 9488 case INSTRUCTION_FORMAT21t: 9489 { 9490 alt51=16; 9491 } 9492 break; 9493 case INSTRUCTION_FORMAT22b: 9494 { 9495 alt51=17; 9496 } 9497 break; 9498 case INSTRUCTION_FORMAT22c_FIELD: 9499 { 9500 alt51=18; 9501 } 9502 break; 9503 case INSTRUCTION_FORMAT22c_FIELD_ODEX: 9504 { 9505 alt51=19; 9506 } 9507 break; 9508 case INSTRUCTION_FORMAT22c_TYPE: 9509 { 9510 alt51=20; 9511 } 9512 break; 9513 case INSTRUCTION_FORMAT22cs_FIELD: 9514 { 9515 alt51=21; 9516 } 9517 break; 9518 case INSTRUCTION_FORMAT22s: 9519 case INSTRUCTION_FORMAT22s_OR_ID: 9520 { 9521 alt51=22; 9522 } 9523 break; 9524 case INSTRUCTION_FORMAT22t: 9525 { 9526 alt51=23; 9527 } 9528 break; 9529 case INSTRUCTION_FORMAT22x: 9530 { 9531 alt51=24; 9532 } 9533 break; 9534 case INSTRUCTION_FORMAT23x: 9535 { 9536 alt51=25; 9537 } 9538 break; 9539 case INSTRUCTION_FORMAT30t: 9540 { 9541 alt51=26; 9542 } 9543 break; 9544 case INSTRUCTION_FORMAT31c: 9545 { 9546 alt51=27; 9547 } 9548 break; 9549 case INSTRUCTION_FORMAT31i: 9550 case INSTRUCTION_FORMAT31i_OR_ID: 9551 { 9552 alt51=28; 9553 } 9554 break; 9555 case INSTRUCTION_FORMAT31t: 9556 { 9557 alt51=29; 9558 } 9559 break; 9560 case INSTRUCTION_FORMAT32x: 9561 { 9562 alt51=30; 9563 } 9564 break; 9565 case INSTRUCTION_FORMAT35c_METHOD: 9566 { 9567 alt51=31; 9568 } 9569 break; 9570 case INSTRUCTION_FORMAT35c_TYPE: 9571 { 9572 alt51=32; 9573 } 9574 break; 9575 case INSTRUCTION_FORMAT35c_METHOD_ODEX: 9576 { 9577 alt51=33; 9578 } 9579 break; 9580 case INSTRUCTION_FORMAT35mi_METHOD: 9581 { 9582 alt51=34; 9583 } 9584 break; 9585 case INSTRUCTION_FORMAT35ms_METHOD: 9586 { 9587 alt51=35; 9588 } 9589 break; 9590 case INSTRUCTION_FORMAT3rc_METHOD: 9591 { 9592 alt51=36; 9593 } 9594 break; 9595 case INSTRUCTION_FORMAT3rc_METHOD_ODEX: 9596 { 9597 alt51=37; 9598 } 9599 break; 9600 case INSTRUCTION_FORMAT3rc_TYPE: 9601 { 9602 alt51=38; 9603 } 9604 break; 9605 case INSTRUCTION_FORMAT3rmi_METHOD: 9606 { 9607 alt51=39; 9608 } 9609 break; 9610 case INSTRUCTION_FORMAT3rms_METHOD: 9611 { 9612 alt51=40; 9613 } 9614 break; 9615 case INSTRUCTION_FORMAT45cc_METHOD: 9616 { 9617 alt51=41; 9618 } 9619 break; 9620 case INSTRUCTION_FORMAT4rcc_METHOD: 9621 { 9622 alt51=42; 9623 } 9624 break; 9625 case INSTRUCTION_FORMAT51l: 9626 { 9627 alt51=43; 9628 } 9629 break; 9630 case ARRAY_DATA_DIRECTIVE: 9631 { 9632 alt51=44; 9633 } 9634 break; 9635 case PACKED_SWITCH_DIRECTIVE: 9636 { 9637 alt51=45; 9638 } 9639 break; 9640 case SPARSE_SWITCH_DIRECTIVE: 9641 { 9642 alt51=46; 9643 } 9644 break; 9645 default: 9646 NoViableAltException nvae = 9647 new NoViableAltException("", 51, 0, input); 9648 throw nvae; 9649 } 9650 switch (alt51) { 9651 case 1 : 9652 // smaliParser.g:802:5: insn_format10t 9653 { 9654 root_0 = (CommonTree)adaptor.nil(); 9655 9656 9657 pushFollow(FOLLOW_insn_format10t_in_instruction3740); 9658 insn_format10t241=insn_format10t(); 9659 state._fsp--; 9660 9661 adaptor.addChild(root_0, insn_format10t241.getTree()); 9662 9663 } 9664 break; 9665 case 2 : 9666 // smaliParser.g:803:5: insn_format10x 9667 { 9668 root_0 = (CommonTree)adaptor.nil(); 9669 9670 9671 pushFollow(FOLLOW_insn_format10x_in_instruction3746); 9672 insn_format10x242=insn_format10x(); 9673 state._fsp--; 9674 9675 adaptor.addChild(root_0, insn_format10x242.getTree()); 9676 9677 } 9678 break; 9679 case 3 : 9680 // smaliParser.g:804:5: insn_format10x_odex 9681 { 9682 root_0 = (CommonTree)adaptor.nil(); 9683 9684 9685 pushFollow(FOLLOW_insn_format10x_odex_in_instruction3752); 9686 insn_format10x_odex243=insn_format10x_odex(); 9687 state._fsp--; 9688 9689 adaptor.addChild(root_0, insn_format10x_odex243.getTree()); 9690 9691 } 9692 break; 9693 case 4 : 9694 // smaliParser.g:805:5: insn_format11n 9695 { 9696 root_0 = (CommonTree)adaptor.nil(); 9697 9698 9699 pushFollow(FOLLOW_insn_format11n_in_instruction3758); 9700 insn_format11n244=insn_format11n(); 9701 state._fsp--; 9702 9703 adaptor.addChild(root_0, insn_format11n244.getTree()); 9704 9705 } 9706 break; 9707 case 5 : 9708 // smaliParser.g:806:5: insn_format11x 9709 { 9710 root_0 = (CommonTree)adaptor.nil(); 9711 9712 9713 pushFollow(FOLLOW_insn_format11x_in_instruction3764); 9714 insn_format11x245=insn_format11x(); 9715 state._fsp--; 9716 9717 adaptor.addChild(root_0, insn_format11x245.getTree()); 9718 9719 } 9720 break; 9721 case 6 : 9722 // smaliParser.g:807:5: insn_format12x 9723 { 9724 root_0 = (CommonTree)adaptor.nil(); 9725 9726 9727 pushFollow(FOLLOW_insn_format12x_in_instruction3770); 9728 insn_format12x246=insn_format12x(); 9729 state._fsp--; 9730 9731 adaptor.addChild(root_0, insn_format12x246.getTree()); 9732 9733 } 9734 break; 9735 case 7 : 9736 // smaliParser.g:808:5: insn_format20bc 9737 { 9738 root_0 = (CommonTree)adaptor.nil(); 9739 9740 9741 pushFollow(FOLLOW_insn_format20bc_in_instruction3776); 9742 insn_format20bc247=insn_format20bc(); 9743 state._fsp--; 9744 9745 adaptor.addChild(root_0, insn_format20bc247.getTree()); 9746 9747 } 9748 break; 9749 case 8 : 9750 // smaliParser.g:809:5: insn_format20t 9751 { 9752 root_0 = (CommonTree)adaptor.nil(); 9753 9754 9755 pushFollow(FOLLOW_insn_format20t_in_instruction3782); 9756 insn_format20t248=insn_format20t(); 9757 state._fsp--; 9758 9759 adaptor.addChild(root_0, insn_format20t248.getTree()); 9760 9761 } 9762 break; 9763 case 9 : 9764 // smaliParser.g:810:5: insn_format21c_field 9765 { 9766 root_0 = (CommonTree)adaptor.nil(); 9767 9768 9769 pushFollow(FOLLOW_insn_format21c_field_in_instruction3788); 9770 insn_format21c_field249=insn_format21c_field(); 9771 state._fsp--; 9772 9773 adaptor.addChild(root_0, insn_format21c_field249.getTree()); 9774 9775 } 9776 break; 9777 case 10 : 9778 // smaliParser.g:811:5: insn_format21c_field_odex 9779 { 9780 root_0 = (CommonTree)adaptor.nil(); 9781 9782 9783 pushFollow(FOLLOW_insn_format21c_field_odex_in_instruction3794); 9784 insn_format21c_field_odex250=insn_format21c_field_odex(); 9785 state._fsp--; 9786 9787 adaptor.addChild(root_0, insn_format21c_field_odex250.getTree()); 9788 9789 } 9790 break; 9791 case 11 : 9792 // smaliParser.g:812:5: insn_format21c_string 9793 { 9794 root_0 = (CommonTree)adaptor.nil(); 9795 9796 9797 pushFollow(FOLLOW_insn_format21c_string_in_instruction3800); 9798 insn_format21c_string251=insn_format21c_string(); 9799 state._fsp--; 9800 9801 adaptor.addChild(root_0, insn_format21c_string251.getTree()); 9802 9803 } 9804 break; 9805 case 12 : 9806 // smaliParser.g:813:5: insn_format21c_type 9807 { 9808 root_0 = (CommonTree)adaptor.nil(); 9809 9810 9811 pushFollow(FOLLOW_insn_format21c_type_in_instruction3806); 9812 insn_format21c_type252=insn_format21c_type(); 9813 state._fsp--; 9814 9815 adaptor.addChild(root_0, insn_format21c_type252.getTree()); 9816 9817 } 9818 break; 9819 case 13 : 9820 // smaliParser.g:814:5: insn_format21ih 9821 { 9822 root_0 = (CommonTree)adaptor.nil(); 9823 9824 9825 pushFollow(FOLLOW_insn_format21ih_in_instruction3812); 9826 insn_format21ih253=insn_format21ih(); 9827 state._fsp--; 9828 9829 adaptor.addChild(root_0, insn_format21ih253.getTree()); 9830 9831 } 9832 break; 9833 case 14 : 9834 // smaliParser.g:815:5: insn_format21lh 9835 { 9836 root_0 = (CommonTree)adaptor.nil(); 9837 9838 9839 pushFollow(FOLLOW_insn_format21lh_in_instruction3818); 9840 insn_format21lh254=insn_format21lh(); 9841 state._fsp--; 9842 9843 adaptor.addChild(root_0, insn_format21lh254.getTree()); 9844 9845 } 9846 break; 9847 case 15 : 9848 // smaliParser.g:816:5: insn_format21s 9849 { 9850 root_0 = (CommonTree)adaptor.nil(); 9851 9852 9853 pushFollow(FOLLOW_insn_format21s_in_instruction3824); 9854 insn_format21s255=insn_format21s(); 9855 state._fsp--; 9856 9857 adaptor.addChild(root_0, insn_format21s255.getTree()); 9858 9859 } 9860 break; 9861 case 16 : 9862 // smaliParser.g:817:5: insn_format21t 9863 { 9864 root_0 = (CommonTree)adaptor.nil(); 9865 9866 9867 pushFollow(FOLLOW_insn_format21t_in_instruction3830); 9868 insn_format21t256=insn_format21t(); 9869 state._fsp--; 9870 9871 adaptor.addChild(root_0, insn_format21t256.getTree()); 9872 9873 } 9874 break; 9875 case 17 : 9876 // smaliParser.g:818:5: insn_format22b 9877 { 9878 root_0 = (CommonTree)adaptor.nil(); 9879 9880 9881 pushFollow(FOLLOW_insn_format22b_in_instruction3836); 9882 insn_format22b257=insn_format22b(); 9883 state._fsp--; 9884 9885 adaptor.addChild(root_0, insn_format22b257.getTree()); 9886 9887 } 9888 break; 9889 case 18 : 9890 // smaliParser.g:819:5: insn_format22c_field 9891 { 9892 root_0 = (CommonTree)adaptor.nil(); 9893 9894 9895 pushFollow(FOLLOW_insn_format22c_field_in_instruction3842); 9896 insn_format22c_field258=insn_format22c_field(); 9897 state._fsp--; 9898 9899 adaptor.addChild(root_0, insn_format22c_field258.getTree()); 9900 9901 } 9902 break; 9903 case 19 : 9904 // smaliParser.g:820:5: insn_format22c_field_odex 9905 { 9906 root_0 = (CommonTree)adaptor.nil(); 9907 9908 9909 pushFollow(FOLLOW_insn_format22c_field_odex_in_instruction3848); 9910 insn_format22c_field_odex259=insn_format22c_field_odex(); 9911 state._fsp--; 9912 9913 adaptor.addChild(root_0, insn_format22c_field_odex259.getTree()); 9914 9915 } 9916 break; 9917 case 20 : 9918 // smaliParser.g:821:5: insn_format22c_type 9919 { 9920 root_0 = (CommonTree)adaptor.nil(); 9921 9922 9923 pushFollow(FOLLOW_insn_format22c_type_in_instruction3854); 9924 insn_format22c_type260=insn_format22c_type(); 9925 state._fsp--; 9926 9927 adaptor.addChild(root_0, insn_format22c_type260.getTree()); 9928 9929 } 9930 break; 9931 case 21 : 9932 // smaliParser.g:822:5: insn_format22cs_field 9933 { 9934 root_0 = (CommonTree)adaptor.nil(); 9935 9936 9937 pushFollow(FOLLOW_insn_format22cs_field_in_instruction3860); 9938 insn_format22cs_field261=insn_format22cs_field(); 9939 state._fsp--; 9940 9941 adaptor.addChild(root_0, insn_format22cs_field261.getTree()); 9942 9943 } 9944 break; 9945 case 22 : 9946 // smaliParser.g:823:5: insn_format22s 9947 { 9948 root_0 = (CommonTree)adaptor.nil(); 9949 9950 9951 pushFollow(FOLLOW_insn_format22s_in_instruction3866); 9952 insn_format22s262=insn_format22s(); 9953 state._fsp--; 9954 9955 adaptor.addChild(root_0, insn_format22s262.getTree()); 9956 9957 } 9958 break; 9959 case 23 : 9960 // smaliParser.g:824:5: insn_format22t 9961 { 9962 root_0 = (CommonTree)adaptor.nil(); 9963 9964 9965 pushFollow(FOLLOW_insn_format22t_in_instruction3872); 9966 insn_format22t263=insn_format22t(); 9967 state._fsp--; 9968 9969 adaptor.addChild(root_0, insn_format22t263.getTree()); 9970 9971 } 9972 break; 9973 case 24 : 9974 // smaliParser.g:825:5: insn_format22x 9975 { 9976 root_0 = (CommonTree)adaptor.nil(); 9977 9978 9979 pushFollow(FOLLOW_insn_format22x_in_instruction3878); 9980 insn_format22x264=insn_format22x(); 9981 state._fsp--; 9982 9983 adaptor.addChild(root_0, insn_format22x264.getTree()); 9984 9985 } 9986 break; 9987 case 25 : 9988 // smaliParser.g:826:5: insn_format23x 9989 { 9990 root_0 = (CommonTree)adaptor.nil(); 9991 9992 9993 pushFollow(FOLLOW_insn_format23x_in_instruction3884); 9994 insn_format23x265=insn_format23x(); 9995 state._fsp--; 9996 9997 adaptor.addChild(root_0, insn_format23x265.getTree()); 9998 9999 } 10000 break; 10001 case 26 : 10002 // smaliParser.g:827:5: insn_format30t 10003 { 10004 root_0 = (CommonTree)adaptor.nil(); 10005 10006 10007 pushFollow(FOLLOW_insn_format30t_in_instruction3890); 10008 insn_format30t266=insn_format30t(); 10009 state._fsp--; 10010 10011 adaptor.addChild(root_0, insn_format30t266.getTree()); 10012 10013 } 10014 break; 10015 case 27 : 10016 // smaliParser.g:828:5: insn_format31c 10017 { 10018 root_0 = (CommonTree)adaptor.nil(); 10019 10020 10021 pushFollow(FOLLOW_insn_format31c_in_instruction3896); 10022 insn_format31c267=insn_format31c(); 10023 state._fsp--; 10024 10025 adaptor.addChild(root_0, insn_format31c267.getTree()); 10026 10027 } 10028 break; 10029 case 28 : 10030 // smaliParser.g:829:5: insn_format31i 10031 { 10032 root_0 = (CommonTree)adaptor.nil(); 10033 10034 10035 pushFollow(FOLLOW_insn_format31i_in_instruction3902); 10036 insn_format31i268=insn_format31i(); 10037 state._fsp--; 10038 10039 adaptor.addChild(root_0, insn_format31i268.getTree()); 10040 10041 } 10042 break; 10043 case 29 : 10044 // smaliParser.g:830:5: insn_format31t 10045 { 10046 root_0 = (CommonTree)adaptor.nil(); 10047 10048 10049 pushFollow(FOLLOW_insn_format31t_in_instruction3908); 10050 insn_format31t269=insn_format31t(); 10051 state._fsp--; 10052 10053 adaptor.addChild(root_0, insn_format31t269.getTree()); 10054 10055 } 10056 break; 10057 case 30 : 10058 // smaliParser.g:831:5: insn_format32x 10059 { 10060 root_0 = (CommonTree)adaptor.nil(); 10061 10062 10063 pushFollow(FOLLOW_insn_format32x_in_instruction3914); 10064 insn_format32x270=insn_format32x(); 10065 state._fsp--; 10066 10067 adaptor.addChild(root_0, insn_format32x270.getTree()); 10068 10069 } 10070 break; 10071 case 31 : 10072 // smaliParser.g:832:5: insn_format35c_method 10073 { 10074 root_0 = (CommonTree)adaptor.nil(); 10075 10076 10077 pushFollow(FOLLOW_insn_format35c_method_in_instruction3920); 10078 insn_format35c_method271=insn_format35c_method(); 10079 state._fsp--; 10080 10081 adaptor.addChild(root_0, insn_format35c_method271.getTree()); 10082 10083 } 10084 break; 10085 case 32 : 10086 // smaliParser.g:833:5: insn_format35c_type 10087 { 10088 root_0 = (CommonTree)adaptor.nil(); 10089 10090 10091 pushFollow(FOLLOW_insn_format35c_type_in_instruction3926); 10092 insn_format35c_type272=insn_format35c_type(); 10093 state._fsp--; 10094 10095 adaptor.addChild(root_0, insn_format35c_type272.getTree()); 10096 10097 } 10098 break; 10099 case 33 : 10100 // smaliParser.g:834:5: insn_format35c_method_odex 10101 { 10102 root_0 = (CommonTree)adaptor.nil(); 10103 10104 10105 pushFollow(FOLLOW_insn_format35c_method_odex_in_instruction3932); 10106 insn_format35c_method_odex273=insn_format35c_method_odex(); 10107 state._fsp--; 10108 10109 adaptor.addChild(root_0, insn_format35c_method_odex273.getTree()); 10110 10111 } 10112 break; 10113 case 34 : 10114 // smaliParser.g:835:5: insn_format35mi_method 10115 { 10116 root_0 = (CommonTree)adaptor.nil(); 10117 10118 10119 pushFollow(FOLLOW_insn_format35mi_method_in_instruction3938); 10120 insn_format35mi_method274=insn_format35mi_method(); 10121 state._fsp--; 10122 10123 adaptor.addChild(root_0, insn_format35mi_method274.getTree()); 10124 10125 } 10126 break; 10127 case 35 : 10128 // smaliParser.g:836:5: insn_format35ms_method 10129 { 10130 root_0 = (CommonTree)adaptor.nil(); 10131 10132 10133 pushFollow(FOLLOW_insn_format35ms_method_in_instruction3944); 10134 insn_format35ms_method275=insn_format35ms_method(); 10135 state._fsp--; 10136 10137 adaptor.addChild(root_0, insn_format35ms_method275.getTree()); 10138 10139 } 10140 break; 10141 case 36 : 10142 // smaliParser.g:837:5: insn_format3rc_method 10143 { 10144 root_0 = (CommonTree)adaptor.nil(); 10145 10146 10147 pushFollow(FOLLOW_insn_format3rc_method_in_instruction3950); 10148 insn_format3rc_method276=insn_format3rc_method(); 10149 state._fsp--; 10150 10151 adaptor.addChild(root_0, insn_format3rc_method276.getTree()); 10152 10153 } 10154 break; 10155 case 37 : 10156 // smaliParser.g:838:5: insn_format3rc_method_odex 10157 { 10158 root_0 = (CommonTree)adaptor.nil(); 10159 10160 10161 pushFollow(FOLLOW_insn_format3rc_method_odex_in_instruction3956); 10162 insn_format3rc_method_odex277=insn_format3rc_method_odex(); 10163 state._fsp--; 10164 10165 adaptor.addChild(root_0, insn_format3rc_method_odex277.getTree()); 10166 10167 } 10168 break; 10169 case 38 : 10170 // smaliParser.g:839:5: insn_format3rc_type 10171 { 10172 root_0 = (CommonTree)adaptor.nil(); 10173 10174 10175 pushFollow(FOLLOW_insn_format3rc_type_in_instruction3962); 10176 insn_format3rc_type278=insn_format3rc_type(); 10177 state._fsp--; 10178 10179 adaptor.addChild(root_0, insn_format3rc_type278.getTree()); 10180 10181 } 10182 break; 10183 case 39 : 10184 // smaliParser.g:840:5: insn_format3rmi_method 10185 { 10186 root_0 = (CommonTree)adaptor.nil(); 10187 10188 10189 pushFollow(FOLLOW_insn_format3rmi_method_in_instruction3968); 10190 insn_format3rmi_method279=insn_format3rmi_method(); 10191 state._fsp--; 10192 10193 adaptor.addChild(root_0, insn_format3rmi_method279.getTree()); 10194 10195 } 10196 break; 10197 case 40 : 10198 // smaliParser.g:841:5: insn_format3rms_method 10199 { 10200 root_0 = (CommonTree)adaptor.nil(); 10201 10202 10203 pushFollow(FOLLOW_insn_format3rms_method_in_instruction3974); 10204 insn_format3rms_method280=insn_format3rms_method(); 10205 state._fsp--; 10206 10207 adaptor.addChild(root_0, insn_format3rms_method280.getTree()); 10208 10209 } 10210 break; 10211 case 41 : 10212 // smaliParser.g:842:5: insn_format45cc_method 10213 { 10214 root_0 = (CommonTree)adaptor.nil(); 10215 10216 10217 pushFollow(FOLLOW_insn_format45cc_method_in_instruction3980); 10218 insn_format45cc_method281=insn_format45cc_method(); 10219 state._fsp--; 10220 10221 adaptor.addChild(root_0, insn_format45cc_method281.getTree()); 10222 10223 } 10224 break; 10225 case 42 : 10226 // smaliParser.g:843:5: insn_format4rcc_method 10227 { 10228 root_0 = (CommonTree)adaptor.nil(); 10229 10230 10231 pushFollow(FOLLOW_insn_format4rcc_method_in_instruction3986); 10232 insn_format4rcc_method282=insn_format4rcc_method(); 10233 state._fsp--; 10234 10235 adaptor.addChild(root_0, insn_format4rcc_method282.getTree()); 10236 10237 } 10238 break; 10239 case 43 : 10240 // smaliParser.g:844:5: insn_format51l 10241 { 10242 root_0 = (CommonTree)adaptor.nil(); 10243 10244 10245 pushFollow(FOLLOW_insn_format51l_in_instruction3992); 10246 insn_format51l283=insn_format51l(); 10247 state._fsp--; 10248 10249 adaptor.addChild(root_0, insn_format51l283.getTree()); 10250 10251 } 10252 break; 10253 case 44 : 10254 // smaliParser.g:845:5: insn_array_data_directive 10255 { 10256 root_0 = (CommonTree)adaptor.nil(); 10257 10258 10259 pushFollow(FOLLOW_insn_array_data_directive_in_instruction3998); 10260 insn_array_data_directive284=insn_array_data_directive(); 10261 state._fsp--; 10262 10263 adaptor.addChild(root_0, insn_array_data_directive284.getTree()); 10264 10265 } 10266 break; 10267 case 45 : 10268 // smaliParser.g:846:5: insn_packed_switch_directive 10269 { 10270 root_0 = (CommonTree)adaptor.nil(); 10271 10272 10273 pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction4004); 10274 insn_packed_switch_directive285=insn_packed_switch_directive(); 10275 state._fsp--; 10276 10277 adaptor.addChild(root_0, insn_packed_switch_directive285.getTree()); 10278 10279 } 10280 break; 10281 case 46 : 10282 // smaliParser.g:847:5: insn_sparse_switch_directive 10283 { 10284 root_0 = (CommonTree)adaptor.nil(); 10285 10286 10287 pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction4010); 10288 insn_sparse_switch_directive286=insn_sparse_switch_directive(); 10289 state._fsp--; 10290 10291 adaptor.addChild(root_0, insn_sparse_switch_directive286.getTree()); 10292 10293 } 10294 break; 10295 10296 } 10297 retval.stop = input.LT(-1); 10298 10299 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10300 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10301 10302 } 10303 catch (RecognitionException re) { 10304 reportError(re); 10305 recover(input,re); 10306 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10307 } 10308 finally { 10309 // do for sure before leaving 10310 } 10311 return retval; 10312 } 10313 // $ANTLR end "instruction" 10314 10315 10316 public static class insn_format10t_return extends ParserRuleReturnScope { 10317 CommonTree tree; 10318 @Override getTree()10319 public CommonTree getTree() { return tree; } 10320 }; 10321 10322 10323 // $ANTLR start "insn_format10t" 10324 // smaliParser.g:849:1: insn_format10t : INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) ; insn_format10t()10325 public final smaliParser.insn_format10t_return insn_format10t() throws RecognitionException { 10326 smaliParser.insn_format10t_return retval = new smaliParser.insn_format10t_return(); 10327 retval.start = input.LT(1); 10328 10329 CommonTree root_0 = null; 10330 10331 Token INSTRUCTION_FORMAT10t287=null; 10332 ParserRuleReturnScope label_ref288 =null; 10333 10334 CommonTree INSTRUCTION_FORMAT10t287_tree=null; 10335 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10t"); 10336 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 10337 10338 try { 10339 // smaliParser.g:850:3: ( INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) ) 10340 // smaliParser.g:852:5: INSTRUCTION_FORMAT10t label_ref 10341 { 10342 INSTRUCTION_FORMAT10t287=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t4030); 10343 stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t287); 10344 10345 pushFollow(FOLLOW_label_ref_in_insn_format10t4032); 10346 label_ref288=label_ref(); 10347 state._fsp--; 10348 10349 stream_label_ref.add(label_ref288.getTree()); 10350 // AST REWRITE 10351 // elements: INSTRUCTION_FORMAT10t, label_ref 10352 // token labels: 10353 // rule labels: retval 10354 // token list labels: 10355 // rule list labels: 10356 // wildcard labels: 10357 retval.tree = root_0; 10358 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10359 10360 root_0 = (CommonTree)adaptor.nil(); 10361 // 853:5: -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) 10362 { 10363 // smaliParser.g:853:8: ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) 10364 { 10365 CommonTree root_1 = (CommonTree)adaptor.nil(); 10366 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT10t, (retval.start), "I_STATEMENT_FORMAT10t"), root_1); 10367 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT10t.nextNode()); 10368 adaptor.addChild(root_1, stream_label_ref.nextTree()); 10369 adaptor.addChild(root_0, root_1); 10370 } 10371 10372 } 10373 10374 10375 retval.tree = root_0; 10376 10377 } 10378 10379 retval.stop = input.LT(-1); 10380 10381 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10382 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10383 10384 } 10385 catch (RecognitionException re) { 10386 reportError(re); 10387 recover(input,re); 10388 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10389 } 10390 finally { 10391 // do for sure before leaving 10392 } 10393 return retval; 10394 } 10395 // $ANTLR end "insn_format10t" 10396 10397 10398 public static class insn_format10x_return extends ParserRuleReturnScope { 10399 CommonTree tree; 10400 @Override getTree()10401 public CommonTree getTree() { return tree; } 10402 }; 10403 10404 10405 // $ANTLR start "insn_format10x" 10406 // smaliParser.g:855:1: insn_format10x : INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) ; insn_format10x()10407 public final smaliParser.insn_format10x_return insn_format10x() throws RecognitionException { 10408 smaliParser.insn_format10x_return retval = new smaliParser.insn_format10x_return(); 10409 retval.start = input.LT(1); 10410 10411 CommonTree root_0 = null; 10412 10413 Token INSTRUCTION_FORMAT10x289=null; 10414 10415 CommonTree INSTRUCTION_FORMAT10x289_tree=null; 10416 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x"); 10417 10418 try { 10419 // smaliParser.g:856:3: ( INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) ) 10420 // smaliParser.g:857:5: INSTRUCTION_FORMAT10x 10421 { 10422 INSTRUCTION_FORMAT10x289=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4062); 10423 stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x289); 10424 10425 // AST REWRITE 10426 // elements: INSTRUCTION_FORMAT10x 10427 // token labels: 10428 // rule labels: retval 10429 // token list labels: 10430 // rule list labels: 10431 // wildcard labels: 10432 retval.tree = root_0; 10433 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10434 10435 root_0 = (CommonTree)adaptor.nil(); 10436 // 858:5: -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) 10437 { 10438 // smaliParser.g:858:8: ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) 10439 { 10440 CommonTree root_1 = (CommonTree)adaptor.nil(); 10441 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT10x, (retval.start), "I_STATEMENT_FORMAT10x"), root_1); 10442 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT10x.nextNode()); 10443 adaptor.addChild(root_0, root_1); 10444 } 10445 10446 } 10447 10448 10449 retval.tree = root_0; 10450 10451 } 10452 10453 retval.stop = input.LT(-1); 10454 10455 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10456 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10457 10458 } 10459 catch (RecognitionException re) { 10460 reportError(re); 10461 recover(input,re); 10462 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10463 } 10464 finally { 10465 // do for sure before leaving 10466 } 10467 return retval; 10468 } 10469 // $ANTLR end "insn_format10x" 10470 10471 10472 public static class insn_format10x_odex_return extends ParserRuleReturnScope { 10473 CommonTree tree; 10474 @Override getTree()10475 public CommonTree getTree() { return tree; } 10476 }; 10477 10478 10479 // $ANTLR start "insn_format10x_odex" 10480 // smaliParser.g:860:1: insn_format10x_odex : INSTRUCTION_FORMAT10x_ODEX ; insn_format10x_odex()10481 public final smaliParser.insn_format10x_odex_return insn_format10x_odex() throws RecognitionException { 10482 smaliParser.insn_format10x_odex_return retval = new smaliParser.insn_format10x_odex_return(); 10483 retval.start = input.LT(1); 10484 10485 CommonTree root_0 = null; 10486 10487 Token INSTRUCTION_FORMAT10x_ODEX290=null; 10488 10489 CommonTree INSTRUCTION_FORMAT10x_ODEX290_tree=null; 10490 10491 try { 10492 // smaliParser.g:861:3: ( INSTRUCTION_FORMAT10x_ODEX ) 10493 // smaliParser.g:862:5: INSTRUCTION_FORMAT10x_ODEX 10494 { 10495 root_0 = (CommonTree)adaptor.nil(); 10496 10497 10498 INSTRUCTION_FORMAT10x_ODEX290=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4090); 10499 INSTRUCTION_FORMAT10x_ODEX290_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT10x_ODEX290); 10500 adaptor.addChild(root_0, INSTRUCTION_FORMAT10x_ODEX290_tree); 10501 10502 10503 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT10x_ODEX290!=null?INSTRUCTION_FORMAT10x_ODEX290.getText():null)); 10504 10505 } 10506 10507 retval.stop = input.LT(-1); 10508 10509 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10510 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10511 10512 } 10513 catch (RecognitionException re) { 10514 reportError(re); 10515 recover(input,re); 10516 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10517 } 10518 finally { 10519 // do for sure before leaving 10520 } 10521 return retval; 10522 } 10523 // $ANTLR end "insn_format10x_odex" 10524 10525 10526 public static class insn_format11n_return extends ParserRuleReturnScope { 10527 CommonTree tree; 10528 @Override getTree()10529 public CommonTree getTree() { return tree; } 10530 }; 10531 10532 10533 // $ANTLR start "insn_format11n" 10534 // smaliParser.g:867:1: insn_format11n : INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) ; insn_format11n()10535 public final smaliParser.insn_format11n_return insn_format11n() throws RecognitionException { 10536 smaliParser.insn_format11n_return retval = new smaliParser.insn_format11n_return(); 10537 retval.start = input.LT(1); 10538 10539 CommonTree root_0 = null; 10540 10541 Token INSTRUCTION_FORMAT11n291=null; 10542 Token REGISTER292=null; 10543 Token COMMA293=null; 10544 ParserRuleReturnScope integral_literal294 =null; 10545 10546 CommonTree INSTRUCTION_FORMAT11n291_tree=null; 10547 CommonTree REGISTER292_tree=null; 10548 CommonTree COMMA293_tree=null; 10549 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 10550 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 10551 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11n=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11n"); 10552 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 10553 10554 try { 10555 // smaliParser.g:868:3: ( INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) ) 10556 // smaliParser.g:869:5: INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal 10557 { 10558 INSTRUCTION_FORMAT11n291=(Token)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4111); 10559 stream_INSTRUCTION_FORMAT11n.add(INSTRUCTION_FORMAT11n291); 10560 10561 REGISTER292=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n4113); 10562 stream_REGISTER.add(REGISTER292); 10563 10564 COMMA293=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format11n4115); 10565 stream_COMMA.add(COMMA293); 10566 10567 pushFollow(FOLLOW_integral_literal_in_insn_format11n4117); 10568 integral_literal294=integral_literal(); 10569 state._fsp--; 10570 10571 stream_integral_literal.add(integral_literal294.getTree()); 10572 // AST REWRITE 10573 // elements: integral_literal, INSTRUCTION_FORMAT11n, REGISTER 10574 // token labels: 10575 // rule labels: retval 10576 // token list labels: 10577 // rule list labels: 10578 // wildcard labels: 10579 retval.tree = root_0; 10580 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10581 10582 root_0 = (CommonTree)adaptor.nil(); 10583 // 870:5: -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) 10584 { 10585 // smaliParser.g:870:8: ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) 10586 { 10587 CommonTree root_1 = (CommonTree)adaptor.nil(); 10588 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT11n, (retval.start), "I_STATEMENT_FORMAT11n"), root_1); 10589 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT11n.nextNode()); 10590 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 10591 adaptor.addChild(root_1, stream_integral_literal.nextTree()); 10592 adaptor.addChild(root_0, root_1); 10593 } 10594 10595 } 10596 10597 10598 retval.tree = root_0; 10599 10600 } 10601 10602 retval.stop = input.LT(-1); 10603 10604 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10605 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10606 10607 } 10608 catch (RecognitionException re) { 10609 reportError(re); 10610 recover(input,re); 10611 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10612 } 10613 finally { 10614 // do for sure before leaving 10615 } 10616 return retval; 10617 } 10618 // $ANTLR end "insn_format11n" 10619 10620 10621 public static class insn_format11x_return extends ParserRuleReturnScope { 10622 CommonTree tree; 10623 @Override getTree()10624 public CommonTree getTree() { return tree; } 10625 }; 10626 10627 10628 // $ANTLR start "insn_format11x" 10629 // smaliParser.g:872:1: insn_format11x : INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) ; insn_format11x()10630 public final smaliParser.insn_format11x_return insn_format11x() throws RecognitionException { 10631 smaliParser.insn_format11x_return retval = new smaliParser.insn_format11x_return(); 10632 retval.start = input.LT(1); 10633 10634 CommonTree root_0 = null; 10635 10636 Token INSTRUCTION_FORMAT11x295=null; 10637 Token REGISTER296=null; 10638 10639 CommonTree INSTRUCTION_FORMAT11x295_tree=null; 10640 CommonTree REGISTER296_tree=null; 10641 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 10642 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11x"); 10643 10644 try { 10645 // smaliParser.g:873:3: ( INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) ) 10646 // smaliParser.g:874:5: INSTRUCTION_FORMAT11x REGISTER 10647 { 10648 INSTRUCTION_FORMAT11x295=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4149); 10649 stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x295); 10650 10651 REGISTER296=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x4151); 10652 stream_REGISTER.add(REGISTER296); 10653 10654 // AST REWRITE 10655 // elements: REGISTER, INSTRUCTION_FORMAT11x 10656 // token labels: 10657 // rule labels: retval 10658 // token list labels: 10659 // rule list labels: 10660 // wildcard labels: 10661 retval.tree = root_0; 10662 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10663 10664 root_0 = (CommonTree)adaptor.nil(); 10665 // 875:5: -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) 10666 { 10667 // smaliParser.g:875:8: ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) 10668 { 10669 CommonTree root_1 = (CommonTree)adaptor.nil(); 10670 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT11x, (retval.start), "I_STATEMENT_FORMAT11x"), root_1); 10671 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT11x.nextNode()); 10672 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 10673 adaptor.addChild(root_0, root_1); 10674 } 10675 10676 } 10677 10678 10679 retval.tree = root_0; 10680 10681 } 10682 10683 retval.stop = input.LT(-1); 10684 10685 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10686 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10687 10688 } 10689 catch (RecognitionException re) { 10690 reportError(re); 10691 recover(input,re); 10692 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10693 } 10694 finally { 10695 // do for sure before leaving 10696 } 10697 return retval; 10698 } 10699 // $ANTLR end "insn_format11x" 10700 10701 10702 public static class insn_format12x_return extends ParserRuleReturnScope { 10703 CommonTree tree; 10704 @Override getTree()10705 public CommonTree getTree() { return tree; } 10706 }; 10707 10708 10709 // $ANTLR start "insn_format12x" 10710 // smaliParser.g:877:1: insn_format12x : instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) ; insn_format12x()10711 public final smaliParser.insn_format12x_return insn_format12x() throws RecognitionException { 10712 smaliParser.insn_format12x_return retval = new smaliParser.insn_format12x_return(); 10713 retval.start = input.LT(1); 10714 10715 CommonTree root_0 = null; 10716 10717 Token REGISTER298=null; 10718 Token COMMA299=null; 10719 Token REGISTER300=null; 10720 ParserRuleReturnScope instruction_format12x297 =null; 10721 10722 CommonTree REGISTER298_tree=null; 10723 CommonTree COMMA299_tree=null; 10724 CommonTree REGISTER300_tree=null; 10725 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 10726 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 10727 RewriteRuleSubtreeStream stream_instruction_format12x=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format12x"); 10728 10729 try { 10730 // smaliParser.g:878:3: ( instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) ) 10731 // smaliParser.g:879:5: instruction_format12x REGISTER COMMA REGISTER 10732 { 10733 pushFollow(FOLLOW_instruction_format12x_in_insn_format12x4181); 10734 instruction_format12x297=instruction_format12x(); 10735 state._fsp--; 10736 10737 stream_instruction_format12x.add(instruction_format12x297.getTree()); 10738 REGISTER298=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4183); 10739 stream_REGISTER.add(REGISTER298); 10740 10741 COMMA299=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format12x4185); 10742 stream_COMMA.add(COMMA299); 10743 10744 REGISTER300=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4187); 10745 stream_REGISTER.add(REGISTER300); 10746 10747 // AST REWRITE 10748 // elements: REGISTER, instruction_format12x, REGISTER 10749 // token labels: 10750 // rule labels: retval 10751 // token list labels: 10752 // rule list labels: 10753 // wildcard labels: 10754 retval.tree = root_0; 10755 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10756 10757 root_0 = (CommonTree)adaptor.nil(); 10758 // 880:5: -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) 10759 { 10760 // smaliParser.g:880:8: ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) 10761 { 10762 CommonTree root_1 = (CommonTree)adaptor.nil(); 10763 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT12x, (retval.start), "I_STATEMENT_FORMAT12x"), root_1); 10764 adaptor.addChild(root_1, stream_instruction_format12x.nextTree()); 10765 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 10766 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 10767 adaptor.addChild(root_0, root_1); 10768 } 10769 10770 } 10771 10772 10773 retval.tree = root_0; 10774 10775 } 10776 10777 retval.stop = input.LT(-1); 10778 10779 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10780 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10781 10782 } 10783 catch (RecognitionException re) { 10784 reportError(re); 10785 recover(input,re); 10786 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10787 } 10788 finally { 10789 // do for sure before leaving 10790 } 10791 return retval; 10792 } 10793 // $ANTLR end "insn_format12x" 10794 10795 10796 public static class insn_format20bc_return extends ParserRuleReturnScope { 10797 CommonTree tree; 10798 @Override getTree()10799 public CommonTree getTree() { return tree; } 10800 }; 10801 10802 10803 // $ANTLR start "insn_format20bc" 10804 // smaliParser.g:882:1: insn_format20bc : INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) ; insn_format20bc()10805 public final smaliParser.insn_format20bc_return insn_format20bc() throws RecognitionException { 10806 smaliParser.insn_format20bc_return retval = new smaliParser.insn_format20bc_return(); 10807 retval.start = input.LT(1); 10808 10809 CommonTree root_0 = null; 10810 10811 Token INSTRUCTION_FORMAT20bc301=null; 10812 Token VERIFICATION_ERROR_TYPE302=null; 10813 Token COMMA303=null; 10814 ParserRuleReturnScope verification_error_reference304 =null; 10815 10816 CommonTree INSTRUCTION_FORMAT20bc301_tree=null; 10817 CommonTree VERIFICATION_ERROR_TYPE302_tree=null; 10818 CommonTree COMMA303_tree=null; 10819 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 10820 RewriteRuleTokenStream stream_VERIFICATION_ERROR_TYPE=new RewriteRuleTokenStream(adaptor,"token VERIFICATION_ERROR_TYPE"); 10821 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT20bc=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT20bc"); 10822 RewriteRuleSubtreeStream stream_verification_error_reference=new RewriteRuleSubtreeStream(adaptor,"rule verification_error_reference"); 10823 10824 try { 10825 // smaliParser.g:883:3: ( INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) ) 10826 // smaliParser.g:884:5: INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference 10827 { 10828 INSTRUCTION_FORMAT20bc301=(Token)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4219); 10829 stream_INSTRUCTION_FORMAT20bc.add(INSTRUCTION_FORMAT20bc301); 10830 10831 VERIFICATION_ERROR_TYPE302=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4221); 10832 stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE302); 10833 10834 COMMA303=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format20bc4223); 10835 stream_COMMA.add(COMMA303); 10836 10837 pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc4225); 10838 verification_error_reference304=verification_error_reference(); 10839 state._fsp--; 10840 10841 stream_verification_error_reference.add(verification_error_reference304.getTree()); 10842 10843 if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT20bc301!=null?INSTRUCTION_FORMAT20bc301.getText():null)) == null || apiLevel >= 14) { 10844 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT20bc301!=null?INSTRUCTION_FORMAT20bc301.getText():null)); 10845 } 10846 10847 // AST REWRITE 10848 // elements: VERIFICATION_ERROR_TYPE, verification_error_reference, INSTRUCTION_FORMAT20bc 10849 // token labels: 10850 // rule labels: retval 10851 // token list labels: 10852 // rule list labels: 10853 // wildcard labels: 10854 retval.tree = root_0; 10855 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10856 10857 root_0 = (CommonTree)adaptor.nil(); 10858 // 890:5: -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) 10859 { 10860 // smaliParser.g:890:8: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) 10861 { 10862 CommonTree root_1 = (CommonTree)adaptor.nil(); 10863 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT20bc, "I_STATEMENT_FORMAT20bc"), root_1); 10864 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT20bc.nextNode()); 10865 adaptor.addChild(root_1, stream_VERIFICATION_ERROR_TYPE.nextNode()); 10866 adaptor.addChild(root_1, stream_verification_error_reference.nextTree()); 10867 adaptor.addChild(root_0, root_1); 10868 } 10869 10870 } 10871 10872 10873 retval.tree = root_0; 10874 10875 } 10876 10877 retval.stop = input.LT(-1); 10878 10879 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10880 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10881 10882 } 10883 catch (RecognitionException re) { 10884 reportError(re); 10885 recover(input,re); 10886 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10887 } 10888 finally { 10889 // do for sure before leaving 10890 } 10891 return retval; 10892 } 10893 // $ANTLR end "insn_format20bc" 10894 10895 10896 public static class insn_format20t_return extends ParserRuleReturnScope { 10897 CommonTree tree; 10898 @Override getTree()10899 public CommonTree getTree() { return tree; } 10900 }; 10901 10902 10903 // $ANTLR start "insn_format20t" 10904 // smaliParser.g:892:1: insn_format20t : INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) ; insn_format20t()10905 public final smaliParser.insn_format20t_return insn_format20t() throws RecognitionException { 10906 smaliParser.insn_format20t_return retval = new smaliParser.insn_format20t_return(); 10907 retval.start = input.LT(1); 10908 10909 CommonTree root_0 = null; 10910 10911 Token INSTRUCTION_FORMAT20t305=null; 10912 ParserRuleReturnScope label_ref306 =null; 10913 10914 CommonTree INSTRUCTION_FORMAT20t305_tree=null; 10915 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT20t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT20t"); 10916 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 10917 10918 try { 10919 // smaliParser.g:893:3: ( INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) ) 10920 // smaliParser.g:894:5: INSTRUCTION_FORMAT20t label_ref 10921 { 10922 INSTRUCTION_FORMAT20t305=(Token)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4262); 10923 stream_INSTRUCTION_FORMAT20t.add(INSTRUCTION_FORMAT20t305); 10924 10925 pushFollow(FOLLOW_label_ref_in_insn_format20t4264); 10926 label_ref306=label_ref(); 10927 state._fsp--; 10928 10929 stream_label_ref.add(label_ref306.getTree()); 10930 // AST REWRITE 10931 // elements: INSTRUCTION_FORMAT20t, label_ref 10932 // token labels: 10933 // rule labels: retval 10934 // token list labels: 10935 // rule list labels: 10936 // wildcard labels: 10937 retval.tree = root_0; 10938 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 10939 10940 root_0 = (CommonTree)adaptor.nil(); 10941 // 895:5: -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) 10942 { 10943 // smaliParser.g:895:8: ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) 10944 { 10945 CommonTree root_1 = (CommonTree)adaptor.nil(); 10946 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT20t, (retval.start), "I_STATEMENT_FORMAT20t"), root_1); 10947 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT20t.nextNode()); 10948 adaptor.addChild(root_1, stream_label_ref.nextTree()); 10949 adaptor.addChild(root_0, root_1); 10950 } 10951 10952 } 10953 10954 10955 retval.tree = root_0; 10956 10957 } 10958 10959 retval.stop = input.LT(-1); 10960 10961 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 10962 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 10963 10964 } 10965 catch (RecognitionException re) { 10966 reportError(re); 10967 recover(input,re); 10968 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 10969 } 10970 finally { 10971 // do for sure before leaving 10972 } 10973 return retval; 10974 } 10975 // $ANTLR end "insn_format20t" 10976 10977 10978 public static class insn_format21c_field_return extends ParserRuleReturnScope { 10979 CommonTree tree; 10980 @Override getTree()10981 public CommonTree getTree() { return tree; } 10982 }; 10983 10984 10985 // $ANTLR start "insn_format21c_field" 10986 // smaliParser.g:897:1: insn_format21c_field : INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) ; insn_format21c_field()10987 public final smaliParser.insn_format21c_field_return insn_format21c_field() throws RecognitionException { 10988 smaliParser.insn_format21c_field_return retval = new smaliParser.insn_format21c_field_return(); 10989 retval.start = input.LT(1); 10990 10991 CommonTree root_0 = null; 10992 10993 Token INSTRUCTION_FORMAT21c_FIELD307=null; 10994 Token REGISTER308=null; 10995 Token COMMA309=null; 10996 ParserRuleReturnScope field_reference310 =null; 10997 10998 CommonTree INSTRUCTION_FORMAT21c_FIELD307_tree=null; 10999 CommonTree REGISTER308_tree=null; 11000 CommonTree COMMA309_tree=null; 11001 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11002 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD"); 11003 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11004 RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference"); 11005 11006 try { 11007 // smaliParser.g:898:3: ( INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) ) 11008 // smaliParser.g:899:5: INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference 11009 { 11010 INSTRUCTION_FORMAT21c_FIELD307=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4294); 11011 stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD307); 11012 11013 REGISTER308=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field4296); 11014 stream_REGISTER.add(REGISTER308); 11015 11016 COMMA309=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field4298); 11017 stream_COMMA.add(COMMA309); 11018 11019 pushFollow(FOLLOW_field_reference_in_insn_format21c_field4300); 11020 field_reference310=field_reference(); 11021 state._fsp--; 11022 11023 stream_field_reference.add(field_reference310.getTree()); 11024 // AST REWRITE 11025 // elements: REGISTER, INSTRUCTION_FORMAT21c_FIELD, field_reference 11026 // token labels: 11027 // rule labels: retval 11028 // token list labels: 11029 // rule list labels: 11030 // wildcard labels: 11031 retval.tree = root_0; 11032 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11033 11034 root_0 = (CommonTree)adaptor.nil(); 11035 // 900:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) 11036 { 11037 // smaliParser.g:900:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) 11038 { 11039 CommonTree root_1 = (CommonTree)adaptor.nil(); 11040 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_FIELD, (retval.start), "I_STATEMENT_FORMAT21c_FIELD"), root_1); 11041 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_FIELD.nextNode()); 11042 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11043 adaptor.addChild(root_1, stream_field_reference.nextTree()); 11044 adaptor.addChild(root_0, root_1); 11045 } 11046 11047 } 11048 11049 11050 retval.tree = root_0; 11051 11052 } 11053 11054 retval.stop = input.LT(-1); 11055 11056 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11057 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11058 11059 } 11060 catch (RecognitionException re) { 11061 reportError(re); 11062 recover(input,re); 11063 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11064 } 11065 finally { 11066 // do for sure before leaving 11067 } 11068 return retval; 11069 } 11070 // $ANTLR end "insn_format21c_field" 11071 11072 11073 public static class insn_format21c_field_odex_return extends ParserRuleReturnScope { 11074 CommonTree tree; 11075 @Override getTree()11076 public CommonTree getTree() { return tree; } 11077 }; 11078 11079 11080 // $ANTLR start "insn_format21c_field_odex" 11081 // smaliParser.g:902:1: insn_format21c_field_odex : INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) ; insn_format21c_field_odex()11082 public final smaliParser.insn_format21c_field_odex_return insn_format21c_field_odex() throws RecognitionException { 11083 smaliParser.insn_format21c_field_odex_return retval = new smaliParser.insn_format21c_field_odex_return(); 11084 retval.start = input.LT(1); 11085 11086 CommonTree root_0 = null; 11087 11088 Token INSTRUCTION_FORMAT21c_FIELD_ODEX311=null; 11089 Token REGISTER312=null; 11090 Token COMMA313=null; 11091 ParserRuleReturnScope field_reference314 =null; 11092 11093 CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX311_tree=null; 11094 CommonTree REGISTER312_tree=null; 11095 CommonTree COMMA313_tree=null; 11096 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11097 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11098 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD_ODEX"); 11099 RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference"); 11100 11101 try { 11102 // smaliParser.g:903:3: ( INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) ) 11103 // smaliParser.g:904:5: INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference 11104 { 11105 INSTRUCTION_FORMAT21c_FIELD_ODEX311=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4332); 11106 stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX311); 11107 11108 REGISTER312=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field_odex4334); 11109 stream_REGISTER.add(REGISTER312); 11110 11111 COMMA313=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field_odex4336); 11112 stream_COMMA.add(COMMA313); 11113 11114 pushFollow(FOLLOW_field_reference_in_insn_format21c_field_odex4338); 11115 field_reference314=field_reference(); 11116 state._fsp--; 11117 11118 stream_field_reference.add(field_reference314.getTree()); 11119 11120 if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_FIELD_ODEX311!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX311.getText():null)) == null || apiLevel >= 14) { 11121 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT21c_FIELD_ODEX311!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX311.getText():null)); 11122 } 11123 11124 // AST REWRITE 11125 // elements: INSTRUCTION_FORMAT21c_FIELD_ODEX, REGISTER, field_reference 11126 // token labels: 11127 // rule labels: retval 11128 // token list labels: 11129 // rule list labels: 11130 // wildcard labels: 11131 retval.tree = root_0; 11132 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11133 11134 root_0 = (CommonTree)adaptor.nil(); 11135 // 910:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) 11136 { 11137 // smaliParser.g:910:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) 11138 { 11139 CommonTree root_1 = (CommonTree)adaptor.nil(); 11140 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_FIELD, (retval.start), "I_STATEMENT_FORMAT21c_FIELD"), root_1); 11141 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.nextNode()); 11142 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11143 adaptor.addChild(root_1, stream_field_reference.nextTree()); 11144 adaptor.addChild(root_0, root_1); 11145 } 11146 11147 } 11148 11149 11150 retval.tree = root_0; 11151 11152 } 11153 11154 retval.stop = input.LT(-1); 11155 11156 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11157 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11158 11159 } 11160 catch (RecognitionException re) { 11161 reportError(re); 11162 recover(input,re); 11163 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11164 } 11165 finally { 11166 // do for sure before leaving 11167 } 11168 return retval; 11169 } 11170 // $ANTLR end "insn_format21c_field_odex" 11171 11172 11173 public static class insn_format21c_string_return extends ParserRuleReturnScope { 11174 CommonTree tree; 11175 @Override getTree()11176 public CommonTree getTree() { return tree; } 11177 }; 11178 11179 11180 // $ANTLR start "insn_format21c_string" 11181 // smaliParser.g:912:1: insn_format21c_string : INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) ; insn_format21c_string()11182 public final smaliParser.insn_format21c_string_return insn_format21c_string() throws RecognitionException { 11183 smaliParser.insn_format21c_string_return retval = new smaliParser.insn_format21c_string_return(); 11184 retval.start = input.LT(1); 11185 11186 CommonTree root_0 = null; 11187 11188 Token INSTRUCTION_FORMAT21c_STRING315=null; 11189 Token REGISTER316=null; 11190 Token COMMA317=null; 11191 Token STRING_LITERAL318=null; 11192 11193 CommonTree INSTRUCTION_FORMAT21c_STRING315_tree=null; 11194 CommonTree REGISTER316_tree=null; 11195 CommonTree COMMA317_tree=null; 11196 CommonTree STRING_LITERAL318_tree=null; 11197 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11198 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11199 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 11200 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_STRING=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_STRING"); 11201 11202 try { 11203 // smaliParser.g:913:3: ( INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) ) 11204 // smaliParser.g:914:5: INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL 11205 { 11206 INSTRUCTION_FORMAT21c_STRING315=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4376); 11207 stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING315); 11208 11209 REGISTER316=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string4378); 11210 stream_REGISTER.add(REGISTER316); 11211 11212 COMMA317=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_string4380); 11213 stream_COMMA.add(COMMA317); 11214 11215 STRING_LITERAL318=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format21c_string4382); 11216 stream_STRING_LITERAL.add(STRING_LITERAL318); 11217 11218 // AST REWRITE 11219 // elements: STRING_LITERAL, REGISTER, INSTRUCTION_FORMAT21c_STRING 11220 // token labels: 11221 // rule labels: retval 11222 // token list labels: 11223 // rule list labels: 11224 // wildcard labels: 11225 retval.tree = root_0; 11226 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11227 11228 root_0 = (CommonTree)adaptor.nil(); 11229 // 915:5: -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) 11230 { 11231 // smaliParser.g:915:8: ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) 11232 { 11233 CommonTree root_1 = (CommonTree)adaptor.nil(); 11234 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_STRING, (retval.start), "I_STATEMENT_FORMAT21c_STRING"), root_1); 11235 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_STRING.nextNode()); 11236 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11237 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 11238 adaptor.addChild(root_0, root_1); 11239 } 11240 11241 } 11242 11243 11244 retval.tree = root_0; 11245 11246 } 11247 11248 retval.stop = input.LT(-1); 11249 11250 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11251 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11252 11253 } 11254 catch (RecognitionException re) { 11255 reportError(re); 11256 recover(input,re); 11257 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11258 } 11259 finally { 11260 // do for sure before leaving 11261 } 11262 return retval; 11263 } 11264 // $ANTLR end "insn_format21c_string" 11265 11266 11267 public static class insn_format21c_type_return extends ParserRuleReturnScope { 11268 CommonTree tree; 11269 @Override getTree()11270 public CommonTree getTree() { return tree; } 11271 }; 11272 11273 11274 // $ANTLR start "insn_format21c_type" 11275 // smaliParser.g:917:1: insn_format21c_type : INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ; insn_format21c_type()11276 public final smaliParser.insn_format21c_type_return insn_format21c_type() throws RecognitionException { 11277 smaliParser.insn_format21c_type_return retval = new smaliParser.insn_format21c_type_return(); 11278 retval.start = input.LT(1); 11279 11280 CommonTree root_0 = null; 11281 11282 Token INSTRUCTION_FORMAT21c_TYPE319=null; 11283 Token REGISTER320=null; 11284 Token COMMA321=null; 11285 ParserRuleReturnScope nonvoid_type_descriptor322 =null; 11286 11287 CommonTree INSTRUCTION_FORMAT21c_TYPE319_tree=null; 11288 CommonTree REGISTER320_tree=null; 11289 CommonTree COMMA321_tree=null; 11290 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11291 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11292 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_TYPE"); 11293 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 11294 11295 try { 11296 // smaliParser.g:918:3: ( INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ) 11297 // smaliParser.g:919:5: INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor 11298 { 11299 INSTRUCTION_FORMAT21c_TYPE319=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4414); 11300 stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE319); 11301 11302 REGISTER320=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type4416); 11303 stream_REGISTER.add(REGISTER320); 11304 11305 COMMA321=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_type4418); 11306 stream_COMMA.add(COMMA321); 11307 11308 pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4420); 11309 nonvoid_type_descriptor322=nonvoid_type_descriptor(); 11310 state._fsp--; 11311 11312 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor322.getTree()); 11313 // AST REWRITE 11314 // elements: REGISTER, INSTRUCTION_FORMAT21c_TYPE, nonvoid_type_descriptor 11315 // token labels: 11316 // rule labels: retval 11317 // token list labels: 11318 // rule list labels: 11319 // wildcard labels: 11320 retval.tree = root_0; 11321 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11322 11323 root_0 = (CommonTree)adaptor.nil(); 11324 // 920:5: -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) 11325 { 11326 // smaliParser.g:920:8: ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) 11327 { 11328 CommonTree root_1 = (CommonTree)adaptor.nil(); 11329 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_TYPE, (retval.start), "I_STATEMENT_FORMAT21c"), root_1); 11330 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_TYPE.nextNode()); 11331 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11332 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 11333 adaptor.addChild(root_0, root_1); 11334 } 11335 11336 } 11337 11338 11339 retval.tree = root_0; 11340 11341 } 11342 11343 retval.stop = input.LT(-1); 11344 11345 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11346 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11347 11348 } 11349 catch (RecognitionException re) { 11350 reportError(re); 11351 recover(input,re); 11352 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11353 } 11354 finally { 11355 // do for sure before leaving 11356 } 11357 return retval; 11358 } 11359 // $ANTLR end "insn_format21c_type" 11360 11361 11362 public static class insn_format21ih_return extends ParserRuleReturnScope { 11363 CommonTree tree; 11364 @Override getTree()11365 public CommonTree getTree() { return tree; } 11366 }; 11367 11368 11369 // $ANTLR start "insn_format21ih" 11370 // smaliParser.g:922:1: insn_format21ih : INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ; insn_format21ih()11371 public final smaliParser.insn_format21ih_return insn_format21ih() throws RecognitionException { 11372 smaliParser.insn_format21ih_return retval = new smaliParser.insn_format21ih_return(); 11373 retval.start = input.LT(1); 11374 11375 CommonTree root_0 = null; 11376 11377 Token INSTRUCTION_FORMAT21ih323=null; 11378 Token REGISTER324=null; 11379 Token COMMA325=null; 11380 ParserRuleReturnScope fixed_32bit_literal326 =null; 11381 11382 CommonTree INSTRUCTION_FORMAT21ih323_tree=null; 11383 CommonTree REGISTER324_tree=null; 11384 CommonTree COMMA325_tree=null; 11385 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11386 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11387 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21ih=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21ih"); 11388 RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal"); 11389 11390 try { 11391 // smaliParser.g:923:3: ( INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ) 11392 // smaliParser.g:924:5: INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal 11393 { 11394 INSTRUCTION_FORMAT21ih323=(Token)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4452); 11395 stream_INSTRUCTION_FORMAT21ih.add(INSTRUCTION_FORMAT21ih323); 11396 11397 REGISTER324=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih4454); 11398 stream_REGISTER.add(REGISTER324); 11399 11400 COMMA325=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21ih4456); 11401 stream_COMMA.add(COMMA325); 11402 11403 pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih4458); 11404 fixed_32bit_literal326=fixed_32bit_literal(); 11405 state._fsp--; 11406 11407 stream_fixed_32bit_literal.add(fixed_32bit_literal326.getTree()); 11408 // AST REWRITE 11409 // elements: REGISTER, INSTRUCTION_FORMAT21ih, fixed_32bit_literal 11410 // token labels: 11411 // rule labels: retval 11412 // token list labels: 11413 // rule list labels: 11414 // wildcard labels: 11415 retval.tree = root_0; 11416 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11417 11418 root_0 = (CommonTree)adaptor.nil(); 11419 // 925:5: -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) 11420 { 11421 // smaliParser.g:925:8: ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) 11422 { 11423 CommonTree root_1 = (CommonTree)adaptor.nil(); 11424 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21ih, (retval.start), "I_STATEMENT_FORMAT21ih"), root_1); 11425 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21ih.nextNode()); 11426 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11427 adaptor.addChild(root_1, stream_fixed_32bit_literal.nextTree()); 11428 adaptor.addChild(root_0, root_1); 11429 } 11430 11431 } 11432 11433 11434 retval.tree = root_0; 11435 11436 } 11437 11438 retval.stop = input.LT(-1); 11439 11440 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11441 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11442 11443 } 11444 catch (RecognitionException re) { 11445 reportError(re); 11446 recover(input,re); 11447 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11448 } 11449 finally { 11450 // do for sure before leaving 11451 } 11452 return retval; 11453 } 11454 // $ANTLR end "insn_format21ih" 11455 11456 11457 public static class insn_format21lh_return extends ParserRuleReturnScope { 11458 CommonTree tree; 11459 @Override getTree()11460 public CommonTree getTree() { return tree; } 11461 }; 11462 11463 11464 // $ANTLR start "insn_format21lh" 11465 // smaliParser.g:927:1: insn_format21lh : INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) ; insn_format21lh()11466 public final smaliParser.insn_format21lh_return insn_format21lh() throws RecognitionException { 11467 smaliParser.insn_format21lh_return retval = new smaliParser.insn_format21lh_return(); 11468 retval.start = input.LT(1); 11469 11470 CommonTree root_0 = null; 11471 11472 Token INSTRUCTION_FORMAT21lh327=null; 11473 Token REGISTER328=null; 11474 Token COMMA329=null; 11475 ParserRuleReturnScope fixed_32bit_literal330 =null; 11476 11477 CommonTree INSTRUCTION_FORMAT21lh327_tree=null; 11478 CommonTree REGISTER328_tree=null; 11479 CommonTree COMMA329_tree=null; 11480 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11481 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11482 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21lh=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21lh"); 11483 RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal"); 11484 11485 try { 11486 // smaliParser.g:928:3: ( INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) ) 11487 // smaliParser.g:929:5: INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal 11488 { 11489 INSTRUCTION_FORMAT21lh327=(Token)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4490); 11490 stream_INSTRUCTION_FORMAT21lh.add(INSTRUCTION_FORMAT21lh327); 11491 11492 REGISTER328=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh4492); 11493 stream_REGISTER.add(REGISTER328); 11494 11495 COMMA329=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21lh4494); 11496 stream_COMMA.add(COMMA329); 11497 11498 pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21lh4496); 11499 fixed_32bit_literal330=fixed_32bit_literal(); 11500 state._fsp--; 11501 11502 stream_fixed_32bit_literal.add(fixed_32bit_literal330.getTree()); 11503 // AST REWRITE 11504 // elements: INSTRUCTION_FORMAT21lh, fixed_32bit_literal, REGISTER 11505 // token labels: 11506 // rule labels: retval 11507 // token list labels: 11508 // rule list labels: 11509 // wildcard labels: 11510 retval.tree = root_0; 11511 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11512 11513 root_0 = (CommonTree)adaptor.nil(); 11514 // 930:5: -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) 11515 { 11516 // smaliParser.g:930:8: ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) 11517 { 11518 CommonTree root_1 = (CommonTree)adaptor.nil(); 11519 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21lh, (retval.start), "I_STATEMENT_FORMAT21lh"), root_1); 11520 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21lh.nextNode()); 11521 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11522 adaptor.addChild(root_1, stream_fixed_32bit_literal.nextTree()); 11523 adaptor.addChild(root_0, root_1); 11524 } 11525 11526 } 11527 11528 11529 retval.tree = root_0; 11530 11531 } 11532 11533 retval.stop = input.LT(-1); 11534 11535 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11536 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11537 11538 } 11539 catch (RecognitionException re) { 11540 reportError(re); 11541 recover(input,re); 11542 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11543 } 11544 finally { 11545 // do for sure before leaving 11546 } 11547 return retval; 11548 } 11549 // $ANTLR end "insn_format21lh" 11550 11551 11552 public static class insn_format21s_return extends ParserRuleReturnScope { 11553 CommonTree tree; 11554 @Override getTree()11555 public CommonTree getTree() { return tree; } 11556 }; 11557 11558 11559 // $ANTLR start "insn_format21s" 11560 // smaliParser.g:932:1: insn_format21s : INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) ; insn_format21s()11561 public final smaliParser.insn_format21s_return insn_format21s() throws RecognitionException { 11562 smaliParser.insn_format21s_return retval = new smaliParser.insn_format21s_return(); 11563 retval.start = input.LT(1); 11564 11565 CommonTree root_0 = null; 11566 11567 Token INSTRUCTION_FORMAT21s331=null; 11568 Token REGISTER332=null; 11569 Token COMMA333=null; 11570 ParserRuleReturnScope integral_literal334 =null; 11571 11572 CommonTree INSTRUCTION_FORMAT21s331_tree=null; 11573 CommonTree REGISTER332_tree=null; 11574 CommonTree COMMA333_tree=null; 11575 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11576 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11577 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21s=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21s"); 11578 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 11579 11580 try { 11581 // smaliParser.g:933:3: ( INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) ) 11582 // smaliParser.g:934:5: INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal 11583 { 11584 INSTRUCTION_FORMAT21s331=(Token)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4528); 11585 stream_INSTRUCTION_FORMAT21s.add(INSTRUCTION_FORMAT21s331); 11586 11587 REGISTER332=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s4530); 11588 stream_REGISTER.add(REGISTER332); 11589 11590 COMMA333=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21s4532); 11591 stream_COMMA.add(COMMA333); 11592 11593 pushFollow(FOLLOW_integral_literal_in_insn_format21s4534); 11594 integral_literal334=integral_literal(); 11595 state._fsp--; 11596 11597 stream_integral_literal.add(integral_literal334.getTree()); 11598 // AST REWRITE 11599 // elements: integral_literal, REGISTER, INSTRUCTION_FORMAT21s 11600 // token labels: 11601 // rule labels: retval 11602 // token list labels: 11603 // rule list labels: 11604 // wildcard labels: 11605 retval.tree = root_0; 11606 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11607 11608 root_0 = (CommonTree)adaptor.nil(); 11609 // 935:5: -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) 11610 { 11611 // smaliParser.g:935:8: ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) 11612 { 11613 CommonTree root_1 = (CommonTree)adaptor.nil(); 11614 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21s, (retval.start), "I_STATEMENT_FORMAT21s"), root_1); 11615 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21s.nextNode()); 11616 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11617 adaptor.addChild(root_1, stream_integral_literal.nextTree()); 11618 adaptor.addChild(root_0, root_1); 11619 } 11620 11621 } 11622 11623 11624 retval.tree = root_0; 11625 11626 } 11627 11628 retval.stop = input.LT(-1); 11629 11630 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11631 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11632 11633 } 11634 catch (RecognitionException re) { 11635 reportError(re); 11636 recover(input,re); 11637 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11638 } 11639 finally { 11640 // do for sure before leaving 11641 } 11642 return retval; 11643 } 11644 // $ANTLR end "insn_format21s" 11645 11646 11647 public static class insn_format21t_return extends ParserRuleReturnScope { 11648 CommonTree tree; 11649 @Override getTree()11650 public CommonTree getTree() { return tree; } 11651 }; 11652 11653 11654 // $ANTLR start "insn_format21t" 11655 // smaliParser.g:937:1: insn_format21t : INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) ; insn_format21t()11656 public final smaliParser.insn_format21t_return insn_format21t() throws RecognitionException { 11657 smaliParser.insn_format21t_return retval = new smaliParser.insn_format21t_return(); 11658 retval.start = input.LT(1); 11659 11660 CommonTree root_0 = null; 11661 11662 Token INSTRUCTION_FORMAT21t335=null; 11663 Token REGISTER336=null; 11664 Token COMMA337=null; 11665 ParserRuleReturnScope label_ref338 =null; 11666 11667 CommonTree INSTRUCTION_FORMAT21t335_tree=null; 11668 CommonTree REGISTER336_tree=null; 11669 CommonTree COMMA337_tree=null; 11670 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11671 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11672 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21t"); 11673 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 11674 11675 try { 11676 // smaliParser.g:938:3: ( INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) ) 11677 // smaliParser.g:939:5: INSTRUCTION_FORMAT21t REGISTER COMMA label_ref 11678 { 11679 INSTRUCTION_FORMAT21t335=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4566); 11680 stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t335); 11681 11682 REGISTER336=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t4568); 11683 stream_REGISTER.add(REGISTER336); 11684 11685 COMMA337=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21t4570); 11686 stream_COMMA.add(COMMA337); 11687 11688 pushFollow(FOLLOW_label_ref_in_insn_format21t4572); 11689 label_ref338=label_ref(); 11690 state._fsp--; 11691 11692 stream_label_ref.add(label_ref338.getTree()); 11693 // AST REWRITE 11694 // elements: INSTRUCTION_FORMAT21t, label_ref, REGISTER 11695 // token labels: 11696 // rule labels: retval 11697 // token list labels: 11698 // rule list labels: 11699 // wildcard labels: 11700 retval.tree = root_0; 11701 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11702 11703 root_0 = (CommonTree)adaptor.nil(); 11704 // 940:5: -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) 11705 { 11706 // smaliParser.g:940:8: ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) 11707 { 11708 CommonTree root_1 = (CommonTree)adaptor.nil(); 11709 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21t, (retval.start), "I_STATEMENT_FORMAT21t"), root_1); 11710 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21t.nextNode()); 11711 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11712 adaptor.addChild(root_1, stream_label_ref.nextTree()); 11713 adaptor.addChild(root_0, root_1); 11714 } 11715 11716 } 11717 11718 11719 retval.tree = root_0; 11720 11721 } 11722 11723 retval.stop = input.LT(-1); 11724 11725 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11726 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11727 11728 } 11729 catch (RecognitionException re) { 11730 reportError(re); 11731 recover(input,re); 11732 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11733 } 11734 finally { 11735 // do for sure before leaving 11736 } 11737 return retval; 11738 } 11739 // $ANTLR end "insn_format21t" 11740 11741 11742 public static class insn_format22b_return extends ParserRuleReturnScope { 11743 CommonTree tree; 11744 @Override getTree()11745 public CommonTree getTree() { return tree; } 11746 }; 11747 11748 11749 // $ANTLR start "insn_format22b" 11750 // smaliParser.g:942:1: insn_format22b : INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) ; insn_format22b()11751 public final smaliParser.insn_format22b_return insn_format22b() throws RecognitionException { 11752 smaliParser.insn_format22b_return retval = new smaliParser.insn_format22b_return(); 11753 retval.start = input.LT(1); 11754 11755 CommonTree root_0 = null; 11756 11757 Token INSTRUCTION_FORMAT22b339=null; 11758 Token REGISTER340=null; 11759 Token COMMA341=null; 11760 Token REGISTER342=null; 11761 Token COMMA343=null; 11762 ParserRuleReturnScope integral_literal344 =null; 11763 11764 CommonTree INSTRUCTION_FORMAT22b339_tree=null; 11765 CommonTree REGISTER340_tree=null; 11766 CommonTree COMMA341_tree=null; 11767 CommonTree REGISTER342_tree=null; 11768 CommonTree COMMA343_tree=null; 11769 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11770 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11771 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22b=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22b"); 11772 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 11773 11774 try { 11775 // smaliParser.g:943:3: ( INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) ) 11776 // smaliParser.g:944:5: INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal 11777 { 11778 INSTRUCTION_FORMAT22b339=(Token)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4604); 11779 stream_INSTRUCTION_FORMAT22b.add(INSTRUCTION_FORMAT22b339); 11780 11781 REGISTER340=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4606); 11782 stream_REGISTER.add(REGISTER340); 11783 11784 COMMA341=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4608); 11785 stream_COMMA.add(COMMA341); 11786 11787 REGISTER342=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4610); 11788 stream_REGISTER.add(REGISTER342); 11789 11790 COMMA343=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4612); 11791 stream_COMMA.add(COMMA343); 11792 11793 pushFollow(FOLLOW_integral_literal_in_insn_format22b4614); 11794 integral_literal344=integral_literal(); 11795 state._fsp--; 11796 11797 stream_integral_literal.add(integral_literal344.getTree()); 11798 // AST REWRITE 11799 // elements: REGISTER, REGISTER, integral_literal, INSTRUCTION_FORMAT22b 11800 // token labels: 11801 // rule labels: retval 11802 // token list labels: 11803 // rule list labels: 11804 // wildcard labels: 11805 retval.tree = root_0; 11806 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11807 11808 root_0 = (CommonTree)adaptor.nil(); 11809 // 945:5: -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) 11810 { 11811 // smaliParser.g:945:8: ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) 11812 { 11813 CommonTree root_1 = (CommonTree)adaptor.nil(); 11814 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22b, (retval.start), "I_STATEMENT_FORMAT22b"), root_1); 11815 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22b.nextNode()); 11816 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11817 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11818 adaptor.addChild(root_1, stream_integral_literal.nextTree()); 11819 adaptor.addChild(root_0, root_1); 11820 } 11821 11822 } 11823 11824 11825 retval.tree = root_0; 11826 11827 } 11828 11829 retval.stop = input.LT(-1); 11830 11831 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11832 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11833 11834 } 11835 catch (RecognitionException re) { 11836 reportError(re); 11837 recover(input,re); 11838 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11839 } 11840 finally { 11841 // do for sure before leaving 11842 } 11843 return retval; 11844 } 11845 // $ANTLR end "insn_format22b" 11846 11847 11848 public static class insn_format22c_field_return extends ParserRuleReturnScope { 11849 CommonTree tree; 11850 @Override getTree()11851 public CommonTree getTree() { return tree; } 11852 }; 11853 11854 11855 // $ANTLR start "insn_format22c_field" 11856 // smaliParser.g:947:1: insn_format22c_field : INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) ; insn_format22c_field()11857 public final smaliParser.insn_format22c_field_return insn_format22c_field() throws RecognitionException { 11858 smaliParser.insn_format22c_field_return retval = new smaliParser.insn_format22c_field_return(); 11859 retval.start = input.LT(1); 11860 11861 CommonTree root_0 = null; 11862 11863 Token INSTRUCTION_FORMAT22c_FIELD345=null; 11864 Token REGISTER346=null; 11865 Token COMMA347=null; 11866 Token REGISTER348=null; 11867 Token COMMA349=null; 11868 ParserRuleReturnScope field_reference350 =null; 11869 11870 CommonTree INSTRUCTION_FORMAT22c_FIELD345_tree=null; 11871 CommonTree REGISTER346_tree=null; 11872 CommonTree COMMA347_tree=null; 11873 CommonTree REGISTER348_tree=null; 11874 CommonTree COMMA349_tree=null; 11875 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11876 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD"); 11877 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11878 RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference"); 11879 11880 try { 11881 // smaliParser.g:948:3: ( INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) ) 11882 // smaliParser.g:949:5: INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference 11883 { 11884 INSTRUCTION_FORMAT22c_FIELD345=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4648); 11885 stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD345); 11886 11887 REGISTER346=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4650); 11888 stream_REGISTER.add(REGISTER346); 11889 11890 COMMA347=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4652); 11891 stream_COMMA.add(COMMA347); 11892 11893 REGISTER348=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4654); 11894 stream_REGISTER.add(REGISTER348); 11895 11896 COMMA349=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4656); 11897 stream_COMMA.add(COMMA349); 11898 11899 pushFollow(FOLLOW_field_reference_in_insn_format22c_field4658); 11900 field_reference350=field_reference(); 11901 state._fsp--; 11902 11903 stream_field_reference.add(field_reference350.getTree()); 11904 // AST REWRITE 11905 // elements: INSTRUCTION_FORMAT22c_FIELD, REGISTER, field_reference, REGISTER 11906 // token labels: 11907 // rule labels: retval 11908 // token list labels: 11909 // rule list labels: 11910 // wildcard labels: 11911 retval.tree = root_0; 11912 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 11913 11914 root_0 = (CommonTree)adaptor.nil(); 11915 // 950:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) 11916 { 11917 // smaliParser.g:950:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) 11918 { 11919 CommonTree root_1 = (CommonTree)adaptor.nil(); 11920 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_FIELD, (retval.start), "I_STATEMENT_FORMAT22c_FIELD"), root_1); 11921 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22c_FIELD.nextNode()); 11922 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11923 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 11924 adaptor.addChild(root_1, stream_field_reference.nextTree()); 11925 adaptor.addChild(root_0, root_1); 11926 } 11927 11928 } 11929 11930 11931 retval.tree = root_0; 11932 11933 } 11934 11935 retval.stop = input.LT(-1); 11936 11937 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 11938 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 11939 11940 } 11941 catch (RecognitionException re) { 11942 reportError(re); 11943 recover(input,re); 11944 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 11945 } 11946 finally { 11947 // do for sure before leaving 11948 } 11949 return retval; 11950 } 11951 // $ANTLR end "insn_format22c_field" 11952 11953 11954 public static class insn_format22c_field_odex_return extends ParserRuleReturnScope { 11955 CommonTree tree; 11956 @Override getTree()11957 public CommonTree getTree() { return tree; } 11958 }; 11959 11960 11961 // $ANTLR start "insn_format22c_field_odex" 11962 // smaliParser.g:952:1: insn_format22c_field_odex : INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) ; insn_format22c_field_odex()11963 public final smaliParser.insn_format22c_field_odex_return insn_format22c_field_odex() throws RecognitionException { 11964 smaliParser.insn_format22c_field_odex_return retval = new smaliParser.insn_format22c_field_odex_return(); 11965 retval.start = input.LT(1); 11966 11967 CommonTree root_0 = null; 11968 11969 Token INSTRUCTION_FORMAT22c_FIELD_ODEX351=null; 11970 Token REGISTER352=null; 11971 Token COMMA353=null; 11972 Token REGISTER354=null; 11973 Token COMMA355=null; 11974 ParserRuleReturnScope field_reference356 =null; 11975 11976 CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX351_tree=null; 11977 CommonTree REGISTER352_tree=null; 11978 CommonTree COMMA353_tree=null; 11979 CommonTree REGISTER354_tree=null; 11980 CommonTree COMMA355_tree=null; 11981 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 11982 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 11983 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD_ODEX"); 11984 RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference"); 11985 11986 try { 11987 // smaliParser.g:953:3: ( INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) ) 11988 // smaliParser.g:954:5: INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference 11989 { 11990 INSTRUCTION_FORMAT22c_FIELD_ODEX351=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4692); 11991 stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX351); 11992 11993 REGISTER352=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4694); 11994 stream_REGISTER.add(REGISTER352); 11995 11996 COMMA353=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4696); 11997 stream_COMMA.add(COMMA353); 11998 11999 REGISTER354=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4698); 12000 stream_REGISTER.add(REGISTER354); 12001 12002 COMMA355=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4700); 12003 stream_COMMA.add(COMMA355); 12004 12005 pushFollow(FOLLOW_field_reference_in_insn_format22c_field_odex4702); 12006 field_reference356=field_reference(); 12007 state._fsp--; 12008 12009 stream_field_reference.add(field_reference356.getTree()); 12010 12011 if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT22c_FIELD_ODEX351!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX351.getText():null)) == null || apiLevel >= 14) { 12012 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22c_FIELD_ODEX351!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX351.getText():null)); 12013 } 12014 12015 // AST REWRITE 12016 // elements: INSTRUCTION_FORMAT22c_FIELD_ODEX, field_reference, REGISTER, REGISTER 12017 // token labels: 12018 // rule labels: retval 12019 // token list labels: 12020 // rule list labels: 12021 // wildcard labels: 12022 retval.tree = root_0; 12023 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12024 12025 root_0 = (CommonTree)adaptor.nil(); 12026 // 960:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) 12027 { 12028 // smaliParser.g:960:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) 12029 { 12030 CommonTree root_1 = (CommonTree)adaptor.nil(); 12031 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_FIELD, (retval.start), "I_STATEMENT_FORMAT22c_FIELD"), root_1); 12032 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.nextNode()); 12033 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12034 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12035 adaptor.addChild(root_1, stream_field_reference.nextTree()); 12036 adaptor.addChild(root_0, root_1); 12037 } 12038 12039 } 12040 12041 12042 retval.tree = root_0; 12043 12044 } 12045 12046 retval.stop = input.LT(-1); 12047 12048 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12049 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12050 12051 } 12052 catch (RecognitionException re) { 12053 reportError(re); 12054 recover(input,re); 12055 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12056 } 12057 finally { 12058 // do for sure before leaving 12059 } 12060 return retval; 12061 } 12062 // $ANTLR end "insn_format22c_field_odex" 12063 12064 12065 public static class insn_format22c_type_return extends ParserRuleReturnScope { 12066 CommonTree tree; 12067 @Override getTree()12068 public CommonTree getTree() { return tree; } 12069 }; 12070 12071 12072 // $ANTLR start "insn_format22c_type" 12073 // smaliParser.g:962:1: insn_format22c_type : INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) ; insn_format22c_type()12074 public final smaliParser.insn_format22c_type_return insn_format22c_type() throws RecognitionException { 12075 smaliParser.insn_format22c_type_return retval = new smaliParser.insn_format22c_type_return(); 12076 retval.start = input.LT(1); 12077 12078 CommonTree root_0 = null; 12079 12080 Token INSTRUCTION_FORMAT22c_TYPE357=null; 12081 Token REGISTER358=null; 12082 Token COMMA359=null; 12083 Token REGISTER360=null; 12084 Token COMMA361=null; 12085 ParserRuleReturnScope nonvoid_type_descriptor362 =null; 12086 12087 CommonTree INSTRUCTION_FORMAT22c_TYPE357_tree=null; 12088 CommonTree REGISTER358_tree=null; 12089 CommonTree COMMA359_tree=null; 12090 CommonTree REGISTER360_tree=null; 12091 CommonTree COMMA361_tree=null; 12092 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12093 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12094 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_TYPE"); 12095 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 12096 12097 try { 12098 // smaliParser.g:963:3: ( INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) ) 12099 // smaliParser.g:964:5: INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor 12100 { 12101 INSTRUCTION_FORMAT22c_TYPE357=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4742); 12102 stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE357); 12103 12104 REGISTER358=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4744); 12105 stream_REGISTER.add(REGISTER358); 12106 12107 COMMA359=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4746); 12108 stream_COMMA.add(COMMA359); 12109 12110 REGISTER360=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4748); 12111 stream_REGISTER.add(REGISTER360); 12112 12113 COMMA361=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4750); 12114 stream_COMMA.add(COMMA361); 12115 12116 pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4752); 12117 nonvoid_type_descriptor362=nonvoid_type_descriptor(); 12118 state._fsp--; 12119 12120 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor362.getTree()); 12121 // AST REWRITE 12122 // elements: REGISTER, REGISTER, nonvoid_type_descriptor, INSTRUCTION_FORMAT22c_TYPE 12123 // token labels: 12124 // rule labels: retval 12125 // token list labels: 12126 // rule list labels: 12127 // wildcard labels: 12128 retval.tree = root_0; 12129 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12130 12131 root_0 = (CommonTree)adaptor.nil(); 12132 // 965:5: -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) 12133 { 12134 // smaliParser.g:965:8: ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) 12135 { 12136 CommonTree root_1 = (CommonTree)adaptor.nil(); 12137 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_TYPE, (retval.start), "I_STATEMENT_FORMAT22c_TYPE"), root_1); 12138 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22c_TYPE.nextNode()); 12139 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12140 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12141 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 12142 adaptor.addChild(root_0, root_1); 12143 } 12144 12145 } 12146 12147 12148 retval.tree = root_0; 12149 12150 } 12151 12152 retval.stop = input.LT(-1); 12153 12154 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12155 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12156 12157 } 12158 catch (RecognitionException re) { 12159 reportError(re); 12160 recover(input,re); 12161 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12162 } 12163 finally { 12164 // do for sure before leaving 12165 } 12166 return retval; 12167 } 12168 // $ANTLR end "insn_format22c_type" 12169 12170 12171 public static class insn_format22cs_field_return extends ParserRuleReturnScope { 12172 CommonTree tree; 12173 @Override getTree()12174 public CommonTree getTree() { return tree; } 12175 }; 12176 12177 12178 // $ANTLR start "insn_format22cs_field" 12179 // smaliParser.g:967:1: insn_format22cs_field : INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET ; insn_format22cs_field()12180 public final smaliParser.insn_format22cs_field_return insn_format22cs_field() throws RecognitionException { 12181 smaliParser.insn_format22cs_field_return retval = new smaliParser.insn_format22cs_field_return(); 12182 retval.start = input.LT(1); 12183 12184 CommonTree root_0 = null; 12185 12186 Token INSTRUCTION_FORMAT22cs_FIELD363=null; 12187 Token REGISTER364=null; 12188 Token COMMA365=null; 12189 Token REGISTER366=null; 12190 Token COMMA367=null; 12191 Token FIELD_OFFSET368=null; 12192 12193 CommonTree INSTRUCTION_FORMAT22cs_FIELD363_tree=null; 12194 CommonTree REGISTER364_tree=null; 12195 CommonTree COMMA365_tree=null; 12196 CommonTree REGISTER366_tree=null; 12197 CommonTree COMMA367_tree=null; 12198 CommonTree FIELD_OFFSET368_tree=null; 12199 12200 try { 12201 // smaliParser.g:968:3: ( INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET ) 12202 // smaliParser.g:969:5: INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET 12203 { 12204 root_0 = (CommonTree)adaptor.nil(); 12205 12206 12207 INSTRUCTION_FORMAT22cs_FIELD363=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4786); 12208 INSTRUCTION_FORMAT22cs_FIELD363_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22cs_FIELD363); 12209 adaptor.addChild(root_0, INSTRUCTION_FORMAT22cs_FIELD363_tree); 12210 12211 REGISTER364=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4788); 12212 REGISTER364_tree = (CommonTree)adaptor.create(REGISTER364); 12213 adaptor.addChild(root_0, REGISTER364_tree); 12214 12215 COMMA365=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4790); 12216 COMMA365_tree = (CommonTree)adaptor.create(COMMA365); 12217 adaptor.addChild(root_0, COMMA365_tree); 12218 12219 REGISTER366=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4792); 12220 REGISTER366_tree = (CommonTree)adaptor.create(REGISTER366); 12221 adaptor.addChild(root_0, REGISTER366_tree); 12222 12223 COMMA367=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4794); 12224 COMMA367_tree = (CommonTree)adaptor.create(COMMA367); 12225 adaptor.addChild(root_0, COMMA367_tree); 12226 12227 FIELD_OFFSET368=(Token)match(input,FIELD_OFFSET,FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4796); 12228 FIELD_OFFSET368_tree = (CommonTree)adaptor.create(FIELD_OFFSET368); 12229 adaptor.addChild(root_0, FIELD_OFFSET368_tree); 12230 12231 12232 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22cs_FIELD363!=null?INSTRUCTION_FORMAT22cs_FIELD363.getText():null)); 12233 12234 } 12235 12236 retval.stop = input.LT(-1); 12237 12238 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12239 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12240 12241 } 12242 catch (RecognitionException re) { 12243 reportError(re); 12244 recover(input,re); 12245 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12246 } 12247 finally { 12248 // do for sure before leaving 12249 } 12250 return retval; 12251 } 12252 // $ANTLR end "insn_format22cs_field" 12253 12254 12255 public static class insn_format22s_return extends ParserRuleReturnScope { 12256 CommonTree tree; 12257 @Override getTree()12258 public CommonTree getTree() { return tree; } 12259 }; 12260 12261 12262 // $ANTLR start "insn_format22s" 12263 // smaliParser.g:974:1: insn_format22s : instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) ; insn_format22s()12264 public final smaliParser.insn_format22s_return insn_format22s() throws RecognitionException { 12265 smaliParser.insn_format22s_return retval = new smaliParser.insn_format22s_return(); 12266 retval.start = input.LT(1); 12267 12268 CommonTree root_0 = null; 12269 12270 Token REGISTER370=null; 12271 Token COMMA371=null; 12272 Token REGISTER372=null; 12273 Token COMMA373=null; 12274 ParserRuleReturnScope instruction_format22s369 =null; 12275 ParserRuleReturnScope integral_literal374 =null; 12276 12277 CommonTree REGISTER370_tree=null; 12278 CommonTree COMMA371_tree=null; 12279 CommonTree REGISTER372_tree=null; 12280 CommonTree COMMA373_tree=null; 12281 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12282 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12283 RewriteRuleSubtreeStream stream_instruction_format22s=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format22s"); 12284 RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal"); 12285 12286 try { 12287 // smaliParser.g:975:3: ( instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) ) 12288 // smaliParser.g:976:5: instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal 12289 { 12290 pushFollow(FOLLOW_instruction_format22s_in_insn_format22s4817); 12291 instruction_format22s369=instruction_format22s(); 12292 state._fsp--; 12293 12294 stream_instruction_format22s.add(instruction_format22s369.getTree()); 12295 REGISTER370=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4819); 12296 stream_REGISTER.add(REGISTER370); 12297 12298 COMMA371=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4821); 12299 stream_COMMA.add(COMMA371); 12300 12301 REGISTER372=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4823); 12302 stream_REGISTER.add(REGISTER372); 12303 12304 COMMA373=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4825); 12305 stream_COMMA.add(COMMA373); 12306 12307 pushFollow(FOLLOW_integral_literal_in_insn_format22s4827); 12308 integral_literal374=integral_literal(); 12309 state._fsp--; 12310 12311 stream_integral_literal.add(integral_literal374.getTree()); 12312 // AST REWRITE 12313 // elements: REGISTER, REGISTER, instruction_format22s, integral_literal 12314 // token labels: 12315 // rule labels: retval 12316 // token list labels: 12317 // rule list labels: 12318 // wildcard labels: 12319 retval.tree = root_0; 12320 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12321 12322 root_0 = (CommonTree)adaptor.nil(); 12323 // 977:5: -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) 12324 { 12325 // smaliParser.g:977:8: ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) 12326 { 12327 CommonTree root_1 = (CommonTree)adaptor.nil(); 12328 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22s, (retval.start), "I_STATEMENT_FORMAT22s"), root_1); 12329 adaptor.addChild(root_1, stream_instruction_format22s.nextTree()); 12330 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12331 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12332 adaptor.addChild(root_1, stream_integral_literal.nextTree()); 12333 adaptor.addChild(root_0, root_1); 12334 } 12335 12336 } 12337 12338 12339 retval.tree = root_0; 12340 12341 } 12342 12343 retval.stop = input.LT(-1); 12344 12345 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12346 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12347 12348 } 12349 catch (RecognitionException re) { 12350 reportError(re); 12351 recover(input,re); 12352 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12353 } 12354 finally { 12355 // do for sure before leaving 12356 } 12357 return retval; 12358 } 12359 // $ANTLR end "insn_format22s" 12360 12361 12362 public static class insn_format22t_return extends ParserRuleReturnScope { 12363 CommonTree tree; 12364 @Override getTree()12365 public CommonTree getTree() { return tree; } 12366 }; 12367 12368 12369 // $ANTLR start "insn_format22t" 12370 // smaliParser.g:979:1: insn_format22t : INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) ; insn_format22t()12371 public final smaliParser.insn_format22t_return insn_format22t() throws RecognitionException { 12372 smaliParser.insn_format22t_return retval = new smaliParser.insn_format22t_return(); 12373 retval.start = input.LT(1); 12374 12375 CommonTree root_0 = null; 12376 12377 Token INSTRUCTION_FORMAT22t375=null; 12378 Token REGISTER376=null; 12379 Token COMMA377=null; 12380 Token REGISTER378=null; 12381 Token COMMA379=null; 12382 ParserRuleReturnScope label_ref380 =null; 12383 12384 CommonTree INSTRUCTION_FORMAT22t375_tree=null; 12385 CommonTree REGISTER376_tree=null; 12386 CommonTree COMMA377_tree=null; 12387 CommonTree REGISTER378_tree=null; 12388 CommonTree COMMA379_tree=null; 12389 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12390 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12391 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22t"); 12392 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 12393 12394 try { 12395 // smaliParser.g:980:3: ( INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) ) 12396 // smaliParser.g:981:5: INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref 12397 { 12398 INSTRUCTION_FORMAT22t375=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4861); 12399 stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t375); 12400 12401 REGISTER376=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4863); 12402 stream_REGISTER.add(REGISTER376); 12403 12404 COMMA377=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4865); 12405 stream_COMMA.add(COMMA377); 12406 12407 REGISTER378=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4867); 12408 stream_REGISTER.add(REGISTER378); 12409 12410 COMMA379=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4869); 12411 stream_COMMA.add(COMMA379); 12412 12413 pushFollow(FOLLOW_label_ref_in_insn_format22t4871); 12414 label_ref380=label_ref(); 12415 state._fsp--; 12416 12417 stream_label_ref.add(label_ref380.getTree()); 12418 // AST REWRITE 12419 // elements: REGISTER, INSTRUCTION_FORMAT22t, REGISTER, label_ref 12420 // token labels: 12421 // rule labels: retval 12422 // token list labels: 12423 // rule list labels: 12424 // wildcard labels: 12425 retval.tree = root_0; 12426 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12427 12428 root_0 = (CommonTree)adaptor.nil(); 12429 // 982:5: -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) 12430 { 12431 // smaliParser.g:982:8: ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) 12432 { 12433 CommonTree root_1 = (CommonTree)adaptor.nil(); 12434 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22t, (retval.start), "I_STATEMENT_FFORMAT22t"), root_1); 12435 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22t.nextNode()); 12436 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12437 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12438 adaptor.addChild(root_1, stream_label_ref.nextTree()); 12439 adaptor.addChild(root_0, root_1); 12440 } 12441 12442 } 12443 12444 12445 retval.tree = root_0; 12446 12447 } 12448 12449 retval.stop = input.LT(-1); 12450 12451 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12452 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12453 12454 } 12455 catch (RecognitionException re) { 12456 reportError(re); 12457 recover(input,re); 12458 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12459 } 12460 finally { 12461 // do for sure before leaving 12462 } 12463 return retval; 12464 } 12465 // $ANTLR end "insn_format22t" 12466 12467 12468 public static class insn_format22x_return extends ParserRuleReturnScope { 12469 CommonTree tree; 12470 @Override getTree()12471 public CommonTree getTree() { return tree; } 12472 }; 12473 12474 12475 // $ANTLR start "insn_format22x" 12476 // smaliParser.g:984:1: insn_format22x : INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) ; insn_format22x()12477 public final smaliParser.insn_format22x_return insn_format22x() throws RecognitionException { 12478 smaliParser.insn_format22x_return retval = new smaliParser.insn_format22x_return(); 12479 retval.start = input.LT(1); 12480 12481 CommonTree root_0 = null; 12482 12483 Token INSTRUCTION_FORMAT22x381=null; 12484 Token REGISTER382=null; 12485 Token COMMA383=null; 12486 Token REGISTER384=null; 12487 12488 CommonTree INSTRUCTION_FORMAT22x381_tree=null; 12489 CommonTree REGISTER382_tree=null; 12490 CommonTree COMMA383_tree=null; 12491 CommonTree REGISTER384_tree=null; 12492 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12493 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12494 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22x"); 12495 12496 try { 12497 // smaliParser.g:985:3: ( INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) ) 12498 // smaliParser.g:986:5: INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER 12499 { 12500 INSTRUCTION_FORMAT22x381=(Token)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4905); 12501 stream_INSTRUCTION_FORMAT22x.add(INSTRUCTION_FORMAT22x381); 12502 12503 REGISTER382=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4907); 12504 stream_REGISTER.add(REGISTER382); 12505 12506 COMMA383=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22x4909); 12507 stream_COMMA.add(COMMA383); 12508 12509 REGISTER384=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4911); 12510 stream_REGISTER.add(REGISTER384); 12511 12512 // AST REWRITE 12513 // elements: REGISTER, REGISTER, INSTRUCTION_FORMAT22x 12514 // token labels: 12515 // rule labels: retval 12516 // token list labels: 12517 // rule list labels: 12518 // wildcard labels: 12519 retval.tree = root_0; 12520 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12521 12522 root_0 = (CommonTree)adaptor.nil(); 12523 // 987:5: -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) 12524 { 12525 // smaliParser.g:987:8: ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) 12526 { 12527 CommonTree root_1 = (CommonTree)adaptor.nil(); 12528 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22x, (retval.start), "I_STATEMENT_FORMAT22x"), root_1); 12529 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22x.nextNode()); 12530 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12531 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12532 adaptor.addChild(root_0, root_1); 12533 } 12534 12535 } 12536 12537 12538 retval.tree = root_0; 12539 12540 } 12541 12542 retval.stop = input.LT(-1); 12543 12544 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12545 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12546 12547 } 12548 catch (RecognitionException re) { 12549 reportError(re); 12550 recover(input,re); 12551 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12552 } 12553 finally { 12554 // do for sure before leaving 12555 } 12556 return retval; 12557 } 12558 // $ANTLR end "insn_format22x" 12559 12560 12561 public static class insn_format23x_return extends ParserRuleReturnScope { 12562 CommonTree tree; 12563 @Override getTree()12564 public CommonTree getTree() { return tree; } 12565 }; 12566 12567 12568 // $ANTLR start "insn_format23x" 12569 // smaliParser.g:989:1: insn_format23x : INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) ; insn_format23x()12570 public final smaliParser.insn_format23x_return insn_format23x() throws RecognitionException { 12571 smaliParser.insn_format23x_return retval = new smaliParser.insn_format23x_return(); 12572 retval.start = input.LT(1); 12573 12574 CommonTree root_0 = null; 12575 12576 Token INSTRUCTION_FORMAT23x385=null; 12577 Token REGISTER386=null; 12578 Token COMMA387=null; 12579 Token REGISTER388=null; 12580 Token COMMA389=null; 12581 Token REGISTER390=null; 12582 12583 CommonTree INSTRUCTION_FORMAT23x385_tree=null; 12584 CommonTree REGISTER386_tree=null; 12585 CommonTree COMMA387_tree=null; 12586 CommonTree REGISTER388_tree=null; 12587 CommonTree COMMA389_tree=null; 12588 CommonTree REGISTER390_tree=null; 12589 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12590 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12591 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT23x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT23x"); 12592 12593 try { 12594 // smaliParser.g:990:3: ( INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) ) 12595 // smaliParser.g:991:5: INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER 12596 { 12597 INSTRUCTION_FORMAT23x385=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4943); 12598 stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x385); 12599 12600 REGISTER386=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4945); 12601 stream_REGISTER.add(REGISTER386); 12602 12603 COMMA387=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4947); 12604 stream_COMMA.add(COMMA387); 12605 12606 REGISTER388=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4949); 12607 stream_REGISTER.add(REGISTER388); 12608 12609 COMMA389=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4951); 12610 stream_COMMA.add(COMMA389); 12611 12612 REGISTER390=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4953); 12613 stream_REGISTER.add(REGISTER390); 12614 12615 // AST REWRITE 12616 // elements: REGISTER, REGISTER, INSTRUCTION_FORMAT23x, REGISTER 12617 // token labels: 12618 // rule labels: retval 12619 // token list labels: 12620 // rule list labels: 12621 // wildcard labels: 12622 retval.tree = root_0; 12623 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12624 12625 root_0 = (CommonTree)adaptor.nil(); 12626 // 992:5: -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) 12627 { 12628 // smaliParser.g:992:8: ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) 12629 { 12630 CommonTree root_1 = (CommonTree)adaptor.nil(); 12631 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT23x, (retval.start), "I_STATEMENT_FORMAT23x"), root_1); 12632 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT23x.nextNode()); 12633 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12634 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12635 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12636 adaptor.addChild(root_0, root_1); 12637 } 12638 12639 } 12640 12641 12642 retval.tree = root_0; 12643 12644 } 12645 12646 retval.stop = input.LT(-1); 12647 12648 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12649 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12650 12651 } 12652 catch (RecognitionException re) { 12653 reportError(re); 12654 recover(input,re); 12655 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12656 } 12657 finally { 12658 // do for sure before leaving 12659 } 12660 return retval; 12661 } 12662 // $ANTLR end "insn_format23x" 12663 12664 12665 public static class insn_format30t_return extends ParserRuleReturnScope { 12666 CommonTree tree; 12667 @Override getTree()12668 public CommonTree getTree() { return tree; } 12669 }; 12670 12671 12672 // $ANTLR start "insn_format30t" 12673 // smaliParser.g:994:1: insn_format30t : INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) ; insn_format30t()12674 public final smaliParser.insn_format30t_return insn_format30t() throws RecognitionException { 12675 smaliParser.insn_format30t_return retval = new smaliParser.insn_format30t_return(); 12676 retval.start = input.LT(1); 12677 12678 CommonTree root_0 = null; 12679 12680 Token INSTRUCTION_FORMAT30t391=null; 12681 ParserRuleReturnScope label_ref392 =null; 12682 12683 CommonTree INSTRUCTION_FORMAT30t391_tree=null; 12684 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT30t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT30t"); 12685 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 12686 12687 try { 12688 // smaliParser.g:995:3: ( INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) ) 12689 // smaliParser.g:996:5: INSTRUCTION_FORMAT30t label_ref 12690 { 12691 INSTRUCTION_FORMAT30t391=(Token)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4987); 12692 stream_INSTRUCTION_FORMAT30t.add(INSTRUCTION_FORMAT30t391); 12693 12694 pushFollow(FOLLOW_label_ref_in_insn_format30t4989); 12695 label_ref392=label_ref(); 12696 state._fsp--; 12697 12698 stream_label_ref.add(label_ref392.getTree()); 12699 // AST REWRITE 12700 // elements: INSTRUCTION_FORMAT30t, label_ref 12701 // token labels: 12702 // rule labels: retval 12703 // token list labels: 12704 // rule list labels: 12705 // wildcard labels: 12706 retval.tree = root_0; 12707 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12708 12709 root_0 = (CommonTree)adaptor.nil(); 12710 // 997:5: -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) 12711 { 12712 // smaliParser.g:997:8: ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) 12713 { 12714 CommonTree root_1 = (CommonTree)adaptor.nil(); 12715 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT30t, (retval.start), "I_STATEMENT_FORMAT30t"), root_1); 12716 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT30t.nextNode()); 12717 adaptor.addChild(root_1, stream_label_ref.nextTree()); 12718 adaptor.addChild(root_0, root_1); 12719 } 12720 12721 } 12722 12723 12724 retval.tree = root_0; 12725 12726 } 12727 12728 retval.stop = input.LT(-1); 12729 12730 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12731 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12732 12733 } 12734 catch (RecognitionException re) { 12735 reportError(re); 12736 recover(input,re); 12737 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12738 } 12739 finally { 12740 // do for sure before leaving 12741 } 12742 return retval; 12743 } 12744 // $ANTLR end "insn_format30t" 12745 12746 12747 public static class insn_format31c_return extends ParserRuleReturnScope { 12748 CommonTree tree; 12749 @Override getTree()12750 public CommonTree getTree() { return tree; } 12751 }; 12752 12753 12754 // $ANTLR start "insn_format31c" 12755 // smaliParser.g:999:1: insn_format31c : INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) ; insn_format31c()12756 public final smaliParser.insn_format31c_return insn_format31c() throws RecognitionException { 12757 smaliParser.insn_format31c_return retval = new smaliParser.insn_format31c_return(); 12758 retval.start = input.LT(1); 12759 12760 CommonTree root_0 = null; 12761 12762 Token INSTRUCTION_FORMAT31c393=null; 12763 Token REGISTER394=null; 12764 Token COMMA395=null; 12765 Token STRING_LITERAL396=null; 12766 12767 CommonTree INSTRUCTION_FORMAT31c393_tree=null; 12768 CommonTree REGISTER394_tree=null; 12769 CommonTree COMMA395_tree=null; 12770 CommonTree STRING_LITERAL396_tree=null; 12771 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12772 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12773 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31c=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31c"); 12774 RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL"); 12775 12776 try { 12777 // smaliParser.g:1000:3: ( INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) ) 12778 // smaliParser.g:1001:5: INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL 12779 { 12780 INSTRUCTION_FORMAT31c393=(Token)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c5019); 12781 stream_INSTRUCTION_FORMAT31c.add(INSTRUCTION_FORMAT31c393); 12782 12783 REGISTER394=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c5021); 12784 stream_REGISTER.add(REGISTER394); 12785 12786 COMMA395=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31c5023); 12787 stream_COMMA.add(COMMA395); 12788 12789 STRING_LITERAL396=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format31c5025); 12790 stream_STRING_LITERAL.add(STRING_LITERAL396); 12791 12792 // AST REWRITE 12793 // elements: REGISTER, STRING_LITERAL, INSTRUCTION_FORMAT31c 12794 // token labels: 12795 // rule labels: retval 12796 // token list labels: 12797 // rule list labels: 12798 // wildcard labels: 12799 retval.tree = root_0; 12800 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12801 12802 root_0 = (CommonTree)adaptor.nil(); 12803 // 1002:5: -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) 12804 { 12805 // smaliParser.g:1002:7: ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) 12806 { 12807 CommonTree root_1 = (CommonTree)adaptor.nil(); 12808 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31c, (retval.start), "I_STATEMENT_FORMAT31c"), root_1); 12809 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT31c.nextNode()); 12810 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12811 adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode()); 12812 adaptor.addChild(root_0, root_1); 12813 } 12814 12815 } 12816 12817 12818 retval.tree = root_0; 12819 12820 } 12821 12822 retval.stop = input.LT(-1); 12823 12824 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12825 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12826 12827 } 12828 catch (RecognitionException re) { 12829 reportError(re); 12830 recover(input,re); 12831 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12832 } 12833 finally { 12834 // do for sure before leaving 12835 } 12836 return retval; 12837 } 12838 // $ANTLR end "insn_format31c" 12839 12840 12841 public static class insn_format31i_return extends ParserRuleReturnScope { 12842 CommonTree tree; 12843 @Override getTree()12844 public CommonTree getTree() { return tree; } 12845 }; 12846 12847 12848 // $ANTLR start "insn_format31i" 12849 // smaliParser.g:1004:1: insn_format31i : instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) ; insn_format31i()12850 public final smaliParser.insn_format31i_return insn_format31i() throws RecognitionException { 12851 smaliParser.insn_format31i_return retval = new smaliParser.insn_format31i_return(); 12852 retval.start = input.LT(1); 12853 12854 CommonTree root_0 = null; 12855 12856 Token REGISTER398=null; 12857 Token COMMA399=null; 12858 ParserRuleReturnScope instruction_format31i397 =null; 12859 ParserRuleReturnScope fixed_32bit_literal400 =null; 12860 12861 CommonTree REGISTER398_tree=null; 12862 CommonTree COMMA399_tree=null; 12863 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12864 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12865 RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal"); 12866 RewriteRuleSubtreeStream stream_instruction_format31i=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format31i"); 12867 12868 try { 12869 // smaliParser.g:1005:3: ( instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) ) 12870 // smaliParser.g:1006:5: instruction_format31i REGISTER COMMA fixed_32bit_literal 12871 { 12872 pushFollow(FOLLOW_instruction_format31i_in_insn_format31i5056); 12873 instruction_format31i397=instruction_format31i(); 12874 state._fsp--; 12875 12876 stream_instruction_format31i.add(instruction_format31i397.getTree()); 12877 REGISTER398=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i5058); 12878 stream_REGISTER.add(REGISTER398); 12879 12880 COMMA399=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31i5060); 12881 stream_COMMA.add(COMMA399); 12882 12883 pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i5062); 12884 fixed_32bit_literal400=fixed_32bit_literal(); 12885 state._fsp--; 12886 12887 stream_fixed_32bit_literal.add(fixed_32bit_literal400.getTree()); 12888 // AST REWRITE 12889 // elements: instruction_format31i, REGISTER, fixed_32bit_literal 12890 // token labels: 12891 // rule labels: retval 12892 // token list labels: 12893 // rule list labels: 12894 // wildcard labels: 12895 retval.tree = root_0; 12896 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12897 12898 root_0 = (CommonTree)adaptor.nil(); 12899 // 1007:5: -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) 12900 { 12901 // smaliParser.g:1007:8: ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) 12902 { 12903 CommonTree root_1 = (CommonTree)adaptor.nil(); 12904 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31i, (retval.start), "I_STATEMENT_FORMAT31i"), root_1); 12905 adaptor.addChild(root_1, stream_instruction_format31i.nextTree()); 12906 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 12907 adaptor.addChild(root_1, stream_fixed_32bit_literal.nextTree()); 12908 adaptor.addChild(root_0, root_1); 12909 } 12910 12911 } 12912 12913 12914 retval.tree = root_0; 12915 12916 } 12917 12918 retval.stop = input.LT(-1); 12919 12920 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 12921 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 12922 12923 } 12924 catch (RecognitionException re) { 12925 reportError(re); 12926 recover(input,re); 12927 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 12928 } 12929 finally { 12930 // do for sure before leaving 12931 } 12932 return retval; 12933 } 12934 // $ANTLR end "insn_format31i" 12935 12936 12937 public static class insn_format31t_return extends ParserRuleReturnScope { 12938 CommonTree tree; 12939 @Override getTree()12940 public CommonTree getTree() { return tree; } 12941 }; 12942 12943 12944 // $ANTLR start "insn_format31t" 12945 // smaliParser.g:1009:1: insn_format31t : INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) ; insn_format31t()12946 public final smaliParser.insn_format31t_return insn_format31t() throws RecognitionException { 12947 smaliParser.insn_format31t_return retval = new smaliParser.insn_format31t_return(); 12948 retval.start = input.LT(1); 12949 12950 CommonTree root_0 = null; 12951 12952 Token INSTRUCTION_FORMAT31t401=null; 12953 Token REGISTER402=null; 12954 Token COMMA403=null; 12955 ParserRuleReturnScope label_ref404 =null; 12956 12957 CommonTree INSTRUCTION_FORMAT31t401_tree=null; 12958 CommonTree REGISTER402_tree=null; 12959 CommonTree COMMA403_tree=null; 12960 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 12961 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 12962 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31t"); 12963 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 12964 12965 try { 12966 // smaliParser.g:1010:3: ( INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) ) 12967 // smaliParser.g:1011:5: INSTRUCTION_FORMAT31t REGISTER COMMA label_ref 12968 { 12969 INSTRUCTION_FORMAT31t401=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5094); 12970 stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t401); 12971 12972 REGISTER402=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t5096); 12973 stream_REGISTER.add(REGISTER402); 12974 12975 COMMA403=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31t5098); 12976 stream_COMMA.add(COMMA403); 12977 12978 pushFollow(FOLLOW_label_ref_in_insn_format31t5100); 12979 label_ref404=label_ref(); 12980 state._fsp--; 12981 12982 stream_label_ref.add(label_ref404.getTree()); 12983 // AST REWRITE 12984 // elements: INSTRUCTION_FORMAT31t, REGISTER, label_ref 12985 // token labels: 12986 // rule labels: retval 12987 // token list labels: 12988 // rule list labels: 12989 // wildcard labels: 12990 retval.tree = root_0; 12991 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 12992 12993 root_0 = (CommonTree)adaptor.nil(); 12994 // 1012:5: -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) 12995 { 12996 // smaliParser.g:1012:8: ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) 12997 { 12998 CommonTree root_1 = (CommonTree)adaptor.nil(); 12999 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31t, (retval.start), "I_STATEMENT_FORMAT31t"), root_1); 13000 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT31t.nextNode()); 13001 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 13002 adaptor.addChild(root_1, stream_label_ref.nextTree()); 13003 adaptor.addChild(root_0, root_1); 13004 } 13005 13006 } 13007 13008 13009 retval.tree = root_0; 13010 13011 } 13012 13013 retval.stop = input.LT(-1); 13014 13015 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13016 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13017 13018 } 13019 catch (RecognitionException re) { 13020 reportError(re); 13021 recover(input,re); 13022 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13023 } 13024 finally { 13025 // do for sure before leaving 13026 } 13027 return retval; 13028 } 13029 // $ANTLR end "insn_format31t" 13030 13031 13032 public static class insn_format32x_return extends ParserRuleReturnScope { 13033 CommonTree tree; 13034 @Override getTree()13035 public CommonTree getTree() { return tree; } 13036 }; 13037 13038 13039 // $ANTLR start "insn_format32x" 13040 // smaliParser.g:1014:1: insn_format32x : INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) ; insn_format32x()13041 public final smaliParser.insn_format32x_return insn_format32x() throws RecognitionException { 13042 smaliParser.insn_format32x_return retval = new smaliParser.insn_format32x_return(); 13043 retval.start = input.LT(1); 13044 13045 CommonTree root_0 = null; 13046 13047 Token INSTRUCTION_FORMAT32x405=null; 13048 Token REGISTER406=null; 13049 Token COMMA407=null; 13050 Token REGISTER408=null; 13051 13052 CommonTree INSTRUCTION_FORMAT32x405_tree=null; 13053 CommonTree REGISTER406_tree=null; 13054 CommonTree COMMA407_tree=null; 13055 CommonTree REGISTER408_tree=null; 13056 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 13057 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 13058 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT32x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT32x"); 13059 13060 try { 13061 // smaliParser.g:1015:3: ( INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) ) 13062 // smaliParser.g:1016:5: INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER 13063 { 13064 INSTRUCTION_FORMAT32x405=(Token)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5132); 13065 stream_INSTRUCTION_FORMAT32x.add(INSTRUCTION_FORMAT32x405); 13066 13067 REGISTER406=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5134); 13068 stream_REGISTER.add(REGISTER406); 13069 13070 COMMA407=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format32x5136); 13071 stream_COMMA.add(COMMA407); 13072 13073 REGISTER408=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5138); 13074 stream_REGISTER.add(REGISTER408); 13075 13076 // AST REWRITE 13077 // elements: INSTRUCTION_FORMAT32x, REGISTER, REGISTER 13078 // token labels: 13079 // rule labels: retval 13080 // token list labels: 13081 // rule list labels: 13082 // wildcard labels: 13083 retval.tree = root_0; 13084 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 13085 13086 root_0 = (CommonTree)adaptor.nil(); 13087 // 1017:5: -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) 13088 { 13089 // smaliParser.g:1017:8: ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) 13090 { 13091 CommonTree root_1 = (CommonTree)adaptor.nil(); 13092 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT32x, (retval.start), "I_STATEMENT_FORMAT32x"), root_1); 13093 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT32x.nextNode()); 13094 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 13095 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 13096 adaptor.addChild(root_0, root_1); 13097 } 13098 13099 } 13100 13101 13102 retval.tree = root_0; 13103 13104 } 13105 13106 retval.stop = input.LT(-1); 13107 13108 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13109 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13110 13111 } 13112 catch (RecognitionException re) { 13113 reportError(re); 13114 recover(input,re); 13115 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13116 } 13117 finally { 13118 // do for sure before leaving 13119 } 13120 return retval; 13121 } 13122 // $ANTLR end "insn_format32x" 13123 13124 13125 public static class insn_format35c_method_return extends ParserRuleReturnScope { 13126 CommonTree tree; 13127 @Override getTree()13128 public CommonTree getTree() { return tree; } 13129 }; 13130 13131 13132 // $ANTLR start "insn_format35c_method" 13133 // smaliParser.g:1019:1: insn_format35c_method : INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) ; insn_format35c_method()13134 public final smaliParser.insn_format35c_method_return insn_format35c_method() throws RecognitionException { 13135 smaliParser.insn_format35c_method_return retval = new smaliParser.insn_format35c_method_return(); 13136 retval.start = input.LT(1); 13137 13138 CommonTree root_0 = null; 13139 13140 Token INSTRUCTION_FORMAT35c_METHOD409=null; 13141 Token OPEN_BRACE410=null; 13142 Token CLOSE_BRACE412=null; 13143 Token COMMA413=null; 13144 ParserRuleReturnScope register_list411 =null; 13145 ParserRuleReturnScope method_reference414 =null; 13146 13147 CommonTree INSTRUCTION_FORMAT35c_METHOD409_tree=null; 13148 CommonTree OPEN_BRACE410_tree=null; 13149 CommonTree CLOSE_BRACE412_tree=null; 13150 CommonTree COMMA413_tree=null; 13151 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD"); 13152 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 13153 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 13154 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 13155 RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference"); 13156 RewriteRuleSubtreeStream stream_register_list=new RewriteRuleSubtreeStream(adaptor,"rule register_list"); 13157 13158 try { 13159 // smaliParser.g:1020:3: ( INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) ) 13160 // smaliParser.g:1021:5: INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference 13161 { 13162 INSTRUCTION_FORMAT35c_METHOD409=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5170); 13163 stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD409); 13164 13165 OPEN_BRACE410=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method5172); 13166 stream_OPEN_BRACE.add(OPEN_BRACE410); 13167 13168 pushFollow(FOLLOW_register_list_in_insn_format35c_method5174); 13169 register_list411=register_list(); 13170 state._fsp--; 13171 13172 stream_register_list.add(register_list411.getTree()); 13173 CLOSE_BRACE412=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method5176); 13174 stream_CLOSE_BRACE.add(CLOSE_BRACE412); 13175 13176 COMMA413=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method5178); 13177 stream_COMMA.add(COMMA413); 13178 13179 pushFollow(FOLLOW_method_reference_in_insn_format35c_method5180); 13180 method_reference414=method_reference(); 13181 state._fsp--; 13182 13183 stream_method_reference.add(method_reference414.getTree()); 13184 // AST REWRITE 13185 // elements: INSTRUCTION_FORMAT35c_METHOD, register_list, method_reference 13186 // token labels: 13187 // rule labels: retval 13188 // token list labels: 13189 // rule list labels: 13190 // wildcard labels: 13191 retval.tree = root_0; 13192 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 13193 13194 root_0 = (CommonTree)adaptor.nil(); 13195 // 1022:5: -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) 13196 { 13197 // smaliParser.g:1022:8: ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) 13198 { 13199 CommonTree root_1 = (CommonTree)adaptor.nil(); 13200 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT35c_METHOD, (retval.start), "I_STATEMENT_FORMAT35c_METHOD"), root_1); 13201 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT35c_METHOD.nextNode()); 13202 adaptor.addChild(root_1, stream_register_list.nextTree()); 13203 adaptor.addChild(root_1, stream_method_reference.nextTree()); 13204 adaptor.addChild(root_0, root_1); 13205 } 13206 13207 } 13208 13209 13210 retval.tree = root_0; 13211 13212 } 13213 13214 retval.stop = input.LT(-1); 13215 13216 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13217 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13218 13219 } 13220 catch (RecognitionException re) { 13221 reportError(re); 13222 recover(input,re); 13223 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13224 } 13225 finally { 13226 // do for sure before leaving 13227 } 13228 return retval; 13229 } 13230 // $ANTLR end "insn_format35c_method" 13231 13232 13233 public static class insn_format35c_type_return extends ParserRuleReturnScope { 13234 CommonTree tree; 13235 @Override getTree()13236 public CommonTree getTree() { return tree; } 13237 }; 13238 13239 13240 // $ANTLR start "insn_format35c_type" 13241 // smaliParser.g:1024:1: insn_format35c_type : INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ; insn_format35c_type()13242 public final smaliParser.insn_format35c_type_return insn_format35c_type() throws RecognitionException { 13243 smaliParser.insn_format35c_type_return retval = new smaliParser.insn_format35c_type_return(); 13244 retval.start = input.LT(1); 13245 13246 CommonTree root_0 = null; 13247 13248 Token INSTRUCTION_FORMAT35c_TYPE415=null; 13249 Token OPEN_BRACE416=null; 13250 Token CLOSE_BRACE418=null; 13251 Token COMMA419=null; 13252 ParserRuleReturnScope register_list417 =null; 13253 ParserRuleReturnScope nonvoid_type_descriptor420 =null; 13254 13255 CommonTree INSTRUCTION_FORMAT35c_TYPE415_tree=null; 13256 CommonTree OPEN_BRACE416_tree=null; 13257 CommonTree CLOSE_BRACE418_tree=null; 13258 CommonTree COMMA419_tree=null; 13259 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 13260 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_TYPE"); 13261 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 13262 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 13263 RewriteRuleSubtreeStream stream_register_list=new RewriteRuleSubtreeStream(adaptor,"rule register_list"); 13264 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 13265 13266 try { 13267 // smaliParser.g:1025:3: ( INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ) 13268 // smaliParser.g:1026:5: INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor 13269 { 13270 INSTRUCTION_FORMAT35c_TYPE415=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5212); 13271 stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE415); 13272 13273 OPEN_BRACE416=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_type5214); 13274 stream_OPEN_BRACE.add(OPEN_BRACE416); 13275 13276 pushFollow(FOLLOW_register_list_in_insn_format35c_type5216); 13277 register_list417=register_list(); 13278 state._fsp--; 13279 13280 stream_register_list.add(register_list417.getTree()); 13281 CLOSE_BRACE418=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_type5218); 13282 stream_CLOSE_BRACE.add(CLOSE_BRACE418); 13283 13284 COMMA419=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_type5220); 13285 stream_COMMA.add(COMMA419); 13286 13287 pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5222); 13288 nonvoid_type_descriptor420=nonvoid_type_descriptor(); 13289 state._fsp--; 13290 13291 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor420.getTree()); 13292 // AST REWRITE 13293 // elements: register_list, INSTRUCTION_FORMAT35c_TYPE, nonvoid_type_descriptor 13294 // token labels: 13295 // rule labels: retval 13296 // token list labels: 13297 // rule list labels: 13298 // wildcard labels: 13299 retval.tree = root_0; 13300 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 13301 13302 root_0 = (CommonTree)adaptor.nil(); 13303 // 1027:5: -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) 13304 { 13305 // smaliParser.g:1027:8: ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) 13306 { 13307 CommonTree root_1 = (CommonTree)adaptor.nil(); 13308 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT35c_TYPE, (retval.start), "I_STATEMENT_FORMAT35c_TYPE"), root_1); 13309 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT35c_TYPE.nextNode()); 13310 adaptor.addChild(root_1, stream_register_list.nextTree()); 13311 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 13312 adaptor.addChild(root_0, root_1); 13313 } 13314 13315 } 13316 13317 13318 retval.tree = root_0; 13319 13320 } 13321 13322 retval.stop = input.LT(-1); 13323 13324 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13325 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13326 13327 } 13328 catch (RecognitionException re) { 13329 reportError(re); 13330 recover(input,re); 13331 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13332 } 13333 finally { 13334 // do for sure before leaving 13335 } 13336 return retval; 13337 } 13338 // $ANTLR end "insn_format35c_type" 13339 13340 13341 public static class insn_format35c_method_odex_return extends ParserRuleReturnScope { 13342 CommonTree tree; 13343 @Override getTree()13344 public CommonTree getTree() { return tree; } 13345 }; 13346 13347 13348 // $ANTLR start "insn_format35c_method_odex" 13349 // smaliParser.g:1029:1: insn_format35c_method_odex : INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ; insn_format35c_method_odex()13350 public final smaliParser.insn_format35c_method_odex_return insn_format35c_method_odex() throws RecognitionException { 13351 smaliParser.insn_format35c_method_odex_return retval = new smaliParser.insn_format35c_method_odex_return(); 13352 retval.start = input.LT(1); 13353 13354 CommonTree root_0 = null; 13355 13356 Token INSTRUCTION_FORMAT35c_METHOD_ODEX421=null; 13357 Token OPEN_BRACE422=null; 13358 Token CLOSE_BRACE424=null; 13359 Token COMMA425=null; 13360 ParserRuleReturnScope register_list423 =null; 13361 ParserRuleReturnScope method_reference426 =null; 13362 13363 CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX421_tree=null; 13364 CommonTree OPEN_BRACE422_tree=null; 13365 CommonTree CLOSE_BRACE424_tree=null; 13366 CommonTree COMMA425_tree=null; 13367 13368 try { 13369 // smaliParser.g:1030:3: ( INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ) 13370 // smaliParser.g:1031:5: INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference 13371 { 13372 root_0 = (CommonTree)adaptor.nil(); 13373 13374 13375 INSTRUCTION_FORMAT35c_METHOD_ODEX421=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5254); 13376 INSTRUCTION_FORMAT35c_METHOD_ODEX421_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35c_METHOD_ODEX421); 13377 adaptor.addChild(root_0, INSTRUCTION_FORMAT35c_METHOD_ODEX421_tree); 13378 13379 OPEN_BRACE422=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5256); 13380 OPEN_BRACE422_tree = (CommonTree)adaptor.create(OPEN_BRACE422); 13381 adaptor.addChild(root_0, OPEN_BRACE422_tree); 13382 13383 pushFollow(FOLLOW_register_list_in_insn_format35c_method_odex5258); 13384 register_list423=register_list(); 13385 state._fsp--; 13386 13387 adaptor.addChild(root_0, register_list423.getTree()); 13388 13389 CLOSE_BRACE424=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5260); 13390 CLOSE_BRACE424_tree = (CommonTree)adaptor.create(CLOSE_BRACE424); 13391 adaptor.addChild(root_0, CLOSE_BRACE424_tree); 13392 13393 COMMA425=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method_odex5262); 13394 COMMA425_tree = (CommonTree)adaptor.create(COMMA425); 13395 adaptor.addChild(root_0, COMMA425_tree); 13396 13397 pushFollow(FOLLOW_method_reference_in_insn_format35c_method_odex5264); 13398 method_reference426=method_reference(); 13399 state._fsp--; 13400 13401 adaptor.addChild(root_0, method_reference426.getTree()); 13402 13403 13404 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35c_METHOD_ODEX421!=null?INSTRUCTION_FORMAT35c_METHOD_ODEX421.getText():null)); 13405 13406 } 13407 13408 retval.stop = input.LT(-1); 13409 13410 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13411 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13412 13413 } 13414 catch (RecognitionException re) { 13415 reportError(re); 13416 recover(input,re); 13417 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13418 } 13419 finally { 13420 // do for sure before leaving 13421 } 13422 return retval; 13423 } 13424 // $ANTLR end "insn_format35c_method_odex" 13425 13426 13427 public static class insn_format35mi_method_return extends ParserRuleReturnScope { 13428 CommonTree tree; 13429 @Override getTree()13430 public CommonTree getTree() { return tree; } 13431 }; 13432 13433 13434 // $ANTLR start "insn_format35mi_method" 13435 // smaliParser.g:1036:1: insn_format35mi_method : INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX ; insn_format35mi_method()13436 public final smaliParser.insn_format35mi_method_return insn_format35mi_method() throws RecognitionException { 13437 smaliParser.insn_format35mi_method_return retval = new smaliParser.insn_format35mi_method_return(); 13438 retval.start = input.LT(1); 13439 13440 CommonTree root_0 = null; 13441 13442 Token INSTRUCTION_FORMAT35mi_METHOD427=null; 13443 Token OPEN_BRACE428=null; 13444 Token CLOSE_BRACE430=null; 13445 Token COMMA431=null; 13446 Token INLINE_INDEX432=null; 13447 ParserRuleReturnScope register_list429 =null; 13448 13449 CommonTree INSTRUCTION_FORMAT35mi_METHOD427_tree=null; 13450 CommonTree OPEN_BRACE428_tree=null; 13451 CommonTree CLOSE_BRACE430_tree=null; 13452 CommonTree COMMA431_tree=null; 13453 CommonTree INLINE_INDEX432_tree=null; 13454 13455 try { 13456 // smaliParser.g:1037:3: ( INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX ) 13457 // smaliParser.g:1038:5: INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX 13458 { 13459 root_0 = (CommonTree)adaptor.nil(); 13460 13461 13462 INSTRUCTION_FORMAT35mi_METHOD427=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5285); 13463 INSTRUCTION_FORMAT35mi_METHOD427_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35mi_METHOD427); 13464 adaptor.addChild(root_0, INSTRUCTION_FORMAT35mi_METHOD427_tree); 13465 13466 OPEN_BRACE428=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35mi_method5287); 13467 OPEN_BRACE428_tree = (CommonTree)adaptor.create(OPEN_BRACE428); 13468 adaptor.addChild(root_0, OPEN_BRACE428_tree); 13469 13470 pushFollow(FOLLOW_register_list_in_insn_format35mi_method5289); 13471 register_list429=register_list(); 13472 state._fsp--; 13473 13474 adaptor.addChild(root_0, register_list429.getTree()); 13475 13476 CLOSE_BRACE430=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5291); 13477 CLOSE_BRACE430_tree = (CommonTree)adaptor.create(CLOSE_BRACE430); 13478 adaptor.addChild(root_0, CLOSE_BRACE430_tree); 13479 13480 COMMA431=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35mi_method5293); 13481 COMMA431_tree = (CommonTree)adaptor.create(COMMA431); 13482 adaptor.addChild(root_0, COMMA431_tree); 13483 13484 INLINE_INDEX432=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format35mi_method5295); 13485 INLINE_INDEX432_tree = (CommonTree)adaptor.create(INLINE_INDEX432); 13486 adaptor.addChild(root_0, INLINE_INDEX432_tree); 13487 13488 13489 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35mi_METHOD427!=null?INSTRUCTION_FORMAT35mi_METHOD427.getText():null)); 13490 13491 } 13492 13493 retval.stop = input.LT(-1); 13494 13495 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13496 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13497 13498 } 13499 catch (RecognitionException re) { 13500 reportError(re); 13501 recover(input,re); 13502 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13503 } 13504 finally { 13505 // do for sure before leaving 13506 } 13507 return retval; 13508 } 13509 // $ANTLR end "insn_format35mi_method" 13510 13511 13512 public static class insn_format35ms_method_return extends ParserRuleReturnScope { 13513 CommonTree tree; 13514 @Override getTree()13515 public CommonTree getTree() { return tree; } 13516 }; 13517 13518 13519 // $ANTLR start "insn_format35ms_method" 13520 // smaliParser.g:1043:1: insn_format35ms_method : INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX ; insn_format35ms_method()13521 public final smaliParser.insn_format35ms_method_return insn_format35ms_method() throws RecognitionException { 13522 smaliParser.insn_format35ms_method_return retval = new smaliParser.insn_format35ms_method_return(); 13523 retval.start = input.LT(1); 13524 13525 CommonTree root_0 = null; 13526 13527 Token INSTRUCTION_FORMAT35ms_METHOD433=null; 13528 Token OPEN_BRACE434=null; 13529 Token CLOSE_BRACE436=null; 13530 Token COMMA437=null; 13531 Token VTABLE_INDEX438=null; 13532 ParserRuleReturnScope register_list435 =null; 13533 13534 CommonTree INSTRUCTION_FORMAT35ms_METHOD433_tree=null; 13535 CommonTree OPEN_BRACE434_tree=null; 13536 CommonTree CLOSE_BRACE436_tree=null; 13537 CommonTree COMMA437_tree=null; 13538 CommonTree VTABLE_INDEX438_tree=null; 13539 13540 try { 13541 // smaliParser.g:1044:3: ( INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX ) 13542 // smaliParser.g:1045:5: INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX 13543 { 13544 root_0 = (CommonTree)adaptor.nil(); 13545 13546 13547 INSTRUCTION_FORMAT35ms_METHOD433=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5316); 13548 INSTRUCTION_FORMAT35ms_METHOD433_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35ms_METHOD433); 13549 adaptor.addChild(root_0, INSTRUCTION_FORMAT35ms_METHOD433_tree); 13550 13551 OPEN_BRACE434=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35ms_method5318); 13552 OPEN_BRACE434_tree = (CommonTree)adaptor.create(OPEN_BRACE434); 13553 adaptor.addChild(root_0, OPEN_BRACE434_tree); 13554 13555 pushFollow(FOLLOW_register_list_in_insn_format35ms_method5320); 13556 register_list435=register_list(); 13557 state._fsp--; 13558 13559 adaptor.addChild(root_0, register_list435.getTree()); 13560 13561 CLOSE_BRACE436=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5322); 13562 CLOSE_BRACE436_tree = (CommonTree)adaptor.create(CLOSE_BRACE436); 13563 adaptor.addChild(root_0, CLOSE_BRACE436_tree); 13564 13565 COMMA437=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35ms_method5324); 13566 COMMA437_tree = (CommonTree)adaptor.create(COMMA437); 13567 adaptor.addChild(root_0, COMMA437_tree); 13568 13569 VTABLE_INDEX438=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5326); 13570 VTABLE_INDEX438_tree = (CommonTree)adaptor.create(VTABLE_INDEX438); 13571 adaptor.addChild(root_0, VTABLE_INDEX438_tree); 13572 13573 13574 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35ms_METHOD433!=null?INSTRUCTION_FORMAT35ms_METHOD433.getText():null)); 13575 13576 } 13577 13578 retval.stop = input.LT(-1); 13579 13580 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13581 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13582 13583 } 13584 catch (RecognitionException re) { 13585 reportError(re); 13586 recover(input,re); 13587 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13588 } 13589 finally { 13590 // do for sure before leaving 13591 } 13592 return retval; 13593 } 13594 // $ANTLR end "insn_format35ms_method" 13595 13596 13597 public static class insn_format3rc_method_return extends ParserRuleReturnScope { 13598 CommonTree tree; 13599 @Override getTree()13600 public CommonTree getTree() { return tree; } 13601 }; 13602 13603 13604 // $ANTLR start "insn_format3rc_method" 13605 // smaliParser.g:1050:1: insn_format3rc_method : INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) ; insn_format3rc_method()13606 public final smaliParser.insn_format3rc_method_return insn_format3rc_method() throws RecognitionException { 13607 smaliParser.insn_format3rc_method_return retval = new smaliParser.insn_format3rc_method_return(); 13608 retval.start = input.LT(1); 13609 13610 CommonTree root_0 = null; 13611 13612 Token INSTRUCTION_FORMAT3rc_METHOD439=null; 13613 Token OPEN_BRACE440=null; 13614 Token CLOSE_BRACE442=null; 13615 Token COMMA443=null; 13616 ParserRuleReturnScope register_range441 =null; 13617 ParserRuleReturnScope method_reference444 =null; 13618 13619 CommonTree INSTRUCTION_FORMAT3rc_METHOD439_tree=null; 13620 CommonTree OPEN_BRACE440_tree=null; 13621 CommonTree CLOSE_BRACE442_tree=null; 13622 CommonTree COMMA443_tree=null; 13623 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 13624 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT3rc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT3rc_METHOD"); 13625 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 13626 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 13627 RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference"); 13628 RewriteRuleSubtreeStream stream_register_range=new RewriteRuleSubtreeStream(adaptor,"rule register_range"); 13629 13630 try { 13631 // smaliParser.g:1051:3: ( INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) ) 13632 // smaliParser.g:1052:5: INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference 13633 { 13634 INSTRUCTION_FORMAT3rc_METHOD439=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5347); 13635 stream_INSTRUCTION_FORMAT3rc_METHOD.add(INSTRUCTION_FORMAT3rc_METHOD439); 13636 13637 OPEN_BRACE440=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method5349); 13638 stream_OPEN_BRACE.add(OPEN_BRACE440); 13639 13640 pushFollow(FOLLOW_register_range_in_insn_format3rc_method5351); 13641 register_range441=register_range(); 13642 state._fsp--; 13643 13644 stream_register_range.add(register_range441.getTree()); 13645 CLOSE_BRACE442=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5353); 13646 stream_CLOSE_BRACE.add(CLOSE_BRACE442); 13647 13648 COMMA443=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method5355); 13649 stream_COMMA.add(COMMA443); 13650 13651 pushFollow(FOLLOW_method_reference_in_insn_format3rc_method5357); 13652 method_reference444=method_reference(); 13653 state._fsp--; 13654 13655 stream_method_reference.add(method_reference444.getTree()); 13656 // AST REWRITE 13657 // elements: register_range, INSTRUCTION_FORMAT3rc_METHOD, method_reference 13658 // token labels: 13659 // rule labels: retval 13660 // token list labels: 13661 // rule list labels: 13662 // wildcard labels: 13663 retval.tree = root_0; 13664 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 13665 13666 root_0 = (CommonTree)adaptor.nil(); 13667 // 1053:5: -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) 13668 { 13669 // smaliParser.g:1053:8: ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) 13670 { 13671 CommonTree root_1 = (CommonTree)adaptor.nil(); 13672 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT3rc_METHOD, (retval.start), "I_STATEMENT_FORMAT3rc_METHOD"), root_1); 13673 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT3rc_METHOD.nextNode()); 13674 adaptor.addChild(root_1, stream_register_range.nextTree()); 13675 adaptor.addChild(root_1, stream_method_reference.nextTree()); 13676 adaptor.addChild(root_0, root_1); 13677 } 13678 13679 } 13680 13681 13682 retval.tree = root_0; 13683 13684 } 13685 13686 retval.stop = input.LT(-1); 13687 13688 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13689 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13690 13691 } 13692 catch (RecognitionException re) { 13693 reportError(re); 13694 recover(input,re); 13695 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13696 } 13697 finally { 13698 // do for sure before leaving 13699 } 13700 return retval; 13701 } 13702 // $ANTLR end "insn_format3rc_method" 13703 13704 13705 public static class insn_format3rc_method_odex_return extends ParserRuleReturnScope { 13706 CommonTree tree; 13707 @Override getTree()13708 public CommonTree getTree() { return tree; } 13709 }; 13710 13711 13712 // $ANTLR start "insn_format3rc_method_odex" 13713 // smaliParser.g:1055:1: insn_format3rc_method_odex : INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ; insn_format3rc_method_odex()13714 public final smaliParser.insn_format3rc_method_odex_return insn_format3rc_method_odex() throws RecognitionException { 13715 smaliParser.insn_format3rc_method_odex_return retval = new smaliParser.insn_format3rc_method_odex_return(); 13716 retval.start = input.LT(1); 13717 13718 CommonTree root_0 = null; 13719 13720 Token INSTRUCTION_FORMAT3rc_METHOD_ODEX445=null; 13721 Token OPEN_BRACE446=null; 13722 Token CLOSE_BRACE448=null; 13723 Token COMMA449=null; 13724 ParserRuleReturnScope register_list447 =null; 13725 ParserRuleReturnScope method_reference450 =null; 13726 13727 CommonTree INSTRUCTION_FORMAT3rc_METHOD_ODEX445_tree=null; 13728 CommonTree OPEN_BRACE446_tree=null; 13729 CommonTree CLOSE_BRACE448_tree=null; 13730 CommonTree COMMA449_tree=null; 13731 13732 try { 13733 // smaliParser.g:1056:3: ( INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ) 13734 // smaliParser.g:1057:5: INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference 13735 { 13736 root_0 = (CommonTree)adaptor.nil(); 13737 13738 13739 INSTRUCTION_FORMAT3rc_METHOD_ODEX445=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5389); 13740 INSTRUCTION_FORMAT3rc_METHOD_ODEX445_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rc_METHOD_ODEX445); 13741 adaptor.addChild(root_0, INSTRUCTION_FORMAT3rc_METHOD_ODEX445_tree); 13742 13743 OPEN_BRACE446=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5391); 13744 OPEN_BRACE446_tree = (CommonTree)adaptor.create(OPEN_BRACE446); 13745 adaptor.addChild(root_0, OPEN_BRACE446_tree); 13746 13747 pushFollow(FOLLOW_register_list_in_insn_format3rc_method_odex5393); 13748 register_list447=register_list(); 13749 state._fsp--; 13750 13751 adaptor.addChild(root_0, register_list447.getTree()); 13752 13753 CLOSE_BRACE448=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5395); 13754 CLOSE_BRACE448_tree = (CommonTree)adaptor.create(CLOSE_BRACE448); 13755 adaptor.addChild(root_0, CLOSE_BRACE448_tree); 13756 13757 COMMA449=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method_odex5397); 13758 COMMA449_tree = (CommonTree)adaptor.create(COMMA449); 13759 adaptor.addChild(root_0, COMMA449_tree); 13760 13761 pushFollow(FOLLOW_method_reference_in_insn_format3rc_method_odex5399); 13762 method_reference450=method_reference(); 13763 state._fsp--; 13764 13765 adaptor.addChild(root_0, method_reference450.getTree()); 13766 13767 13768 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rc_METHOD_ODEX445!=null?INSTRUCTION_FORMAT3rc_METHOD_ODEX445.getText():null)); 13769 13770 } 13771 13772 retval.stop = input.LT(-1); 13773 13774 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13775 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13776 13777 } 13778 catch (RecognitionException re) { 13779 reportError(re); 13780 recover(input,re); 13781 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13782 } 13783 finally { 13784 // do for sure before leaving 13785 } 13786 return retval; 13787 } 13788 // $ANTLR end "insn_format3rc_method_odex" 13789 13790 13791 public static class insn_format3rc_type_return extends ParserRuleReturnScope { 13792 CommonTree tree; 13793 @Override getTree()13794 public CommonTree getTree() { return tree; } 13795 }; 13796 13797 13798 // $ANTLR start "insn_format3rc_type" 13799 // smaliParser.g:1062:1: insn_format3rc_type : INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ; insn_format3rc_type()13800 public final smaliParser.insn_format3rc_type_return insn_format3rc_type() throws RecognitionException { 13801 smaliParser.insn_format3rc_type_return retval = new smaliParser.insn_format3rc_type_return(); 13802 retval.start = input.LT(1); 13803 13804 CommonTree root_0 = null; 13805 13806 Token INSTRUCTION_FORMAT3rc_TYPE451=null; 13807 Token OPEN_BRACE452=null; 13808 Token CLOSE_BRACE454=null; 13809 Token COMMA455=null; 13810 ParserRuleReturnScope register_range453 =null; 13811 ParserRuleReturnScope nonvoid_type_descriptor456 =null; 13812 13813 CommonTree INSTRUCTION_FORMAT3rc_TYPE451_tree=null; 13814 CommonTree OPEN_BRACE452_tree=null; 13815 CommonTree CLOSE_BRACE454_tree=null; 13816 CommonTree COMMA455_tree=null; 13817 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 13818 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 13819 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 13820 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT3rc_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT3rc_TYPE"); 13821 RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor"); 13822 RewriteRuleSubtreeStream stream_register_range=new RewriteRuleSubtreeStream(adaptor,"rule register_range"); 13823 13824 try { 13825 // smaliParser.g:1063:3: ( INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ) 13826 // smaliParser.g:1064:5: INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor 13827 { 13828 INSTRUCTION_FORMAT3rc_TYPE451=(Token)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5420); 13829 stream_INSTRUCTION_FORMAT3rc_TYPE.add(INSTRUCTION_FORMAT3rc_TYPE451); 13830 13831 OPEN_BRACE452=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_type5422); 13832 stream_OPEN_BRACE.add(OPEN_BRACE452); 13833 13834 pushFollow(FOLLOW_register_range_in_insn_format3rc_type5424); 13835 register_range453=register_range(); 13836 state._fsp--; 13837 13838 stream_register_range.add(register_range453.getTree()); 13839 CLOSE_BRACE454=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5426); 13840 stream_CLOSE_BRACE.add(CLOSE_BRACE454); 13841 13842 COMMA455=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_type5428); 13843 stream_COMMA.add(COMMA455); 13844 13845 pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5430); 13846 nonvoid_type_descriptor456=nonvoid_type_descriptor(); 13847 state._fsp--; 13848 13849 stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor456.getTree()); 13850 // AST REWRITE 13851 // elements: nonvoid_type_descriptor, INSTRUCTION_FORMAT3rc_TYPE, register_range 13852 // token labels: 13853 // rule labels: retval 13854 // token list labels: 13855 // rule list labels: 13856 // wildcard labels: 13857 retval.tree = root_0; 13858 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 13859 13860 root_0 = (CommonTree)adaptor.nil(); 13861 // 1065:5: -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) 13862 { 13863 // smaliParser.g:1065:8: ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) 13864 { 13865 CommonTree root_1 = (CommonTree)adaptor.nil(); 13866 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT3rc_TYPE, (retval.start), "I_STATEMENT_FORMAT3rc_TYPE"), root_1); 13867 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT3rc_TYPE.nextNode()); 13868 adaptor.addChild(root_1, stream_register_range.nextTree()); 13869 adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree()); 13870 adaptor.addChild(root_0, root_1); 13871 } 13872 13873 } 13874 13875 13876 retval.tree = root_0; 13877 13878 } 13879 13880 retval.stop = input.LT(-1); 13881 13882 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13883 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13884 13885 } 13886 catch (RecognitionException re) { 13887 reportError(re); 13888 recover(input,re); 13889 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13890 } 13891 finally { 13892 // do for sure before leaving 13893 } 13894 return retval; 13895 } 13896 // $ANTLR end "insn_format3rc_type" 13897 13898 13899 public static class insn_format3rmi_method_return extends ParserRuleReturnScope { 13900 CommonTree tree; 13901 @Override getTree()13902 public CommonTree getTree() { return tree; } 13903 }; 13904 13905 13906 // $ANTLR start "insn_format3rmi_method" 13907 // smaliParser.g:1067:1: insn_format3rmi_method : INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX ; insn_format3rmi_method()13908 public final smaliParser.insn_format3rmi_method_return insn_format3rmi_method() throws RecognitionException { 13909 smaliParser.insn_format3rmi_method_return retval = new smaliParser.insn_format3rmi_method_return(); 13910 retval.start = input.LT(1); 13911 13912 CommonTree root_0 = null; 13913 13914 Token INSTRUCTION_FORMAT3rmi_METHOD457=null; 13915 Token OPEN_BRACE458=null; 13916 Token CLOSE_BRACE460=null; 13917 Token COMMA461=null; 13918 Token INLINE_INDEX462=null; 13919 ParserRuleReturnScope register_range459 =null; 13920 13921 CommonTree INSTRUCTION_FORMAT3rmi_METHOD457_tree=null; 13922 CommonTree OPEN_BRACE458_tree=null; 13923 CommonTree CLOSE_BRACE460_tree=null; 13924 CommonTree COMMA461_tree=null; 13925 CommonTree INLINE_INDEX462_tree=null; 13926 13927 try { 13928 // smaliParser.g:1068:3: ( INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX ) 13929 // smaliParser.g:1069:5: INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX 13930 { 13931 root_0 = (CommonTree)adaptor.nil(); 13932 13933 13934 INSTRUCTION_FORMAT3rmi_METHOD457=(Token)match(input,INSTRUCTION_FORMAT3rmi_METHOD,FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5462); 13935 INSTRUCTION_FORMAT3rmi_METHOD457_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rmi_METHOD457); 13936 adaptor.addChild(root_0, INSTRUCTION_FORMAT3rmi_METHOD457_tree); 13937 13938 OPEN_BRACE458=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5464); 13939 OPEN_BRACE458_tree = (CommonTree)adaptor.create(OPEN_BRACE458); 13940 adaptor.addChild(root_0, OPEN_BRACE458_tree); 13941 13942 pushFollow(FOLLOW_register_range_in_insn_format3rmi_method5466); 13943 register_range459=register_range(); 13944 state._fsp--; 13945 13946 adaptor.addChild(root_0, register_range459.getTree()); 13947 13948 CLOSE_BRACE460=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5468); 13949 CLOSE_BRACE460_tree = (CommonTree)adaptor.create(CLOSE_BRACE460); 13950 adaptor.addChild(root_0, CLOSE_BRACE460_tree); 13951 13952 COMMA461=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rmi_method5470); 13953 COMMA461_tree = (CommonTree)adaptor.create(COMMA461); 13954 adaptor.addChild(root_0, COMMA461_tree); 13955 13956 INLINE_INDEX462=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5472); 13957 INLINE_INDEX462_tree = (CommonTree)adaptor.create(INLINE_INDEX462); 13958 adaptor.addChild(root_0, INLINE_INDEX462_tree); 13959 13960 13961 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rmi_METHOD457!=null?INSTRUCTION_FORMAT3rmi_METHOD457.getText():null)); 13962 13963 } 13964 13965 retval.stop = input.LT(-1); 13966 13967 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 13968 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 13969 13970 } 13971 catch (RecognitionException re) { 13972 reportError(re); 13973 recover(input,re); 13974 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 13975 } 13976 finally { 13977 // do for sure before leaving 13978 } 13979 return retval; 13980 } 13981 // $ANTLR end "insn_format3rmi_method" 13982 13983 13984 public static class insn_format3rms_method_return extends ParserRuleReturnScope { 13985 CommonTree tree; 13986 @Override getTree()13987 public CommonTree getTree() { return tree; } 13988 }; 13989 13990 13991 // $ANTLR start "insn_format3rms_method" 13992 // smaliParser.g:1074:1: insn_format3rms_method : INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX ; insn_format3rms_method()13993 public final smaliParser.insn_format3rms_method_return insn_format3rms_method() throws RecognitionException { 13994 smaliParser.insn_format3rms_method_return retval = new smaliParser.insn_format3rms_method_return(); 13995 retval.start = input.LT(1); 13996 13997 CommonTree root_0 = null; 13998 13999 Token INSTRUCTION_FORMAT3rms_METHOD463=null; 14000 Token OPEN_BRACE464=null; 14001 Token CLOSE_BRACE466=null; 14002 Token COMMA467=null; 14003 Token VTABLE_INDEX468=null; 14004 ParserRuleReturnScope register_range465 =null; 14005 14006 CommonTree INSTRUCTION_FORMAT3rms_METHOD463_tree=null; 14007 CommonTree OPEN_BRACE464_tree=null; 14008 CommonTree CLOSE_BRACE466_tree=null; 14009 CommonTree COMMA467_tree=null; 14010 CommonTree VTABLE_INDEX468_tree=null; 14011 14012 try { 14013 // smaliParser.g:1075:3: ( INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX ) 14014 // smaliParser.g:1076:5: INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX 14015 { 14016 root_0 = (CommonTree)adaptor.nil(); 14017 14018 14019 INSTRUCTION_FORMAT3rms_METHOD463=(Token)match(input,INSTRUCTION_FORMAT3rms_METHOD,FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5493); 14020 INSTRUCTION_FORMAT3rms_METHOD463_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rms_METHOD463); 14021 adaptor.addChild(root_0, INSTRUCTION_FORMAT3rms_METHOD463_tree); 14022 14023 OPEN_BRACE464=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rms_method5495); 14024 OPEN_BRACE464_tree = (CommonTree)adaptor.create(OPEN_BRACE464); 14025 adaptor.addChild(root_0, OPEN_BRACE464_tree); 14026 14027 pushFollow(FOLLOW_register_range_in_insn_format3rms_method5497); 14028 register_range465=register_range(); 14029 state._fsp--; 14030 14031 adaptor.addChild(root_0, register_range465.getTree()); 14032 14033 CLOSE_BRACE466=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5499); 14034 CLOSE_BRACE466_tree = (CommonTree)adaptor.create(CLOSE_BRACE466); 14035 adaptor.addChild(root_0, CLOSE_BRACE466_tree); 14036 14037 COMMA467=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rms_method5501); 14038 COMMA467_tree = (CommonTree)adaptor.create(COMMA467); 14039 adaptor.addChild(root_0, COMMA467_tree); 14040 14041 VTABLE_INDEX468=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5503); 14042 VTABLE_INDEX468_tree = (CommonTree)adaptor.create(VTABLE_INDEX468); 14043 adaptor.addChild(root_0, VTABLE_INDEX468_tree); 14044 14045 14046 throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rms_METHOD463!=null?INSTRUCTION_FORMAT3rms_METHOD463.getText():null)); 14047 14048 } 14049 14050 retval.stop = input.LT(-1); 14051 14052 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14053 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14054 14055 } 14056 catch (RecognitionException re) { 14057 reportError(re); 14058 recover(input,re); 14059 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14060 } 14061 finally { 14062 // do for sure before leaving 14063 } 14064 return retval; 14065 } 14066 // $ANTLR end "insn_format3rms_method" 14067 14068 14069 public static class insn_format45cc_method_return extends ParserRuleReturnScope { 14070 CommonTree tree; 14071 @Override getTree()14072 public CommonTree getTree() { return tree; } 14073 }; 14074 14075 14076 // $ANTLR start "insn_format45cc_method" 14077 // smaliParser.g:1081:1: insn_format45cc_method : INSTRUCTION_FORMAT45cc_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference COMMA method_prototype -> ^( I_STATEMENT_FORMAT45cc_METHOD[$start, \"I_STATEMENT_FORMAT45cc_METHOD\"] INSTRUCTION_FORMAT45cc_METHOD register_list method_reference method_prototype ) ; insn_format45cc_method()14078 public final smaliParser.insn_format45cc_method_return insn_format45cc_method() throws RecognitionException { 14079 smaliParser.insn_format45cc_method_return retval = new smaliParser.insn_format45cc_method_return(); 14080 retval.start = input.LT(1); 14081 14082 CommonTree root_0 = null; 14083 14084 Token INSTRUCTION_FORMAT45cc_METHOD469=null; 14085 Token OPEN_BRACE470=null; 14086 Token CLOSE_BRACE472=null; 14087 Token COMMA473=null; 14088 Token COMMA475=null; 14089 ParserRuleReturnScope register_list471 =null; 14090 ParserRuleReturnScope method_reference474 =null; 14091 ParserRuleReturnScope method_prototype476 =null; 14092 14093 CommonTree INSTRUCTION_FORMAT45cc_METHOD469_tree=null; 14094 CommonTree OPEN_BRACE470_tree=null; 14095 CommonTree CLOSE_BRACE472_tree=null; 14096 CommonTree COMMA473_tree=null; 14097 CommonTree COMMA475_tree=null; 14098 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 14099 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT45cc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT45cc_METHOD"); 14100 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 14101 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 14102 RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference"); 14103 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 14104 RewriteRuleSubtreeStream stream_register_list=new RewriteRuleSubtreeStream(adaptor,"rule register_list"); 14105 14106 try { 14107 // smaliParser.g:1082:3: ( INSTRUCTION_FORMAT45cc_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference COMMA method_prototype -> ^( I_STATEMENT_FORMAT45cc_METHOD[$start, \"I_STATEMENT_FORMAT45cc_METHOD\"] INSTRUCTION_FORMAT45cc_METHOD register_list method_reference method_prototype ) ) 14108 // smaliParser.g:1083:5: INSTRUCTION_FORMAT45cc_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference COMMA method_prototype 14109 { 14110 INSTRUCTION_FORMAT45cc_METHOD469=(Token)match(input,INSTRUCTION_FORMAT45cc_METHOD,FOLLOW_INSTRUCTION_FORMAT45cc_METHOD_in_insn_format45cc_method5524); 14111 stream_INSTRUCTION_FORMAT45cc_METHOD.add(INSTRUCTION_FORMAT45cc_METHOD469); 14112 14113 OPEN_BRACE470=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format45cc_method5526); 14114 stream_OPEN_BRACE.add(OPEN_BRACE470); 14115 14116 pushFollow(FOLLOW_register_list_in_insn_format45cc_method5528); 14117 register_list471=register_list(); 14118 state._fsp--; 14119 14120 stream_register_list.add(register_list471.getTree()); 14121 CLOSE_BRACE472=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format45cc_method5530); 14122 stream_CLOSE_BRACE.add(CLOSE_BRACE472); 14123 14124 COMMA473=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format45cc_method5532); 14125 stream_COMMA.add(COMMA473); 14126 14127 pushFollow(FOLLOW_method_reference_in_insn_format45cc_method5534); 14128 method_reference474=method_reference(); 14129 state._fsp--; 14130 14131 stream_method_reference.add(method_reference474.getTree()); 14132 COMMA475=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format45cc_method5536); 14133 stream_COMMA.add(COMMA475); 14134 14135 pushFollow(FOLLOW_method_prototype_in_insn_format45cc_method5538); 14136 method_prototype476=method_prototype(); 14137 state._fsp--; 14138 14139 stream_method_prototype.add(method_prototype476.getTree()); 14140 // AST REWRITE 14141 // elements: method_reference, method_prototype, INSTRUCTION_FORMAT45cc_METHOD, register_list 14142 // token labels: 14143 // rule labels: retval 14144 // token list labels: 14145 // rule list labels: 14146 // wildcard labels: 14147 retval.tree = root_0; 14148 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14149 14150 root_0 = (CommonTree)adaptor.nil(); 14151 // 1084:5: -> ^( I_STATEMENT_FORMAT45cc_METHOD[$start, \"I_STATEMENT_FORMAT45cc_METHOD\"] INSTRUCTION_FORMAT45cc_METHOD register_list method_reference method_prototype ) 14152 { 14153 // smaliParser.g:1084:8: ^( I_STATEMENT_FORMAT45cc_METHOD[$start, \"I_STATEMENT_FORMAT45cc_METHOD\"] INSTRUCTION_FORMAT45cc_METHOD register_list method_reference method_prototype ) 14154 { 14155 CommonTree root_1 = (CommonTree)adaptor.nil(); 14156 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT45cc_METHOD, (retval.start), "I_STATEMENT_FORMAT45cc_METHOD"), root_1); 14157 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT45cc_METHOD.nextNode()); 14158 adaptor.addChild(root_1, stream_register_list.nextTree()); 14159 adaptor.addChild(root_1, stream_method_reference.nextTree()); 14160 adaptor.addChild(root_1, stream_method_prototype.nextTree()); 14161 adaptor.addChild(root_0, root_1); 14162 } 14163 14164 } 14165 14166 14167 retval.tree = root_0; 14168 14169 } 14170 14171 retval.stop = input.LT(-1); 14172 14173 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14174 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14175 14176 } 14177 catch (RecognitionException re) { 14178 reportError(re); 14179 recover(input,re); 14180 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14181 } 14182 finally { 14183 // do for sure before leaving 14184 } 14185 return retval; 14186 } 14187 // $ANTLR end "insn_format45cc_method" 14188 14189 14190 public static class insn_format4rcc_method_return extends ParserRuleReturnScope { 14191 CommonTree tree; 14192 @Override getTree()14193 public CommonTree getTree() { return tree; } 14194 }; 14195 14196 14197 // $ANTLR start "insn_format4rcc_method" 14198 // smaliParser.g:1086:1: insn_format4rcc_method : INSTRUCTION_FORMAT4rcc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference COMMA method_prototype -> ^( I_STATEMENT_FORMAT4rcc_METHOD[$start, \"I_STATEMENT_FORMAT4rcc_METHOD\"] INSTRUCTION_FORMAT4rcc_METHOD register_range method_reference method_prototype ) ; insn_format4rcc_method()14199 public final smaliParser.insn_format4rcc_method_return insn_format4rcc_method() throws RecognitionException { 14200 smaliParser.insn_format4rcc_method_return retval = new smaliParser.insn_format4rcc_method_return(); 14201 retval.start = input.LT(1); 14202 14203 CommonTree root_0 = null; 14204 14205 Token INSTRUCTION_FORMAT4rcc_METHOD477=null; 14206 Token OPEN_BRACE478=null; 14207 Token CLOSE_BRACE480=null; 14208 Token COMMA481=null; 14209 Token COMMA483=null; 14210 ParserRuleReturnScope register_range479 =null; 14211 ParserRuleReturnScope method_reference482 =null; 14212 ParserRuleReturnScope method_prototype484 =null; 14213 14214 CommonTree INSTRUCTION_FORMAT4rcc_METHOD477_tree=null; 14215 CommonTree OPEN_BRACE478_tree=null; 14216 CommonTree CLOSE_BRACE480_tree=null; 14217 CommonTree COMMA481_tree=null; 14218 CommonTree COMMA483_tree=null; 14219 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 14220 RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE"); 14221 RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE"); 14222 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT4rcc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT4rcc_METHOD"); 14223 RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference"); 14224 RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype"); 14225 RewriteRuleSubtreeStream stream_register_range=new RewriteRuleSubtreeStream(adaptor,"rule register_range"); 14226 14227 try { 14228 // smaliParser.g:1087:3: ( INSTRUCTION_FORMAT4rcc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference COMMA method_prototype -> ^( I_STATEMENT_FORMAT4rcc_METHOD[$start, \"I_STATEMENT_FORMAT4rcc_METHOD\"] INSTRUCTION_FORMAT4rcc_METHOD register_range method_reference method_prototype ) ) 14229 // smaliParser.g:1088:5: INSTRUCTION_FORMAT4rcc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference COMMA method_prototype 14230 { 14231 INSTRUCTION_FORMAT4rcc_METHOD477=(Token)match(input,INSTRUCTION_FORMAT4rcc_METHOD,FOLLOW_INSTRUCTION_FORMAT4rcc_METHOD_in_insn_format4rcc_method5572); 14232 stream_INSTRUCTION_FORMAT4rcc_METHOD.add(INSTRUCTION_FORMAT4rcc_METHOD477); 14233 14234 OPEN_BRACE478=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format4rcc_method5574); 14235 stream_OPEN_BRACE.add(OPEN_BRACE478); 14236 14237 pushFollow(FOLLOW_register_range_in_insn_format4rcc_method5576); 14238 register_range479=register_range(); 14239 state._fsp--; 14240 14241 stream_register_range.add(register_range479.getTree()); 14242 CLOSE_BRACE480=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format4rcc_method5578); 14243 stream_CLOSE_BRACE.add(CLOSE_BRACE480); 14244 14245 COMMA481=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format4rcc_method5580); 14246 stream_COMMA.add(COMMA481); 14247 14248 pushFollow(FOLLOW_method_reference_in_insn_format4rcc_method5582); 14249 method_reference482=method_reference(); 14250 state._fsp--; 14251 14252 stream_method_reference.add(method_reference482.getTree()); 14253 COMMA483=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format4rcc_method5584); 14254 stream_COMMA.add(COMMA483); 14255 14256 pushFollow(FOLLOW_method_prototype_in_insn_format4rcc_method5586); 14257 method_prototype484=method_prototype(); 14258 state._fsp--; 14259 14260 stream_method_prototype.add(method_prototype484.getTree()); 14261 // AST REWRITE 14262 // elements: register_range, INSTRUCTION_FORMAT4rcc_METHOD, method_reference, method_prototype 14263 // token labels: 14264 // rule labels: retval 14265 // token list labels: 14266 // rule list labels: 14267 // wildcard labels: 14268 retval.tree = root_0; 14269 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14270 14271 root_0 = (CommonTree)adaptor.nil(); 14272 // 1089:5: -> ^( I_STATEMENT_FORMAT4rcc_METHOD[$start, \"I_STATEMENT_FORMAT4rcc_METHOD\"] INSTRUCTION_FORMAT4rcc_METHOD register_range method_reference method_prototype ) 14273 { 14274 // smaliParser.g:1089:8: ^( I_STATEMENT_FORMAT4rcc_METHOD[$start, \"I_STATEMENT_FORMAT4rcc_METHOD\"] INSTRUCTION_FORMAT4rcc_METHOD register_range method_reference method_prototype ) 14275 { 14276 CommonTree root_1 = (CommonTree)adaptor.nil(); 14277 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT4rcc_METHOD, (retval.start), "I_STATEMENT_FORMAT4rcc_METHOD"), root_1); 14278 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT4rcc_METHOD.nextNode()); 14279 adaptor.addChild(root_1, stream_register_range.nextTree()); 14280 adaptor.addChild(root_1, stream_method_reference.nextTree()); 14281 adaptor.addChild(root_1, stream_method_prototype.nextTree()); 14282 adaptor.addChild(root_0, root_1); 14283 } 14284 14285 } 14286 14287 14288 retval.tree = root_0; 14289 14290 } 14291 14292 retval.stop = input.LT(-1); 14293 14294 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14295 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14296 14297 } 14298 catch (RecognitionException re) { 14299 reportError(re); 14300 recover(input,re); 14301 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14302 } 14303 finally { 14304 // do for sure before leaving 14305 } 14306 return retval; 14307 } 14308 // $ANTLR end "insn_format4rcc_method" 14309 14310 14311 public static class insn_format51l_return extends ParserRuleReturnScope { 14312 CommonTree tree; 14313 @Override getTree()14314 public CommonTree getTree() { return tree; } 14315 }; 14316 14317 14318 // $ANTLR start "insn_format51l" 14319 // smaliParser.g:1091:1: insn_format51l : INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) ; insn_format51l()14320 public final smaliParser.insn_format51l_return insn_format51l() throws RecognitionException { 14321 smaliParser.insn_format51l_return retval = new smaliParser.insn_format51l_return(); 14322 retval.start = input.LT(1); 14323 14324 CommonTree root_0 = null; 14325 14326 Token INSTRUCTION_FORMAT51l485=null; 14327 Token REGISTER486=null; 14328 Token COMMA487=null; 14329 ParserRuleReturnScope fixed_literal488 =null; 14330 14331 CommonTree INSTRUCTION_FORMAT51l485_tree=null; 14332 CommonTree REGISTER486_tree=null; 14333 CommonTree COMMA487_tree=null; 14334 RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); 14335 RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER"); 14336 RewriteRuleTokenStream stream_INSTRUCTION_FORMAT51l=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT51l"); 14337 RewriteRuleSubtreeStream stream_fixed_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_literal"); 14338 14339 try { 14340 // smaliParser.g:1092:3: ( INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) ) 14341 // smaliParser.g:1093:5: INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal 14342 { 14343 INSTRUCTION_FORMAT51l485=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5620); 14344 stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l485); 14345 14346 REGISTER486=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l5622); 14347 stream_REGISTER.add(REGISTER486); 14348 14349 COMMA487=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format51l5624); 14350 stream_COMMA.add(COMMA487); 14351 14352 pushFollow(FOLLOW_fixed_literal_in_insn_format51l5626); 14353 fixed_literal488=fixed_literal(); 14354 state._fsp--; 14355 14356 stream_fixed_literal.add(fixed_literal488.getTree()); 14357 // AST REWRITE 14358 // elements: REGISTER, INSTRUCTION_FORMAT51l, fixed_literal 14359 // token labels: 14360 // rule labels: retval 14361 // token list labels: 14362 // rule list labels: 14363 // wildcard labels: 14364 retval.tree = root_0; 14365 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14366 14367 root_0 = (CommonTree)adaptor.nil(); 14368 // 1094:5: -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) 14369 { 14370 // smaliParser.g:1094:8: ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) 14371 { 14372 CommonTree root_1 = (CommonTree)adaptor.nil(); 14373 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT51l, (retval.start), "I_STATEMENT_FORMAT51l"), root_1); 14374 adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT51l.nextNode()); 14375 adaptor.addChild(root_1, stream_REGISTER.nextNode()); 14376 adaptor.addChild(root_1, stream_fixed_literal.nextTree()); 14377 adaptor.addChild(root_0, root_1); 14378 } 14379 14380 } 14381 14382 14383 retval.tree = root_0; 14384 14385 } 14386 14387 retval.stop = input.LT(-1); 14388 14389 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14390 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14391 14392 } 14393 catch (RecognitionException re) { 14394 reportError(re); 14395 recover(input,re); 14396 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14397 } 14398 finally { 14399 // do for sure before leaving 14400 } 14401 return retval; 14402 } 14403 // $ANTLR end "insn_format51l" 14404 14405 14406 public static class insn_array_data_directive_return extends ParserRuleReturnScope { 14407 CommonTree tree; 14408 @Override getTree()14409 public CommonTree getTree() { return tree; } 14410 }; 14411 14412 14413 // $ANTLR start "insn_array_data_directive" 14414 // smaliParser.g:1096:1: insn_array_data_directive : ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) ; insn_array_data_directive()14415 public final smaliParser.insn_array_data_directive_return insn_array_data_directive() throws RecognitionException { 14416 smaliParser.insn_array_data_directive_return retval = new smaliParser.insn_array_data_directive_return(); 14417 retval.start = input.LT(1); 14418 14419 CommonTree root_0 = null; 14420 14421 Token ARRAY_DATA_DIRECTIVE489=null; 14422 Token END_ARRAY_DATA_DIRECTIVE492=null; 14423 ParserRuleReturnScope parsed_integer_literal490 =null; 14424 ParserRuleReturnScope fixed_literal491 =null; 14425 14426 CommonTree ARRAY_DATA_DIRECTIVE489_tree=null; 14427 CommonTree END_ARRAY_DATA_DIRECTIVE492_tree=null; 14428 RewriteRuleTokenStream stream_END_ARRAY_DATA_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_ARRAY_DATA_DIRECTIVE"); 14429 RewriteRuleTokenStream stream_ARRAY_DATA_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ARRAY_DATA_DIRECTIVE"); 14430 RewriteRuleSubtreeStream stream_parsed_integer_literal=new RewriteRuleSubtreeStream(adaptor,"rule parsed_integer_literal"); 14431 RewriteRuleSubtreeStream stream_fixed_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_literal"); 14432 14433 try { 14434 // smaliParser.g:1097:3: ( ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) ) 14435 // smaliParser.g:1097:5: ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE 14436 { 14437 ARRAY_DATA_DIRECTIVE489=(Token)match(input,ARRAY_DATA_DIRECTIVE,FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5653); 14438 stream_ARRAY_DATA_DIRECTIVE.add(ARRAY_DATA_DIRECTIVE489); 14439 14440 pushFollow(FOLLOW_parsed_integer_literal_in_insn_array_data_directive5659); 14441 parsed_integer_literal490=parsed_integer_literal(); 14442 state._fsp--; 14443 14444 stream_parsed_integer_literal.add(parsed_integer_literal490.getTree()); 14445 14446 int elementWidth = (parsed_integer_literal490!=null?((smaliParser.parsed_integer_literal_return)parsed_integer_literal490).value:0); 14447 if (elementWidth != 4 && elementWidth != 8 && elementWidth != 1 && elementWidth != 2) { 14448 throw new SemanticException(input, (retval.start), "Invalid element width: %d. Must be 1, 2, 4 or 8", elementWidth); 14449 } 14450 14451 // smaliParser.g:1105:5: ( fixed_literal )* 14452 loop52: 14453 while (true) { 14454 int alt52=2; 14455 int LA52_0 = input.LA(1); 14456 if ( ((LA52_0 >= BOOL_LITERAL && LA52_0 <= BYTE_LITERAL)||LA52_0==CHAR_LITERAL||(LA52_0 >= DOUBLE_LITERAL && LA52_0 <= DOUBLE_LITERAL_OR_ID)||(LA52_0 >= FLOAT_LITERAL && LA52_0 <= FLOAT_LITERAL_OR_ID)||LA52_0==LONG_LITERAL||LA52_0==NEGATIVE_INTEGER_LITERAL||LA52_0==POSITIVE_INTEGER_LITERAL||LA52_0==SHORT_LITERAL) ) { 14457 alt52=1; 14458 } 14459 14460 switch (alt52) { 14461 case 1 : 14462 // smaliParser.g:1105:5: fixed_literal 14463 { 14464 pushFollow(FOLLOW_fixed_literal_in_insn_array_data_directive5671); 14465 fixed_literal491=fixed_literal(); 14466 state._fsp--; 14467 14468 stream_fixed_literal.add(fixed_literal491.getTree()); 14469 } 14470 break; 14471 14472 default : 14473 break loop52; 14474 } 14475 } 14476 14477 END_ARRAY_DATA_DIRECTIVE492=(Token)match(input,END_ARRAY_DATA_DIRECTIVE,FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5674); 14478 stream_END_ARRAY_DATA_DIRECTIVE.add(END_ARRAY_DATA_DIRECTIVE492); 14479 14480 // AST REWRITE 14481 // elements: parsed_integer_literal, fixed_literal 14482 // token labels: 14483 // rule labels: retval 14484 // token list labels: 14485 // rule list labels: 14486 // wildcard labels: 14487 retval.tree = root_0; 14488 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14489 14490 root_0 = (CommonTree)adaptor.nil(); 14491 // 1107:5: -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) 14492 { 14493 // smaliParser.g:1107:8: ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) 14494 { 14495 CommonTree root_1 = (CommonTree)adaptor.nil(); 14496 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_ARRAY_DATA, (retval.start), "I_STATEMENT_ARRAY_DATA"), root_1); 14497 // smaliParser.g:1107:67: ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) 14498 { 14499 CommonTree root_2 = (CommonTree)adaptor.nil(); 14500 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ARRAY_ELEMENT_SIZE, "I_ARRAY_ELEMENT_SIZE"), root_2); 14501 adaptor.addChild(root_2, stream_parsed_integer_literal.nextTree()); 14502 adaptor.addChild(root_1, root_2); 14503 } 14504 14505 // smaliParser.g:1108:8: ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) 14506 { 14507 CommonTree root_2 = (CommonTree)adaptor.nil(); 14508 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ARRAY_ELEMENTS, "I_ARRAY_ELEMENTS"), root_2); 14509 // smaliParser.g:1108:27: ( fixed_literal )* 14510 while ( stream_fixed_literal.hasNext() ) { 14511 adaptor.addChild(root_2, stream_fixed_literal.nextTree()); 14512 } 14513 stream_fixed_literal.reset(); 14514 14515 adaptor.addChild(root_1, root_2); 14516 } 14517 14518 adaptor.addChild(root_0, root_1); 14519 } 14520 14521 } 14522 14523 14524 retval.tree = root_0; 14525 14526 } 14527 14528 retval.stop = input.LT(-1); 14529 14530 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14531 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14532 14533 } 14534 catch (RecognitionException re) { 14535 reportError(re); 14536 recover(input,re); 14537 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14538 } 14539 finally { 14540 // do for sure before leaving 14541 } 14542 return retval; 14543 } 14544 // $ANTLR end "insn_array_data_directive" 14545 14546 14547 public static class insn_packed_switch_directive_return extends ParserRuleReturnScope { 14548 CommonTree tree; 14549 @Override getTree()14550 public CommonTree getTree() { return tree; } 14551 }; 14552 14553 14554 // $ANTLR start "insn_packed_switch_directive" 14555 // smaliParser.g:1110:1: insn_packed_switch_directive : PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) ; insn_packed_switch_directive()14556 public final smaliParser.insn_packed_switch_directive_return insn_packed_switch_directive() throws RecognitionException { 14557 smaliParser.insn_packed_switch_directive_return retval = new smaliParser.insn_packed_switch_directive_return(); 14558 retval.start = input.LT(1); 14559 14560 CommonTree root_0 = null; 14561 14562 Token PACKED_SWITCH_DIRECTIVE493=null; 14563 Token END_PACKED_SWITCH_DIRECTIVE496=null; 14564 ParserRuleReturnScope fixed_32bit_literal494 =null; 14565 ParserRuleReturnScope label_ref495 =null; 14566 14567 CommonTree PACKED_SWITCH_DIRECTIVE493_tree=null; 14568 CommonTree END_PACKED_SWITCH_DIRECTIVE496_tree=null; 14569 RewriteRuleTokenStream stream_END_PACKED_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_PACKED_SWITCH_DIRECTIVE"); 14570 RewriteRuleTokenStream stream_PACKED_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PACKED_SWITCH_DIRECTIVE"); 14571 RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal"); 14572 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 14573 14574 try { 14575 // smaliParser.g:1111:5: ( PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) ) 14576 // smaliParser.g:1111:9: PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE 14577 { 14578 PACKED_SWITCH_DIRECTIVE493=(Token)match(input,PACKED_SWITCH_DIRECTIVE,FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5720); 14579 stream_PACKED_SWITCH_DIRECTIVE.add(PACKED_SWITCH_DIRECTIVE493); 14580 14581 pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5726); 14582 fixed_32bit_literal494=fixed_32bit_literal(); 14583 state._fsp--; 14584 14585 stream_fixed_32bit_literal.add(fixed_32bit_literal494.getTree()); 14586 // smaliParser.g:1113:5: ( label_ref )* 14587 loop53: 14588 while (true) { 14589 int alt53=2; 14590 int LA53_0 = input.LA(1); 14591 if ( (LA53_0==COLON) ) { 14592 alt53=1; 14593 } 14594 14595 switch (alt53) { 14596 case 1 : 14597 // smaliParser.g:1113:5: label_ref 14598 { 14599 pushFollow(FOLLOW_label_ref_in_insn_packed_switch_directive5732); 14600 label_ref495=label_ref(); 14601 state._fsp--; 14602 14603 stream_label_ref.add(label_ref495.getTree()); 14604 } 14605 break; 14606 14607 default : 14608 break loop53; 14609 } 14610 } 14611 14612 END_PACKED_SWITCH_DIRECTIVE496=(Token)match(input,END_PACKED_SWITCH_DIRECTIVE,FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5739); 14613 stream_END_PACKED_SWITCH_DIRECTIVE.add(END_PACKED_SWITCH_DIRECTIVE496); 14614 14615 // AST REWRITE 14616 // elements: fixed_32bit_literal, label_ref 14617 // token labels: 14618 // rule labels: retval 14619 // token list labels: 14620 // rule list labels: 14621 // wildcard labels: 14622 retval.tree = root_0; 14623 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14624 14625 root_0 = (CommonTree)adaptor.nil(); 14626 // 1115:5: -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) 14627 { 14628 // smaliParser.g:1115:8: ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) 14629 { 14630 CommonTree root_1 = (CommonTree)adaptor.nil(); 14631 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_PACKED_SWITCH, (retval.start), "I_STATEMENT_PACKED_SWITCH"), root_1); 14632 // smaliParser.g:1116:10: ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) 14633 { 14634 CommonTree root_2 = (CommonTree)adaptor.nil(); 14635 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PACKED_SWITCH_START_KEY, (retval.start), "I_PACKED_SWITCH_START_KEY"), root_2); 14636 adaptor.addChild(root_2, stream_fixed_32bit_literal.nextTree()); 14637 adaptor.addChild(root_1, root_2); 14638 } 14639 14640 // smaliParser.g:1117:10: ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) 14641 { 14642 CommonTree root_2 = (CommonTree)adaptor.nil(); 14643 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PACKED_SWITCH_ELEMENTS, (retval.start), "I_PACKED_SWITCH_ELEMENTS"), root_2); 14644 // smaliParser.g:1118:11: ( label_ref )* 14645 while ( stream_label_ref.hasNext() ) { 14646 adaptor.addChild(root_2, stream_label_ref.nextTree()); 14647 } 14648 stream_label_ref.reset(); 14649 14650 adaptor.addChild(root_1, root_2); 14651 } 14652 14653 adaptor.addChild(root_0, root_1); 14654 } 14655 14656 } 14657 14658 14659 retval.tree = root_0; 14660 14661 } 14662 14663 retval.stop = input.LT(-1); 14664 14665 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14666 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14667 14668 } 14669 catch (RecognitionException re) { 14670 reportError(re); 14671 recover(input,re); 14672 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14673 } 14674 finally { 14675 // do for sure before leaving 14676 } 14677 return retval; 14678 } 14679 // $ANTLR end "insn_packed_switch_directive" 14680 14681 14682 public static class insn_sparse_switch_directive_return extends ParserRuleReturnScope { 14683 CommonTree tree; 14684 @Override getTree()14685 public CommonTree getTree() { return tree; } 14686 }; 14687 14688 14689 // $ANTLR start "insn_sparse_switch_directive" 14690 // smaliParser.g:1121:1: insn_sparse_switch_directive : SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) ; insn_sparse_switch_directive()14691 public final smaliParser.insn_sparse_switch_directive_return insn_sparse_switch_directive() throws RecognitionException { 14692 smaliParser.insn_sparse_switch_directive_return retval = new smaliParser.insn_sparse_switch_directive_return(); 14693 retval.start = input.LT(1); 14694 14695 CommonTree root_0 = null; 14696 14697 Token SPARSE_SWITCH_DIRECTIVE497=null; 14698 Token ARROW499=null; 14699 Token END_SPARSE_SWITCH_DIRECTIVE501=null; 14700 ParserRuleReturnScope fixed_32bit_literal498 =null; 14701 ParserRuleReturnScope label_ref500 =null; 14702 14703 CommonTree SPARSE_SWITCH_DIRECTIVE497_tree=null; 14704 CommonTree ARROW499_tree=null; 14705 CommonTree END_SPARSE_SWITCH_DIRECTIVE501_tree=null; 14706 RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW"); 14707 RewriteRuleTokenStream stream_SPARSE_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SPARSE_SWITCH_DIRECTIVE"); 14708 RewriteRuleTokenStream stream_END_SPARSE_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_SPARSE_SWITCH_DIRECTIVE"); 14709 RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal"); 14710 RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref"); 14711 14712 try { 14713 // smaliParser.g:1122:3: ( SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) ) 14714 // smaliParser.g:1122:7: SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE 14715 { 14716 SPARSE_SWITCH_DIRECTIVE497=(Token)match(input,SPARSE_SWITCH_DIRECTIVE,FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5813); 14717 stream_SPARSE_SWITCH_DIRECTIVE.add(SPARSE_SWITCH_DIRECTIVE497); 14718 14719 // smaliParser.g:1123:5: ( fixed_32bit_literal ARROW label_ref )* 14720 loop54: 14721 while (true) { 14722 int alt54=2; 14723 int LA54_0 = input.LA(1); 14724 if ( ((LA54_0 >= BOOL_LITERAL && LA54_0 <= BYTE_LITERAL)||LA54_0==CHAR_LITERAL||(LA54_0 >= FLOAT_LITERAL && LA54_0 <= FLOAT_LITERAL_OR_ID)||LA54_0==LONG_LITERAL||LA54_0==NEGATIVE_INTEGER_LITERAL||LA54_0==POSITIVE_INTEGER_LITERAL||LA54_0==SHORT_LITERAL) ) { 14725 alt54=1; 14726 } 14727 14728 switch (alt54) { 14729 case 1 : 14730 // smaliParser.g:1123:6: fixed_32bit_literal ARROW label_ref 14731 { 14732 pushFollow(FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5820); 14733 fixed_32bit_literal498=fixed_32bit_literal(); 14734 state._fsp--; 14735 14736 stream_fixed_32bit_literal.add(fixed_32bit_literal498.getTree()); 14737 ARROW499=(Token)match(input,ARROW,FOLLOW_ARROW_in_insn_sparse_switch_directive5822); 14738 stream_ARROW.add(ARROW499); 14739 14740 pushFollow(FOLLOW_label_ref_in_insn_sparse_switch_directive5824); 14741 label_ref500=label_ref(); 14742 state._fsp--; 14743 14744 stream_label_ref.add(label_ref500.getTree()); 14745 } 14746 break; 14747 14748 default : 14749 break loop54; 14750 } 14751 } 14752 14753 END_SPARSE_SWITCH_DIRECTIVE501=(Token)match(input,END_SPARSE_SWITCH_DIRECTIVE,FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5832); 14754 stream_END_SPARSE_SWITCH_DIRECTIVE.add(END_SPARSE_SWITCH_DIRECTIVE501); 14755 14756 // AST REWRITE 14757 // elements: fixed_32bit_literal, label_ref 14758 // token labels: 14759 // rule labels: retval 14760 // token list labels: 14761 // rule list labels: 14762 // wildcard labels: 14763 retval.tree = root_0; 14764 RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); 14765 14766 root_0 = (CommonTree)adaptor.nil(); 14767 // 1125:5: -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) 14768 { 14769 // smaliParser.g:1125:8: ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) 14770 { 14771 CommonTree root_1 = (CommonTree)adaptor.nil(); 14772 root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_SPARSE_SWITCH, (retval.start), "I_STATEMENT_SPARSE_SWITCH"), root_1); 14773 // smaliParser.g:1126:8: ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) 14774 { 14775 CommonTree root_2 = (CommonTree)adaptor.nil(); 14776 root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SPARSE_SWITCH_ELEMENTS, (retval.start), "I_SPARSE_SWITCH_ELEMENTS"), root_2); 14777 // smaliParser.g:1126:71: ( fixed_32bit_literal label_ref )* 14778 while ( stream_fixed_32bit_literal.hasNext()||stream_label_ref.hasNext() ) { 14779 adaptor.addChild(root_2, stream_fixed_32bit_literal.nextTree()); 14780 adaptor.addChild(root_2, stream_label_ref.nextTree()); 14781 } 14782 stream_fixed_32bit_literal.reset(); 14783 stream_label_ref.reset(); 14784 14785 adaptor.addChild(root_1, root_2); 14786 } 14787 14788 adaptor.addChild(root_0, root_1); 14789 } 14790 14791 } 14792 14793 14794 retval.tree = root_0; 14795 14796 } 14797 14798 retval.stop = input.LT(-1); 14799 14800 retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0); 14801 adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); 14802 14803 } 14804 catch (RecognitionException re) { 14805 reportError(re); 14806 recover(input,re); 14807 retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re); 14808 } 14809 finally { 14810 // do for sure before leaving 14811 } 14812 return retval; 14813 } 14814 // $ANTLR end "insn_sparse_switch_directive" 14815 14816 // Delegated rules 14817 14818 14819 protected DFA30 dfa30 = new DFA30(this); 14820 protected DFA38 dfa38 = new DFA38(this); 14821 protected DFA40 dfa40 = new DFA40(this); 14822 static final String DFA30_eotS = 14823 "\55\uffff"; 14824 static final String DFA30_eofS = 14825 "\55\uffff"; 14826 static final String DFA30_minS = 14827 "\1\4\52\23\2\uffff"; 14828 static final String DFA30_maxS = 14829 "\1\u00c6\12\u00b4\1\u00b7\37\u00b4\2\uffff"; 14830 static final String DFA30_acceptS = 14831 "\53\uffff\1\1\1\2"; 14832 static final String DFA30_specialS = 14833 "\55\uffff}>"; 14834 static final String[] DFA30_transitionS = { 14835 "\1\2\1\uffff\1\16\3\uffff\1\10\14\uffff\1\7\17\uffff\1\6\2\uffff\1\17"+ 14836 "\1\20\1\21\1\uffff\1\22\1\uffff\1\23\2\uffff\1\24\1\25\1\26\1\27\3\uffff"+ 14837 "\1\30\1\uffff\1\31\1\32\1\33\1\34\1\uffff\1\35\1\36\1\uffff\1\37\3\uffff"+ 14838 "\1\40\1\41\1\uffff\1\42\1\43\1\44\1\45\1\46\5\uffff\1\47\1\50\1\51\127"+ 14839 "\uffff\1\52\1\uffff\1\5\1\11\4\uffff\1\13\1\4\1\14\1\uffff\1\12\3\uffff"+ 14840 "\1\1\5\uffff\1\3\1\15", 14841 "\1\53\u00a0\uffff\1\54", 14842 "\1\53\u00a0\uffff\1\54", 14843 "\1\53\u00a0\uffff\1\54", 14844 "\1\53\u00a0\uffff\1\54", 14845 "\1\53\u00a0\uffff\1\54", 14846 "\1\53\u00a0\uffff\1\54", 14847 "\1\53\u00a0\uffff\1\54", 14848 "\1\53\u00a0\uffff\1\54", 14849 "\1\53\u00a0\uffff\1\54", 14850 "\1\53\u00a0\uffff\1\54", 14851 "\1\53\u00a0\uffff\1\54\2\uffff\1\13", 14852 "\1\53\u00a0\uffff\1\54", 14853 "\1\53\u00a0\uffff\1\54", 14854 "\1\53\u00a0\uffff\1\54", 14855 "\1\53\u00a0\uffff\1\54", 14856 "\1\53\u00a0\uffff\1\54", 14857 "\1\53\u00a0\uffff\1\54", 14858 "\1\53\u00a0\uffff\1\54", 14859 "\1\53\u00a0\uffff\1\54", 14860 "\1\53\u00a0\uffff\1\54", 14861 "\1\53\u00a0\uffff\1\54", 14862 "\1\53\u00a0\uffff\1\54", 14863 "\1\53\u00a0\uffff\1\54", 14864 "\1\53\u00a0\uffff\1\54", 14865 "\1\53\u00a0\uffff\1\54", 14866 "\1\53\u00a0\uffff\1\54", 14867 "\1\53\u00a0\uffff\1\54", 14868 "\1\53\u00a0\uffff\1\54", 14869 "\1\53\u00a0\uffff\1\54", 14870 "\1\53\u00a0\uffff\1\54", 14871 "\1\53\u00a0\uffff\1\54", 14872 "\1\53\u00a0\uffff\1\54", 14873 "\1\53\u00a0\uffff\1\54", 14874 "\1\53\u00a0\uffff\1\54", 14875 "\1\53\u00a0\uffff\1\54", 14876 "\1\53\u00a0\uffff\1\54", 14877 "\1\53\u00a0\uffff\1\54", 14878 "\1\53\u00a0\uffff\1\54", 14879 "\1\53\u00a0\uffff\1\54", 14880 "\1\53\u00a0\uffff\1\54", 14881 "\1\53\u00a0\uffff\1\54", 14882 "\1\53\u00a0\uffff\1\54", 14883 "", 14884 "" 14885 }; 14886 14887 static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS); 14888 static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS); 14889 static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS); 14890 static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS); 14891 static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS); 14892 static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS); 14893 static final short[][] DFA30_transition; 14894 14895 static { 14896 int numStates = DFA30_transitionS.length; 14897 DFA30_transition = new short[numStates][]; 14898 for (int i=0; i<numStates; i++) { 14899 DFA30_transition[i] = DFA.unpackEncodedString(DFA30_transitionS[i]); 14900 } 14901 } 14902 14903 protected class DFA30 extends DFA { 14904 DFA30(BaseRecognizer recognizer)14905 public DFA30(BaseRecognizer recognizer) { 14906 this.recognizer = recognizer; 14907 this.decisionNumber = 30; 14908 this.eot = DFA30_eot; 14909 this.eof = DFA30_eof; 14910 this.min = DFA30_min; 14911 this.max = DFA30_max; 14912 this.accept = DFA30_accept; 14913 this.special = DFA30_special; 14914 this.transition = DFA30_transition; 14915 } 14916 @Override getDescription()14917 public String getDescription() { 14918 return "695:7: ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) )"; 14919 } 14920 } 14921 14922 static final String DFA38_eotS = 14923 "\62\uffff"; 14924 static final String DFA38_eofS = 14925 "\62\uffff"; 14926 static final String DFA38_minS = 14927 "\1\4\1\5\1\17\52\23\1\uffff\1\4\1\11\2\uffff"; 14928 static final String DFA38_maxS = 14929 "\1\u00c6\1\u00c1\1\u00b9\12\u00b4\1\u00b7\37\u00b4\1\uffff\1\u00c6\1\11"+ 14930 "\2\uffff"; 14931 static final String DFA38_acceptS = 14932 "\55\uffff\1\1\2\uffff\1\2\1\3"; 14933 static final String DFA38_specialS = 14934 "\62\uffff}>"; 14935 static final String[] DFA38_transitionS = { 14936 "\1\4\1\uffff\1\20\1\uffff\1\2\1\uffff\1\12\4\uffff\1\1\7\uffff\1\11\17"+ 14937 "\uffff\1\10\2\uffff\1\21\1\22\1\23\1\uffff\1\24\1\uffff\1\25\2\uffff"+ 14938 "\1\26\1\27\1\30\1\31\3\uffff\1\32\1\uffff\1\33\1\34\1\35\1\36\1\uffff"+ 14939 "\1\37\1\40\1\uffff\1\41\3\uffff\1\42\1\43\1\uffff\1\44\1\45\1\46\1\47"+ 14940 "\1\50\5\uffff\1\51\1\52\1\53\127\uffff\1\54\1\uffff\1\7\1\13\4\uffff"+ 14941 "\1\15\1\6\1\16\1\uffff\1\14\3\uffff\1\3\5\uffff\1\5\1\17", 14942 "\1\55\1\uffff\1\55\1\uffff\1\56\2\uffff\2\55\5\uffff\1\55\7\uffff\2"+ 14943 "\55\5\uffff\1\55\7\uffff\56\55\123\uffff\3\55\7\uffff\2\55\3\uffff\1"+ 14944 "\55\1\uffff\2\55\2\uffff\2\55", 14945 "\1\57\u00a9\uffff\1\57", 14946 "\1\60\u00a0\uffff\1\61", 14947 "\1\60\u00a0\uffff\1\61", 14948 "\1\60\u00a0\uffff\1\61", 14949 "\1\60\u00a0\uffff\1\61", 14950 "\1\60\u00a0\uffff\1\61", 14951 "\1\60\u00a0\uffff\1\61", 14952 "\1\60\u00a0\uffff\1\61", 14953 "\1\60\u00a0\uffff\1\61", 14954 "\1\60\u00a0\uffff\1\61", 14955 "\1\60\u00a0\uffff\1\61", 14956 "\1\60\u00a0\uffff\1\61\2\uffff\1\15", 14957 "\1\60\u00a0\uffff\1\61", 14958 "\1\60\u00a0\uffff\1\61", 14959 "\1\60\u00a0\uffff\1\61", 14960 "\1\60\u00a0\uffff\1\61", 14961 "\1\60\u00a0\uffff\1\61", 14962 "\1\60\u00a0\uffff\1\61", 14963 "\1\60\u00a0\uffff\1\61", 14964 "\1\60\u00a0\uffff\1\61", 14965 "\1\60\u00a0\uffff\1\61", 14966 "\1\60\u00a0\uffff\1\61", 14967 "\1\60\u00a0\uffff\1\61", 14968 "\1\60\u00a0\uffff\1\61", 14969 "\1\60\u00a0\uffff\1\61", 14970 "\1\60\u00a0\uffff\1\61", 14971 "\1\60\u00a0\uffff\1\61", 14972 "\1\60\u00a0\uffff\1\61", 14973 "\1\60\u00a0\uffff\1\61", 14974 "\1\60\u00a0\uffff\1\61", 14975 "\1\60\u00a0\uffff\1\61", 14976 "\1\60\u00a0\uffff\1\61", 14977 "\1\60\u00a0\uffff\1\61", 14978 "\1\60\u00a0\uffff\1\61", 14979 "\1\60\u00a0\uffff\1\61", 14980 "\1\60\u00a0\uffff\1\61", 14981 "\1\60\u00a0\uffff\1\61", 14982 "\1\60\u00a0\uffff\1\61", 14983 "\1\60\u00a0\uffff\1\61", 14984 "\1\60\u00a0\uffff\1\61", 14985 "\1\60\u00a0\uffff\1\61", 14986 "\1\60\u00a0\uffff\1\61", 14987 "\1\60\u00a0\uffff\1\61", 14988 "", 14989 "\1\4\1\uffff\1\20\3\uffff\1\12\14\uffff\1\11\17\uffff\1\10\2\uffff\1"+ 14990 "\21\1\22\1\23\1\uffff\1\24\1\uffff\1\25\2\uffff\1\26\1\27\1\30\1\31\3"+ 14991 "\uffff\1\32\1\uffff\1\33\1\34\1\35\1\36\1\uffff\1\37\1\40\1\uffff\1\41"+ 14992 "\3\uffff\1\42\1\43\1\uffff\1\44\1\45\1\46\1\47\1\50\5\uffff\1\51\1\52"+ 14993 "\1\53\127\uffff\1\54\1\uffff\1\7\1\13\4\uffff\1\15\1\6\1\16\1\uffff\1"+ 14994 "\14\3\uffff\1\3\5\uffff\1\5\1\17", 14995 "\1\56", 14996 "", 14997 "" 14998 }; 14999 15000 static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS); 15001 static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS); 15002 static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS); 15003 static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS); 15004 static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS); 15005 static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS); 15006 static final short[][] DFA38_transition; 15007 15008 static { 15009 int numStates = DFA38_transitionS.length; 15010 DFA38_transition = new short[numStates][]; 15011 for (int i=0; i<numStates; i++) { 15012 DFA38_transition[i] = DFA.unpackEncodedString(DFA38_transitionS[i]); 15013 } 15014 } 15015 15016 protected class DFA38 extends DFA { 15017 DFA38(BaseRecognizer recognizer)15018 public DFA38(BaseRecognizer recognizer) { 15019 this.recognizer = recognizer; 15020 this.decisionNumber = 38; 15021 this.eot = DFA38_eot; 15022 this.eof = DFA38_eof; 15023 this.min = DFA38_min; 15024 this.max = DFA38_max; 15025 this.accept = DFA38_accept; 15026 this.special = DFA38_special; 15027 this.transition = DFA38_transition; 15028 } 15029 @Override getDescription()15030 public String getDescription() { 15031 return "723:1: verification_error_reference : ( CLASS_DESCRIPTOR | field_reference | method_reference );"; 15032 } 15033 } 15034 15035 static final String DFA40_eotS = 15036 "\103\uffff"; 15037 static final String DFA40_eofS = 15038 "\103\uffff"; 15039 static final String DFA40_minS = 15040 "\1\5\100\uffff\1\0\1\uffff"; 15041 static final String DFA40_maxS = 15042 "\1\u00c1\100\uffff\1\0\1\uffff"; 15043 static final String DFA40_acceptS = 15044 "\1\uffff\1\2\100\uffff\1\1"; 15045 static final String DFA40_specialS = 15046 "\101\uffff\1\0\1\uffff}>"; 15047 static final String[] DFA40_transitionS = { 15048 "\1\101\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\7\uffff\2\1\1\uffff\1\1\3"+ 15049 "\uffff\1\1\7\uffff\56\1\123\uffff\3\1\7\uffff\2\1\3\uffff\1\1\1\uffff"+ 15050 "\2\1\2\uffff\2\1", 15051 "", 15052 "", 15053 "", 15054 "", 15055 "", 15056 "", 15057 "", 15058 "", 15059 "", 15060 "", 15061 "", 15062 "", 15063 "", 15064 "", 15065 "", 15066 "", 15067 "", 15068 "", 15069 "", 15070 "", 15071 "", 15072 "", 15073 "", 15074 "", 15075 "", 15076 "", 15077 "", 15078 "", 15079 "", 15080 "", 15081 "", 15082 "", 15083 "", 15084 "", 15085 "", 15086 "", 15087 "", 15088 "", 15089 "", 15090 "", 15091 "", 15092 "", 15093 "", 15094 "", 15095 "", 15096 "", 15097 "", 15098 "", 15099 "", 15100 "", 15101 "", 15102 "", 15103 "", 15104 "", 15105 "", 15106 "", 15107 "", 15108 "", 15109 "", 15110 "", 15111 "", 15112 "", 15113 "", 15114 "", 15115 "\1\uffff", 15116 "" 15117 }; 15118 15119 static final short[] DFA40_eot = DFA.unpackEncodedString(DFA40_eotS); 15120 static final short[] DFA40_eof = DFA.unpackEncodedString(DFA40_eofS); 15121 static final char[] DFA40_min = DFA.unpackEncodedStringToUnsignedChars(DFA40_minS); 15122 static final char[] DFA40_max = DFA.unpackEncodedStringToUnsignedChars(DFA40_maxS); 15123 static final short[] DFA40_accept = DFA.unpackEncodedString(DFA40_acceptS); 15124 static final short[] DFA40_special = DFA.unpackEncodedString(DFA40_specialS); 15125 static final short[][] DFA40_transition; 15126 15127 static { 15128 int numStates = DFA40_transitionS.length; 15129 DFA40_transition = new short[numStates][]; 15130 for (int i=0; i<numStates; i++) { 15131 DFA40_transition[i] = DFA.unpackEncodedString(DFA40_transitionS[i]); 15132 } 15133 } 15134 15135 protected class DFA40 extends DFA { 15136 DFA40(BaseRecognizer recognizer)15137 public DFA40(BaseRecognizer recognizer) { 15138 this.recognizer = recognizer; 15139 this.decisionNumber = 40; 15140 this.eot = DFA40_eot; 15141 this.eof = DFA40_eof; 15142 this.min = DFA40_min; 15143 this.max = DFA40_max; 15144 this.accept = DFA40_accept; 15145 this.special = DFA40_special; 15146 this.transition = DFA40_transition; 15147 } 15148 @Override getDescription()15149 public String getDescription() { 15150 return "()* loopback of 741:5: ({...}? annotation )*"; 15151 } 15152 @Override specialStateTransition(int s, IntStream _input)15153 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 15154 TokenStream input = (TokenStream)_input; 15155 int _s = s; 15156 switch ( s ) { 15157 case 0 : 15158 int LA40_65 = input.LA(1); 15159 15160 int index40_65 = input.index(); 15161 input.rewind(); 15162 s = -1; 15163 if ( ((input.LA(1) == ANNOTATION_DIRECTIVE)) ) {s = 66;} 15164 else if ( (true) ) {s = 1;} 15165 15166 input.seek(index40_65); 15167 if ( s>=0 ) return s; 15168 break; 15169 } 15170 NoViableAltException nvae = 15171 new NoViableAltException(getDescription(), 40, _s, input); 15172 error(nvae); 15173 throw nvae; 15174 } 15175 } 15176 15177 public static final BitSet FOLLOW_class_spec_in_smali_file1075 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15178 public static final BitSet FOLLOW_super_spec_in_smali_file1086 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15179 public static final BitSet FOLLOW_implements_spec_in_smali_file1094 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15180 public static final BitSet FOLLOW_source_spec_in_smali_file1103 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15181 public static final BitSet FOLLOW_method_in_smali_file1111 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15182 public static final BitSet FOLLOW_field_in_smali_file1117 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15183 public static final BitSet FOLLOW_annotation_in_smali_file1123 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x0001000000000000L,0x0000000000000011L}); 15184 public static final BitSet FOLLOW_EOF_in_smali_file1134 = new BitSet(new long[]{0x0000000000000002L}); 15185 public static final BitSet FOLLOW_CLASS_DIRECTIVE_in_class_spec1221 = new BitSet(new long[]{0x0000000000008010L}); 15186 public static final BitSet FOLLOW_access_list_in_class_spec1223 = new BitSet(new long[]{0x0000000000008000L}); 15187 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec1225 = new BitSet(new long[]{0x0000000000000002L}); 15188 public static final BitSet FOLLOW_SUPER_DIRECTIVE_in_super_spec1243 = new BitSet(new long[]{0x0000000000008000L}); 15189 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_super_spec1245 = new BitSet(new long[]{0x0000000000000002L}); 15190 public static final BitSet FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1264 = new BitSet(new long[]{0x0000000000008000L}); 15191 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1266 = new BitSet(new long[]{0x0000000000000002L}); 15192 public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_spec1285 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15193 public static final BitSet FOLLOW_STRING_LITERAL_in_source_spec1287 = new BitSet(new long[]{0x0000000000000002L}); 15194 public static final BitSet FOLLOW_ACCESS_SPEC_in_access_list1306 = new BitSet(new long[]{0x0000000000000012L}); 15195 public static final BitSet FOLLOW_FIELD_DIRECTIVE_in_field1337 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15196 public static final BitSet FOLLOW_access_list_in_field1339 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15197 public static final BitSet FOLLOW_member_name_in_field1341 = new BitSet(new long[]{0x0000000000080000L}); 15198 public static final BitSet FOLLOW_COLON_in_field1343 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15199 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field1345 = new BitSet(new long[]{0x0000000804000022L}); 15200 public static final BitSet FOLLOW_EQUAL_in_field1348 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x0000000000E0FB16L,0xCB8EC00000000000L,0x000000000000006CL}); 15201 public static final BitSet FOLLOW_literal_in_field1350 = new BitSet(new long[]{0x0000000004000022L}); 15202 public static final BitSet FOLLOW_annotation_in_field1363 = new BitSet(new long[]{0x0000000004000022L}); 15203 public static final BitSet FOLLOW_END_FIELD_DIRECTIVE_in_field1377 = new BitSet(new long[]{0x0000000000000002L}); 15204 public static final BitSet FOLLOW_METHOD_DIRECTIVE_in_method1488 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15205 public static final BitSet FOLLOW_access_list_in_method1490 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15206 public static final BitSet FOLLOW_member_name_in_method1492 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L}); 15207 public static final BitSet FOLLOW_method_prototype_in_method1494 = new BitSet(new long[]{0xFFFFFC04180830A0L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15208 public static final BitSet FOLLOW_statements_and_directives_in_method1496 = new BitSet(new long[]{0x0000000010000000L}); 15209 public static final BitSet FOLLOW_END_METHOD_DIRECTIVE_in_method1502 = new BitSet(new long[]{0x0000000000000002L}); 15210 public static final BitSet FOLLOW_ordered_method_item_in_statements_and_directives1547 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15211 public static final BitSet FOLLOW_registers_directive_in_statements_and_directives1555 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15212 public static final BitSet FOLLOW_catch_directive_in_statements_and_directives1563 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15213 public static final BitSet FOLLOW_catchall_directive_in_statements_and_directives1571 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15214 public static final BitSet FOLLOW_parameter_directive_in_statements_and_directives1579 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15215 public static final BitSet FOLLOW_annotation_in_statements_and_directives1587 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x0000000000FFFFFFL,0x3460380000000000L,0x0000000000000003L}); 15216 public static final BitSet FOLLOW_label_in_ordered_method_item1672 = new BitSet(new long[]{0x0000000000000002L}); 15217 public static final BitSet FOLLOW_instruction_in_ordered_method_item1678 = new BitSet(new long[]{0x0000000000000002L}); 15218 public static final BitSet FOLLOW_debug_directive_in_ordered_method_item1684 = new BitSet(new long[]{0x0000000000000002L}); 15219 public static final BitSet FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1704 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15220 public static final BitSet FOLLOW_integral_literal_in_registers_directive1708 = new BitSet(new long[]{0x0000000000000002L}); 15221 public static final BitSet FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1728 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15222 public static final BitSet FOLLOW_integral_literal_in_registers_directive1732 = new BitSet(new long[]{0x0000000000000002L}); 15223 public static final BitSet FOLLOW_PARAM_LIST_OR_ID_PRIMITIVE_TYPE_in_param_list_or_id1764 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0080000000000000L}); 15224 public static final BitSet FOLLOW_SIMPLE_NAME_in_simple_name1777 = new BitSet(new long[]{0x0000000000000002L}); 15225 public static final BitSet FOLLOW_ACCESS_SPEC_in_simple_name1783 = new BitSet(new long[]{0x0000000000000002L}); 15226 public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1794 = new BitSet(new long[]{0x0000000000000002L}); 15227 public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1805 = new BitSet(new long[]{0x0000000000000002L}); 15228 public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1816 = new BitSet(new long[]{0x0000000000000002L}); 15229 public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1827 = new BitSet(new long[]{0x0000000000000002L}); 15230 public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1838 = new BitSet(new long[]{0x0000000000000002L}); 15231 public static final BitSet FOLLOW_BOOL_LITERAL_in_simple_name1849 = new BitSet(new long[]{0x0000000000000002L}); 15232 public static final BitSet FOLLOW_NULL_LITERAL_in_simple_name1860 = new BitSet(new long[]{0x0000000000000002L}); 15233 public static final BitSet FOLLOW_REGISTER_in_simple_name1871 = new BitSet(new long[]{0x0000000000000002L}); 15234 public static final BitSet FOLLOW_param_list_or_id_in_simple_name1882 = new BitSet(new long[]{0x0000000000000002L}); 15235 public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_simple_name1892 = new BitSet(new long[]{0x0000000000000002L}); 15236 public static final BitSet FOLLOW_VOID_TYPE_in_simple_name1903 = new BitSet(new long[]{0x0000000000000002L}); 15237 public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1914 = new BitSet(new long[]{0x0000000000000002L}); 15238 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1925 = new BitSet(new long[]{0x0000000000000002L}); 15239 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1936 = new BitSet(new long[]{0x0000000000000002L}); 15240 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name1947 = new BitSet(new long[]{0x0000000000000002L}); 15241 public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name1958 = new BitSet(new long[]{0x0000000000000002L}); 15242 public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name1969 = new BitSet(new long[]{0x0000000000000002L}); 15243 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name1980 = new BitSet(new long[]{0x0000000000000002L}); 15244 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name1991 = new BitSet(new long[]{0x0000000000000002L}); 15245 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2002 = new BitSet(new long[]{0x0000000000000002L}); 15246 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2013 = new BitSet(new long[]{0x0000000000000002L}); 15247 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2024 = new BitSet(new long[]{0x0000000000000002L}); 15248 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2035 = new BitSet(new long[]{0x0000000000000002L}); 15249 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2046 = new BitSet(new long[]{0x0000000000000002L}); 15250 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2057 = new BitSet(new long[]{0x0000000000000002L}); 15251 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2068 = new BitSet(new long[]{0x0000000000000002L}); 15252 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2079 = new BitSet(new long[]{0x0000000000000002L}); 15253 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2090 = new BitSet(new long[]{0x0000000000000002L}); 15254 public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2101 = new BitSet(new long[]{0x0000000000000002L}); 15255 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2112 = new BitSet(new long[]{0x0000000000000002L}); 15256 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2123 = new BitSet(new long[]{0x0000000000000002L}); 15257 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2134 = new BitSet(new long[]{0x0000000000000002L}); 15258 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2145 = new BitSet(new long[]{0x0000000000000002L}); 15259 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2156 = new BitSet(new long[]{0x0000000000000002L}); 15260 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2167 = new BitSet(new long[]{0x0000000000000002L}); 15261 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2178 = new BitSet(new long[]{0x0000000000000002L}); 15262 public static final BitSet FOLLOW_INSTRUCTION_FORMAT45cc_METHOD_in_simple_name2189 = new BitSet(new long[]{0x0000000000000002L}); 15263 public static final BitSet FOLLOW_INSTRUCTION_FORMAT4rcc_METHOD_in_simple_name2200 = new BitSet(new long[]{0x0000000000000002L}); 15264 public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2211 = new BitSet(new long[]{0x0000000000000002L}); 15265 public static final BitSet FOLLOW_simple_name_in_member_name2226 = new BitSet(new long[]{0x0000000000000002L}); 15266 public static final BitSet FOLLOW_MEMBER_NAME_in_member_name2232 = new BitSet(new long[]{0x0000000000000002L}); 15267 public static final BitSet FOLLOW_OPEN_PAREN_in_method_prototype2247 = new BitSet(new long[]{0x0000000000048100L,0x0000000000000000L,0x0280000000000000L}); 15268 public static final BitSet FOLLOW_param_list_in_method_prototype2249 = new BitSet(new long[]{0x0000000000040000L}); 15269 public static final BitSet FOLLOW_CLOSE_PAREN_in_method_prototype2251 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L,0x0000000000000040L}); 15270 public static final BitSet FOLLOW_type_descriptor_in_method_prototype2253 = new BitSet(new long[]{0x0000000000000002L}); 15271 public static final BitSet FOLLOW_PARAM_LIST_OR_ID_PRIMITIVE_TYPE_in_param_list_or_id_primitive_type2283 = new BitSet(new long[]{0x0000000000000002L}); 15272 public static final BitSet FOLLOW_param_list_or_id_primitive_type_in_param_list2298 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0080000000000000L}); 15273 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_param_list2305 = new BitSet(new long[]{0x0000000000008102L,0x0000000000000000L,0x0200000000000000L}); 15274 public static final BitSet FOLLOW_ARRAY_TYPE_PREFIX_in_array_descriptor2316 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000000L,0x0200000000000000L}); 15275 public static final BitSet FOLLOW_set_in_array_descriptor2318 = new BitSet(new long[]{0x0000000000000002L}); 15276 public static final BitSet FOLLOW_VOID_TYPE_in_type_descriptor2334 = new BitSet(new long[]{0x0000000000000002L}); 15277 public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_type_descriptor2340 = new BitSet(new long[]{0x0000000000000002L}); 15278 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_type_descriptor2346 = new BitSet(new long[]{0x0000000000000002L}); 15279 public static final BitSet FOLLOW_array_descriptor_in_type_descriptor2352 = new BitSet(new long[]{0x0000000000000002L}); 15280 public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_nonvoid_type_descriptor2362 = new BitSet(new long[]{0x0000000000000002L}); 15281 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_nonvoid_type_descriptor2368 = new BitSet(new long[]{0x0000000000000002L}); 15282 public static final BitSet FOLLOW_array_descriptor_in_nonvoid_type_descriptor2374 = new BitSet(new long[]{0x0000000000000002L}); 15283 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_reference_type_descriptor2384 = new BitSet(new long[]{0x0000000000000002L}); 15284 public static final BitSet FOLLOW_array_descriptor_in_reference_type_descriptor2390 = new BitSet(new long[]{0x0000000000000002L}); 15285 public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2400 = new BitSet(new long[]{0x0000000000000002L}); 15286 public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2411 = new BitSet(new long[]{0x0000000000000002L}); 15287 public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2426 = new BitSet(new long[]{0x0000000000000002L}); 15288 public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal2437 = new BitSet(new long[]{0x0000000000000002L}); 15289 public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2447 = new BitSet(new long[]{0x0000000000000002L}); 15290 public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal2458 = new BitSet(new long[]{0x0000000000000002L}); 15291 public static final BitSet FOLLOW_LONG_LITERAL_in_literal2468 = new BitSet(new long[]{0x0000000000000002L}); 15292 public static final BitSet FOLLOW_integer_literal_in_literal2474 = new BitSet(new long[]{0x0000000000000002L}); 15293 public static final BitSet FOLLOW_SHORT_LITERAL_in_literal2480 = new BitSet(new long[]{0x0000000000000002L}); 15294 public static final BitSet FOLLOW_BYTE_LITERAL_in_literal2486 = new BitSet(new long[]{0x0000000000000002L}); 15295 public static final BitSet FOLLOW_float_literal_in_literal2492 = new BitSet(new long[]{0x0000000000000002L}); 15296 public static final BitSet FOLLOW_double_literal_in_literal2498 = new BitSet(new long[]{0x0000000000000002L}); 15297 public static final BitSet FOLLOW_CHAR_LITERAL_in_literal2504 = new BitSet(new long[]{0x0000000000000002L}); 15298 public static final BitSet FOLLOW_STRING_LITERAL_in_literal2510 = new BitSet(new long[]{0x0000000000000002L}); 15299 public static final BitSet FOLLOW_BOOL_LITERAL_in_literal2516 = new BitSet(new long[]{0x0000000000000002L}); 15300 public static final BitSet FOLLOW_NULL_LITERAL_in_literal2522 = new BitSet(new long[]{0x0000000000000002L}); 15301 public static final BitSet FOLLOW_array_literal_in_literal2528 = new BitSet(new long[]{0x0000000000000002L}); 15302 public static final BitSet FOLLOW_subannotation_in_literal2534 = new BitSet(new long[]{0x0000000000000002L}); 15303 public static final BitSet FOLLOW_type_field_method_literal_in_literal2540 = new BitSet(new long[]{0x0000000000000002L}); 15304 public static final BitSet FOLLOW_enum_literal_in_literal2546 = new BitSet(new long[]{0x0000000000000002L}); 15305 public static final BitSet FOLLOW_integer_literal_in_parsed_integer_literal2559 = new BitSet(new long[]{0x0000000000000002L}); 15306 public static final BitSet FOLLOW_LONG_LITERAL_in_integral_literal2571 = new BitSet(new long[]{0x0000000000000002L}); 15307 public static final BitSet FOLLOW_integer_literal_in_integral_literal2577 = new BitSet(new long[]{0x0000000000000002L}); 15308 public static final BitSet FOLLOW_SHORT_LITERAL_in_integral_literal2583 = new BitSet(new long[]{0x0000000000000002L}); 15309 public static final BitSet FOLLOW_CHAR_LITERAL_in_integral_literal2589 = new BitSet(new long[]{0x0000000000000002L}); 15310 public static final BitSet FOLLOW_BYTE_LITERAL_in_integral_literal2595 = new BitSet(new long[]{0x0000000000000002L}); 15311 public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2605 = new BitSet(new long[]{0x0000000000000002L}); 15312 public static final BitSet FOLLOW_integer_literal_in_fixed_32bit_literal2611 = new BitSet(new long[]{0x0000000000000002L}); 15313 public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2617 = new BitSet(new long[]{0x0000000000000002L}); 15314 public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2623 = new BitSet(new long[]{0x0000000000000002L}); 15315 public static final BitSet FOLLOW_float_literal_in_fixed_32bit_literal2629 = new BitSet(new long[]{0x0000000000000002L}); 15316 public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2635 = new BitSet(new long[]{0x0000000000000002L}); 15317 public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2641 = new BitSet(new long[]{0x0000000000000002L}); 15318 public static final BitSet FOLLOW_integer_literal_in_fixed_literal2651 = new BitSet(new long[]{0x0000000000000002L}); 15319 public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_literal2657 = new BitSet(new long[]{0x0000000000000002L}); 15320 public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_literal2663 = new BitSet(new long[]{0x0000000000000002L}); 15321 public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_literal2669 = new BitSet(new long[]{0x0000000000000002L}); 15322 public static final BitSet FOLLOW_float_literal_in_fixed_literal2675 = new BitSet(new long[]{0x0000000000000002L}); 15323 public static final BitSet FOLLOW_double_literal_in_fixed_literal2681 = new BitSet(new long[]{0x0000000000000002L}); 15324 public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_literal2687 = new BitSet(new long[]{0x0000000000000002L}); 15325 public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_literal2693 = new BitSet(new long[]{0x0000000000000002L}); 15326 public static final BitSet FOLLOW_OPEN_BRACE_in_array_literal2703 = new BitSet(new long[]{0xF4795CC200C2CD50L,0x0000000000E0FB16L,0xCB8EC00000000000L,0x000000000000006CL}); 15327 public static final BitSet FOLLOW_literal_in_array_literal2706 = new BitSet(new long[]{0x0000000000120000L}); 15328 public static final BitSet FOLLOW_COMMA_in_array_literal2709 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x0000000000E0FB16L,0xCB8EC00000000000L,0x000000000000006CL}); 15329 public static final BitSet FOLLOW_literal_in_array_literal2711 = new BitSet(new long[]{0x0000000000120000L}); 15330 public static final BitSet FOLLOW_CLOSE_BRACE_in_array_literal2719 = new BitSet(new long[]{0x0000000000000002L}); 15331 public static final BitSet FOLLOW_simple_name_in_annotation_element2743 = new BitSet(new long[]{0x0000000800000000L}); 15332 public static final BitSet FOLLOW_EQUAL_in_annotation_element2745 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x0000000000E0FB16L,0xCB8EC00000000000L,0x000000000000006CL}); 15333 public static final BitSet FOLLOW_literal_in_annotation_element2747 = new BitSet(new long[]{0x0000000000000002L}); 15334 public static final BitSet FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2772 = new BitSet(new long[]{0x0000000000000040L}); 15335 public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation2774 = new BitSet(new long[]{0x0000000000008000L}); 15336 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_annotation2776 = new BitSet(new long[]{0xF4795C8001800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15337 public static final BitSet FOLLOW_annotation_element_in_annotation2782 = new BitSet(new long[]{0xF4795C8001800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15338 public static final BitSet FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2785 = new BitSet(new long[]{0x0000000000000002L}); 15339 public static final BitSet FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2818 = new BitSet(new long[]{0x0000000000008000L}); 15340 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation2820 = new BitSet(new long[]{0xF4795C8100800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15341 public static final BitSet FOLLOW_annotation_element_in_subannotation2822 = new BitSet(new long[]{0xF4795C8100800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15342 public static final BitSet FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2825 = new BitSet(new long[]{0x0000000000000002L}); 15343 public static final BitSet FOLLOW_ENUM_DIRECTIVE_in_enum_literal2852 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15344 public static final BitSet FOLLOW_field_reference_in_enum_literal2854 = new BitSet(new long[]{0x0000000000000002L}); 15345 public static final BitSet FOLLOW_reference_type_descriptor_in_type_field_method_literal2874 = new BitSet(new long[]{0x0000000000000002L}); 15346 public static final BitSet FOLLOW_reference_type_descriptor_in_type_field_method_literal2883 = new BitSet(new long[]{0x0000000000000200L}); 15347 public static final BitSet FOLLOW_ARROW_in_type_field_method_literal2885 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15348 public static final BitSet FOLLOW_member_name_in_type_field_method_literal2897 = new BitSet(new long[]{0x0000000000080000L}); 15349 public static final BitSet FOLLOW_COLON_in_type_field_method_literal2899 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15350 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2901 = new BitSet(new long[]{0x0000000000000002L}); 15351 public static final BitSet FOLLOW_member_name_in_type_field_method_literal2924 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L}); 15352 public static final BitSet FOLLOW_method_prototype_in_type_field_method_literal2926 = new BitSet(new long[]{0x0000000000000002L}); 15353 public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2959 = new BitSet(new long[]{0x0000000000000002L}); 15354 public static final BitSet FOLLOW_VOID_TYPE_in_type_field_method_literal2965 = new BitSet(new long[]{0x0000000000000002L}); 15355 public static final BitSet FOLLOW_reference_type_descriptor_in_method_reference2976 = new BitSet(new long[]{0x0000000000000200L}); 15356 public static final BitSet FOLLOW_ARROW_in_method_reference2978 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15357 public static final BitSet FOLLOW_member_name_in_method_reference2982 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L}); 15358 public static final BitSet FOLLOW_method_prototype_in_method_reference2984 = new BitSet(new long[]{0x0000000000000002L}); 15359 public static final BitSet FOLLOW_reference_type_descriptor_in_field_reference3006 = new BitSet(new long[]{0x0000000000000200L}); 15360 public static final BitSet FOLLOW_ARROW_in_field_reference3008 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15361 public static final BitSet FOLLOW_member_name_in_field_reference3012 = new BitSet(new long[]{0x0000000000080000L}); 15362 public static final BitSet FOLLOW_COLON_in_field_reference3014 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15363 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field_reference3016 = new BitSet(new long[]{0x0000000000000002L}); 15364 public static final BitSet FOLLOW_COLON_in_label3037 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15365 public static final BitSet FOLLOW_simple_name_in_label3039 = new BitSet(new long[]{0x0000000000000002L}); 15366 public static final BitSet FOLLOW_COLON_in_label_ref3058 = new BitSet(new long[]{0xF4795C8000800450L,0x0000000000E0FB16L,0x8B86000000000000L,0x0000000000000060L}); 15367 public static final BitSet FOLLOW_simple_name_in_label_ref3060 = new BitSet(new long[]{0x0000000000000002L}); 15368 public static final BitSet FOLLOW_REGISTER_in_register_list3074 = new BitSet(new long[]{0x0000000000100002L}); 15369 public static final BitSet FOLLOW_COMMA_in_register_list3077 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15370 public static final BitSet FOLLOW_REGISTER_in_register_list3079 = new BitSet(new long[]{0x0000000000100002L}); 15371 public static final BitSet FOLLOW_REGISTER_in_register_range3114 = new BitSet(new long[]{0x0000000000200002L}); 15372 public static final BitSet FOLLOW_DOTDOT_in_register_range3117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15373 public static final BitSet FOLLOW_REGISTER_in_register_range3121 = new BitSet(new long[]{0x0000000000000002L}); 15374 public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3150 = new BitSet(new long[]{0x0000000000000002L}); 15375 public static final BitSet FOLLOW_field_reference_in_verification_error_reference3154 = new BitSet(new long[]{0x0000000000000002L}); 15376 public static final BitSet FOLLOW_method_reference_in_verification_error_reference3158 = new BitSet(new long[]{0x0000000000000002L}); 15377 public static final BitSet FOLLOW_CATCH_DIRECTIVE_in_catch_directive3168 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15378 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive3170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15379 public static final BitSet FOLLOW_OPEN_BRACE_in_catch_directive3172 = new BitSet(new long[]{0x0000000000080000L}); 15380 public static final BitSet FOLLOW_label_ref_in_catch_directive3176 = new BitSet(new long[]{0x0000000000200000L}); 15381 public static final BitSet FOLLOW_DOTDOT_in_catch_directive3178 = new BitSet(new long[]{0x0000000000080000L}); 15382 public static final BitSet FOLLOW_label_ref_in_catch_directive3182 = new BitSet(new long[]{0x0000000000020000L}); 15383 public static final BitSet FOLLOW_CLOSE_BRACE_in_catch_directive3184 = new BitSet(new long[]{0x0000000000080000L}); 15384 public static final BitSet FOLLOW_label_ref_in_catch_directive3188 = new BitSet(new long[]{0x0000000000000002L}); 15385 public static final BitSet FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3220 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15386 public static final BitSet FOLLOW_OPEN_BRACE_in_catchall_directive3222 = new BitSet(new long[]{0x0000000000080000L}); 15387 public static final BitSet FOLLOW_label_ref_in_catchall_directive3226 = new BitSet(new long[]{0x0000000000200000L}); 15388 public static final BitSet FOLLOW_DOTDOT_in_catchall_directive3228 = new BitSet(new long[]{0x0000000000080000L}); 15389 public static final BitSet FOLLOW_label_ref_in_catchall_directive3232 = new BitSet(new long[]{0x0000000000020000L}); 15390 public static final BitSet FOLLOW_CLOSE_BRACE_in_catchall_directive3234 = new BitSet(new long[]{0x0000000000080000L}); 15391 public static final BitSet FOLLOW_label_ref_in_catchall_directive3238 = new BitSet(new long[]{0x0000000000000002L}); 15392 public static final BitSet FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3277 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15393 public static final BitSet FOLLOW_REGISTER_in_parameter_directive3279 = new BitSet(new long[]{0x0000000040100022L}); 15394 public static final BitSet FOLLOW_COMMA_in_parameter_directive3282 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15395 public static final BitSet FOLLOW_STRING_LITERAL_in_parameter_directive3284 = new BitSet(new long[]{0x0000000040000022L}); 15396 public static final BitSet FOLLOW_annotation_in_parameter_directive3295 = new BitSet(new long[]{0x0000000040000022L}); 15397 public static final BitSet FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3308 = new BitSet(new long[]{0x0000000000000002L}); 15398 public static final BitSet FOLLOW_line_directive_in_debug_directive3381 = new BitSet(new long[]{0x0000000000000002L}); 15399 public static final BitSet FOLLOW_local_directive_in_debug_directive3387 = new BitSet(new long[]{0x0000000000000002L}); 15400 public static final BitSet FOLLOW_end_local_directive_in_debug_directive3393 = new BitSet(new long[]{0x0000000000000002L}); 15401 public static final BitSet FOLLOW_restart_local_directive_in_debug_directive3399 = new BitSet(new long[]{0x0000000000000002L}); 15402 public static final BitSet FOLLOW_prologue_directive_in_debug_directive3405 = new BitSet(new long[]{0x0000000000000002L}); 15403 public static final BitSet FOLLOW_epilogue_directive_in_debug_directive3411 = new BitSet(new long[]{0x0000000000000002L}); 15404 public static final BitSet FOLLOW_source_directive_in_debug_directive3417 = new BitSet(new long[]{0x0000000000000002L}); 15405 public static final BitSet FOLLOW_LINE_DIRECTIVE_in_line_directive3427 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15406 public static final BitSet FOLLOW_integral_literal_in_line_directive3429 = new BitSet(new long[]{0x0000000000000002L}); 15407 public static final BitSet FOLLOW_LOCAL_DIRECTIVE_in_local_directive3452 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15408 public static final BitSet FOLLOW_REGISTER_in_local_directive3454 = new BitSet(new long[]{0x0000000000100002L}); 15409 public static final BitSet FOLLOW_COMMA_in_local_directive3457 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0004000000000000L,0x0000000000000004L}); 15410 public static final BitSet FOLLOW_NULL_LITERAL_in_local_directive3460 = new BitSet(new long[]{0x0000000000080000L}); 15411 public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3466 = new BitSet(new long[]{0x0000000000080000L}); 15412 public static final BitSet FOLLOW_COLON_in_local_directive3469 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L,0x0000000000000040L}); 15413 public static final BitSet FOLLOW_VOID_TYPE_in_local_directive3472 = new BitSet(new long[]{0x0000000000100002L}); 15414 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local_directive3476 = new BitSet(new long[]{0x0000000000100002L}); 15415 public static final BitSet FOLLOW_COMMA_in_local_directive3510 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15416 public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3514 = new BitSet(new long[]{0x0000000000000002L}); 15417 public static final BitSet FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15418 public static final BitSet FOLLOW_REGISTER_in_end_local_directive3558 = new BitSet(new long[]{0x0000000000000002L}); 15419 public static final BitSet FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3581 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15420 public static final BitSet FOLLOW_REGISTER_in_restart_local_directive3583 = new BitSet(new long[]{0x0000000000000002L}); 15421 public static final BitSet FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3606 = new BitSet(new long[]{0x0000000000000002L}); 15422 public static final BitSet FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3627 = new BitSet(new long[]{0x0000000000000002L}); 15423 public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_directive3648 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15424 public static final BitSet FOLLOW_STRING_LITERAL_in_source_directive3650 = new BitSet(new long[]{0x0000000000000002L}); 15425 public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3675 = new BitSet(new long[]{0x0000000000000002L}); 15426 public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3681 = new BitSet(new long[]{0x0000000000000002L}); 15427 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3696 = new BitSet(new long[]{0x0000000000000002L}); 15428 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3702 = new BitSet(new long[]{0x0000000000000002L}); 15429 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3717 = new BitSet(new long[]{0x0000000000000002L}); 15430 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3723 = new BitSet(new long[]{0x0000000000000002L}); 15431 public static final BitSet FOLLOW_insn_format10t_in_instruction3740 = new BitSet(new long[]{0x0000000000000002L}); 15432 public static final BitSet FOLLOW_insn_format10x_in_instruction3746 = new BitSet(new long[]{0x0000000000000002L}); 15433 public static final BitSet FOLLOW_insn_format10x_odex_in_instruction3752 = new BitSet(new long[]{0x0000000000000002L}); 15434 public static final BitSet FOLLOW_insn_format11n_in_instruction3758 = new BitSet(new long[]{0x0000000000000002L}); 15435 public static final BitSet FOLLOW_insn_format11x_in_instruction3764 = new BitSet(new long[]{0x0000000000000002L}); 15436 public static final BitSet FOLLOW_insn_format12x_in_instruction3770 = new BitSet(new long[]{0x0000000000000002L}); 15437 public static final BitSet FOLLOW_insn_format20bc_in_instruction3776 = new BitSet(new long[]{0x0000000000000002L}); 15438 public static final BitSet FOLLOW_insn_format20t_in_instruction3782 = new BitSet(new long[]{0x0000000000000002L}); 15439 public static final BitSet FOLLOW_insn_format21c_field_in_instruction3788 = new BitSet(new long[]{0x0000000000000002L}); 15440 public static final BitSet FOLLOW_insn_format21c_field_odex_in_instruction3794 = new BitSet(new long[]{0x0000000000000002L}); 15441 public static final BitSet FOLLOW_insn_format21c_string_in_instruction3800 = new BitSet(new long[]{0x0000000000000002L}); 15442 public static final BitSet FOLLOW_insn_format21c_type_in_instruction3806 = new BitSet(new long[]{0x0000000000000002L}); 15443 public static final BitSet FOLLOW_insn_format21ih_in_instruction3812 = new BitSet(new long[]{0x0000000000000002L}); 15444 public static final BitSet FOLLOW_insn_format21lh_in_instruction3818 = new BitSet(new long[]{0x0000000000000002L}); 15445 public static final BitSet FOLLOW_insn_format21s_in_instruction3824 = new BitSet(new long[]{0x0000000000000002L}); 15446 public static final BitSet FOLLOW_insn_format21t_in_instruction3830 = new BitSet(new long[]{0x0000000000000002L}); 15447 public static final BitSet FOLLOW_insn_format22b_in_instruction3836 = new BitSet(new long[]{0x0000000000000002L}); 15448 public static final BitSet FOLLOW_insn_format22c_field_in_instruction3842 = new BitSet(new long[]{0x0000000000000002L}); 15449 public static final BitSet FOLLOW_insn_format22c_field_odex_in_instruction3848 = new BitSet(new long[]{0x0000000000000002L}); 15450 public static final BitSet FOLLOW_insn_format22c_type_in_instruction3854 = new BitSet(new long[]{0x0000000000000002L}); 15451 public static final BitSet FOLLOW_insn_format22cs_field_in_instruction3860 = new BitSet(new long[]{0x0000000000000002L}); 15452 public static final BitSet FOLLOW_insn_format22s_in_instruction3866 = new BitSet(new long[]{0x0000000000000002L}); 15453 public static final BitSet FOLLOW_insn_format22t_in_instruction3872 = new BitSet(new long[]{0x0000000000000002L}); 15454 public static final BitSet FOLLOW_insn_format22x_in_instruction3878 = new BitSet(new long[]{0x0000000000000002L}); 15455 public static final BitSet FOLLOW_insn_format23x_in_instruction3884 = new BitSet(new long[]{0x0000000000000002L}); 15456 public static final BitSet FOLLOW_insn_format30t_in_instruction3890 = new BitSet(new long[]{0x0000000000000002L}); 15457 public static final BitSet FOLLOW_insn_format31c_in_instruction3896 = new BitSet(new long[]{0x0000000000000002L}); 15458 public static final BitSet FOLLOW_insn_format31i_in_instruction3902 = new BitSet(new long[]{0x0000000000000002L}); 15459 public static final BitSet FOLLOW_insn_format31t_in_instruction3908 = new BitSet(new long[]{0x0000000000000002L}); 15460 public static final BitSet FOLLOW_insn_format32x_in_instruction3914 = new BitSet(new long[]{0x0000000000000002L}); 15461 public static final BitSet FOLLOW_insn_format35c_method_in_instruction3920 = new BitSet(new long[]{0x0000000000000002L}); 15462 public static final BitSet FOLLOW_insn_format35c_type_in_instruction3926 = new BitSet(new long[]{0x0000000000000002L}); 15463 public static final BitSet FOLLOW_insn_format35c_method_odex_in_instruction3932 = new BitSet(new long[]{0x0000000000000002L}); 15464 public static final BitSet FOLLOW_insn_format35mi_method_in_instruction3938 = new BitSet(new long[]{0x0000000000000002L}); 15465 public static final BitSet FOLLOW_insn_format35ms_method_in_instruction3944 = new BitSet(new long[]{0x0000000000000002L}); 15466 public static final BitSet FOLLOW_insn_format3rc_method_in_instruction3950 = new BitSet(new long[]{0x0000000000000002L}); 15467 public static final BitSet FOLLOW_insn_format3rc_method_odex_in_instruction3956 = new BitSet(new long[]{0x0000000000000002L}); 15468 public static final BitSet FOLLOW_insn_format3rc_type_in_instruction3962 = new BitSet(new long[]{0x0000000000000002L}); 15469 public static final BitSet FOLLOW_insn_format3rmi_method_in_instruction3968 = new BitSet(new long[]{0x0000000000000002L}); 15470 public static final BitSet FOLLOW_insn_format3rms_method_in_instruction3974 = new BitSet(new long[]{0x0000000000000002L}); 15471 public static final BitSet FOLLOW_insn_format45cc_method_in_instruction3980 = new BitSet(new long[]{0x0000000000000002L}); 15472 public static final BitSet FOLLOW_insn_format4rcc_method_in_instruction3986 = new BitSet(new long[]{0x0000000000000002L}); 15473 public static final BitSet FOLLOW_insn_format51l_in_instruction3992 = new BitSet(new long[]{0x0000000000000002L}); 15474 public static final BitSet FOLLOW_insn_array_data_directive_in_instruction3998 = new BitSet(new long[]{0x0000000000000002L}); 15475 public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction4004 = new BitSet(new long[]{0x0000000000000002L}); 15476 public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction4010 = new BitSet(new long[]{0x0000000000000002L}); 15477 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t4030 = new BitSet(new long[]{0x0000000000080000L}); 15478 public static final BitSet FOLLOW_label_ref_in_insn_format10t4032 = new BitSet(new long[]{0x0000000000000002L}); 15479 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4062 = new BitSet(new long[]{0x0000000000000002L}); 15480 public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4090 = new BitSet(new long[]{0x0000000000000002L}); 15481 public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15482 public static final BitSet FOLLOW_REGISTER_in_insn_format11n4113 = new BitSet(new long[]{0x0000000000100000L}); 15483 public static final BitSet FOLLOW_COMMA_in_insn_format11n4115 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15484 public static final BitSet FOLLOW_integral_literal_in_insn_format11n4117 = new BitSet(new long[]{0x0000000000000002L}); 15485 public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4149 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15486 public static final BitSet FOLLOW_REGISTER_in_insn_format11x4151 = new BitSet(new long[]{0x0000000000000002L}); 15487 public static final BitSet FOLLOW_instruction_format12x_in_insn_format12x4181 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15488 public static final BitSet FOLLOW_REGISTER_in_insn_format12x4183 = new BitSet(new long[]{0x0000000000100000L}); 15489 public static final BitSet FOLLOW_COMMA_in_insn_format12x4185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15490 public static final BitSet FOLLOW_REGISTER_in_insn_format12x4187 = new BitSet(new long[]{0x0000000000000002L}); 15491 public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4219 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000020L}); 15492 public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4221 = new BitSet(new long[]{0x0000000000100000L}); 15493 public static final BitSet FOLLOW_COMMA_in_insn_format20bc4223 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15494 public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc4225 = new BitSet(new long[]{0x0000000000000002L}); 15495 public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4262 = new BitSet(new long[]{0x0000000000080000L}); 15496 public static final BitSet FOLLOW_label_ref_in_insn_format20t4264 = new BitSet(new long[]{0x0000000000000002L}); 15497 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4294 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15498 public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field4296 = new BitSet(new long[]{0x0000000000100000L}); 15499 public static final BitSet FOLLOW_COMMA_in_insn_format21c_field4298 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15500 public static final BitSet FOLLOW_field_reference_in_insn_format21c_field4300 = new BitSet(new long[]{0x0000000000000002L}); 15501 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4332 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15502 public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field_odex4334 = new BitSet(new long[]{0x0000000000100000L}); 15503 public static final BitSet FOLLOW_COMMA_in_insn_format21c_field_odex4336 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15504 public static final BitSet FOLLOW_field_reference_in_insn_format21c_field_odex4338 = new BitSet(new long[]{0x0000000000000002L}); 15505 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4376 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15506 public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string4378 = new BitSet(new long[]{0x0000000000100000L}); 15507 public static final BitSet FOLLOW_COMMA_in_insn_format21c_string4380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15508 public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format21c_string4382 = new BitSet(new long[]{0x0000000000000002L}); 15509 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4414 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15510 public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type4416 = new BitSet(new long[]{0x0000000000100000L}); 15511 public static final BitSet FOLLOW_COMMA_in_insn_format21c_type4418 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15512 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4420 = new BitSet(new long[]{0x0000000000000002L}); 15513 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4452 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15514 public static final BitSet FOLLOW_REGISTER_in_insn_format21ih4454 = new BitSet(new long[]{0x0000000000100000L}); 15515 public static final BitSet FOLLOW_COMMA_in_insn_format21ih4456 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x4102400000000000L}); 15516 public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih4458 = new BitSet(new long[]{0x0000000000000002L}); 15517 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4490 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15518 public static final BitSet FOLLOW_REGISTER_in_insn_format21lh4492 = new BitSet(new long[]{0x0000000000100000L}); 15519 public static final BitSet FOLLOW_COMMA_in_insn_format21lh4494 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x4102400000000000L}); 15520 public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21lh4496 = new BitSet(new long[]{0x0000000000000002L}); 15521 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4528 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15522 public static final BitSet FOLLOW_REGISTER_in_insn_format21s4530 = new BitSet(new long[]{0x0000000000100000L}); 15523 public static final BitSet FOLLOW_COMMA_in_insn_format21s4532 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15524 public static final BitSet FOLLOW_integral_literal_in_insn_format21s4534 = new BitSet(new long[]{0x0000000000000002L}); 15525 public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4566 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15526 public static final BitSet FOLLOW_REGISTER_in_insn_format21t4568 = new BitSet(new long[]{0x0000000000100000L}); 15527 public static final BitSet FOLLOW_COMMA_in_insn_format21t4570 = new BitSet(new long[]{0x0000000000080000L}); 15528 public static final BitSet FOLLOW_label_ref_in_insn_format21t4572 = new BitSet(new long[]{0x0000000000000002L}); 15529 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4604 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15530 public static final BitSet FOLLOW_REGISTER_in_insn_format22b4606 = new BitSet(new long[]{0x0000000000100000L}); 15531 public static final BitSet FOLLOW_COMMA_in_insn_format22b4608 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15532 public static final BitSet FOLLOW_REGISTER_in_insn_format22b4610 = new BitSet(new long[]{0x0000000000100000L}); 15533 public static final BitSet FOLLOW_COMMA_in_insn_format22b4612 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15534 public static final BitSet FOLLOW_integral_literal_in_insn_format22b4614 = new BitSet(new long[]{0x0000000000000002L}); 15535 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4648 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15536 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4650 = new BitSet(new long[]{0x0000000000100000L}); 15537 public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4652 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15538 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4654 = new BitSet(new long[]{0x0000000000100000L}); 15539 public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4656 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15540 public static final BitSet FOLLOW_field_reference_in_insn_format22c_field4658 = new BitSet(new long[]{0x0000000000000002L}); 15541 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4692 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15542 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4694 = new BitSet(new long[]{0x0000000000100000L}); 15543 public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4696 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15544 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4698 = new BitSet(new long[]{0x0000000000100000L}); 15545 public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4700 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15546 public static final BitSet FOLLOW_field_reference_in_insn_format22c_field_odex4702 = new BitSet(new long[]{0x0000000000000002L}); 15547 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4742 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15548 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4744 = new BitSet(new long[]{0x0000000000100000L}); 15549 public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4746 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15550 public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4748 = new BitSet(new long[]{0x0000000000100000L}); 15551 public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4750 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15552 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4752 = new BitSet(new long[]{0x0000000000000002L}); 15553 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4786 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15554 public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4788 = new BitSet(new long[]{0x0000000000100000L}); 15555 public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4790 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15556 public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4792 = new BitSet(new long[]{0x0000000000100000L}); 15557 public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4794 = new BitSet(new long[]{0x0000002000000000L}); 15558 public static final BitSet FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4796 = new BitSet(new long[]{0x0000000000000002L}); 15559 public static final BitSet FOLLOW_instruction_format22s_in_insn_format22s4817 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15560 public static final BitSet FOLLOW_REGISTER_in_insn_format22s4819 = new BitSet(new long[]{0x0000000000100000L}); 15561 public static final BitSet FOLLOW_COMMA_in_insn_format22s4821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15562 public static final BitSet FOLLOW_REGISTER_in_insn_format22s4823 = new BitSet(new long[]{0x0000000000100000L}); 15563 public static final BitSet FOLLOW_COMMA_in_insn_format22s4825 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x4102400000000000L}); 15564 public static final BitSet FOLLOW_integral_literal_in_insn_format22s4827 = new BitSet(new long[]{0x0000000000000002L}); 15565 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4861 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15566 public static final BitSet FOLLOW_REGISTER_in_insn_format22t4863 = new BitSet(new long[]{0x0000000000100000L}); 15567 public static final BitSet FOLLOW_COMMA_in_insn_format22t4865 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15568 public static final BitSet FOLLOW_REGISTER_in_insn_format22t4867 = new BitSet(new long[]{0x0000000000100000L}); 15569 public static final BitSet FOLLOW_COMMA_in_insn_format22t4869 = new BitSet(new long[]{0x0000000000080000L}); 15570 public static final BitSet FOLLOW_label_ref_in_insn_format22t4871 = new BitSet(new long[]{0x0000000000000002L}); 15571 public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15572 public static final BitSet FOLLOW_REGISTER_in_insn_format22x4907 = new BitSet(new long[]{0x0000000000100000L}); 15573 public static final BitSet FOLLOW_COMMA_in_insn_format22x4909 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15574 public static final BitSet FOLLOW_REGISTER_in_insn_format22x4911 = new BitSet(new long[]{0x0000000000000002L}); 15575 public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4943 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15576 public static final BitSet FOLLOW_REGISTER_in_insn_format23x4945 = new BitSet(new long[]{0x0000000000100000L}); 15577 public static final BitSet FOLLOW_COMMA_in_insn_format23x4947 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15578 public static final BitSet FOLLOW_REGISTER_in_insn_format23x4949 = new BitSet(new long[]{0x0000000000100000L}); 15579 public static final BitSet FOLLOW_COMMA_in_insn_format23x4951 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15580 public static final BitSet FOLLOW_REGISTER_in_insn_format23x4953 = new BitSet(new long[]{0x0000000000000002L}); 15581 public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4987 = new BitSet(new long[]{0x0000000000080000L}); 15582 public static final BitSet FOLLOW_label_ref_in_insn_format30t4989 = new BitSet(new long[]{0x0000000000000002L}); 15583 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c5019 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15584 public static final BitSet FOLLOW_REGISTER_in_insn_format31c5021 = new BitSet(new long[]{0x0000000000100000L}); 15585 public static final BitSet FOLLOW_COMMA_in_insn_format31c5023 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); 15586 public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format31c5025 = new BitSet(new long[]{0x0000000000000002L}); 15587 public static final BitSet FOLLOW_instruction_format31i_in_insn_format31i5056 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15588 public static final BitSet FOLLOW_REGISTER_in_insn_format31i5058 = new BitSet(new long[]{0x0000000000100000L}); 15589 public static final BitSet FOLLOW_COMMA_in_insn_format31i5060 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x4102400000000000L}); 15590 public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i5062 = new BitSet(new long[]{0x0000000000000002L}); 15591 public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5094 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15592 public static final BitSet FOLLOW_REGISTER_in_insn_format31t5096 = new BitSet(new long[]{0x0000000000100000L}); 15593 public static final BitSet FOLLOW_COMMA_in_insn_format31t5098 = new BitSet(new long[]{0x0000000000080000L}); 15594 public static final BitSet FOLLOW_label_ref_in_insn_format31t5100 = new BitSet(new long[]{0x0000000000000002L}); 15595 public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5132 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15596 public static final BitSet FOLLOW_REGISTER_in_insn_format32x5134 = new BitSet(new long[]{0x0000000000100000L}); 15597 public static final BitSet FOLLOW_COMMA_in_insn_format32x5136 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15598 public static final BitSet FOLLOW_REGISTER_in_insn_format32x5138 = new BitSet(new long[]{0x0000000000000002L}); 15599 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15600 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method5172 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15601 public static final BitSet FOLLOW_register_list_in_insn_format35c_method5174 = new BitSet(new long[]{0x0000000000020000L}); 15602 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method5176 = new BitSet(new long[]{0x0000000000100000L}); 15603 public static final BitSet FOLLOW_COMMA_in_insn_format35c_method5178 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15604 public static final BitSet FOLLOW_method_reference_in_insn_format35c_method5180 = new BitSet(new long[]{0x0000000000000002L}); 15605 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5212 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15606 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_type5214 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15607 public static final BitSet FOLLOW_register_list_in_insn_format35c_type5216 = new BitSet(new long[]{0x0000000000020000L}); 15608 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_type5218 = new BitSet(new long[]{0x0000000000100000L}); 15609 public static final BitSet FOLLOW_COMMA_in_insn_format35c_type5220 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15610 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5222 = new BitSet(new long[]{0x0000000000000002L}); 15611 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5254 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15612 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5256 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15613 public static final BitSet FOLLOW_register_list_in_insn_format35c_method_odex5258 = new BitSet(new long[]{0x0000000000020000L}); 15614 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5260 = new BitSet(new long[]{0x0000000000100000L}); 15615 public static final BitSet FOLLOW_COMMA_in_insn_format35c_method_odex5262 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15616 public static final BitSet FOLLOW_method_reference_in_insn_format35c_method_odex5264 = new BitSet(new long[]{0x0000000000000002L}); 15617 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5285 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15618 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35mi_method5287 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15619 public static final BitSet FOLLOW_register_list_in_insn_format35mi_method5289 = new BitSet(new long[]{0x0000000000020000L}); 15620 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5291 = new BitSet(new long[]{0x0000000000100000L}); 15621 public static final BitSet FOLLOW_COMMA_in_insn_format35mi_method5293 = new BitSet(new long[]{0x0000020000000000L}); 15622 public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format35mi_method5295 = new BitSet(new long[]{0x0000000000000002L}); 15623 public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15624 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35ms_method5318 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15625 public static final BitSet FOLLOW_register_list_in_insn_format35ms_method5320 = new BitSet(new long[]{0x0000000000020000L}); 15626 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5322 = new BitSet(new long[]{0x0000000000100000L}); 15627 public static final BitSet FOLLOW_COMMA_in_insn_format35ms_method5324 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); 15628 public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5326 = new BitSet(new long[]{0x0000000000000002L}); 15629 public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5347 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15630 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method5349 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15631 public static final BitSet FOLLOW_register_range_in_insn_format3rc_method5351 = new BitSet(new long[]{0x0000000000020000L}); 15632 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5353 = new BitSet(new long[]{0x0000000000100000L}); 15633 public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method5355 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15634 public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method5357 = new BitSet(new long[]{0x0000000000000002L}); 15635 public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5389 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15636 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5391 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15637 public static final BitSet FOLLOW_register_list_in_insn_format3rc_method_odex5393 = new BitSet(new long[]{0x0000000000020000L}); 15638 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5395 = new BitSet(new long[]{0x0000000000100000L}); 15639 public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method_odex5397 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15640 public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method_odex5399 = new BitSet(new long[]{0x0000000000000002L}); 15641 public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15642 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_type5422 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15643 public static final BitSet FOLLOW_register_range_in_insn_format3rc_type5424 = new BitSet(new long[]{0x0000000000020000L}); 15644 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5426 = new BitSet(new long[]{0x0000000000100000L}); 15645 public static final BitSet FOLLOW_COMMA_in_insn_format3rc_type5428 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0200000000000000L}); 15646 public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5430 = new BitSet(new long[]{0x0000000000000002L}); 15647 public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5462 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15648 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5464 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15649 public static final BitSet FOLLOW_register_range_in_insn_format3rmi_method5466 = new BitSet(new long[]{0x0000000000020000L}); 15650 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5468 = new BitSet(new long[]{0x0000000000100000L}); 15651 public static final BitSet FOLLOW_COMMA_in_insn_format3rmi_method5470 = new BitSet(new long[]{0x0000020000000000L}); 15652 public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5472 = new BitSet(new long[]{0x0000000000000002L}); 15653 public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5493 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15654 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rms_method5495 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15655 public static final BitSet FOLLOW_register_range_in_insn_format3rms_method5497 = new BitSet(new long[]{0x0000000000020000L}); 15656 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5499 = new BitSet(new long[]{0x0000000000100000L}); 15657 public static final BitSet FOLLOW_COMMA_in_insn_format3rms_method5501 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); 15658 public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5503 = new BitSet(new long[]{0x0000000000000002L}); 15659 public static final BitSet FOLLOW_INSTRUCTION_FORMAT45cc_METHOD_in_insn_format45cc_method5524 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15660 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format45cc_method5526 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15661 public static final BitSet FOLLOW_register_list_in_insn_format45cc_method5528 = new BitSet(new long[]{0x0000000000020000L}); 15662 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format45cc_method5530 = new BitSet(new long[]{0x0000000000100000L}); 15663 public static final BitSet FOLLOW_COMMA_in_insn_format45cc_method5532 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15664 public static final BitSet FOLLOW_method_reference_in_insn_format45cc_method5534 = new BitSet(new long[]{0x0000000000100000L}); 15665 public static final BitSet FOLLOW_COMMA_in_insn_format45cc_method5536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L}); 15666 public static final BitSet FOLLOW_method_prototype_in_insn_format45cc_method5538 = new BitSet(new long[]{0x0000000000000002L}); 15667 public static final BitSet FOLLOW_INSTRUCTION_FORMAT4rcc_METHOD_in_insn_format4rcc_method5572 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0008000000000000L}); 15668 public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format4rcc_method5574 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0800000000000000L}); 15669 public static final BitSet FOLLOW_register_range_in_insn_format4rcc_method5576 = new BitSet(new long[]{0x0000000000020000L}); 15670 public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format4rcc_method5578 = new BitSet(new long[]{0x0000000000100000L}); 15671 public static final BitSet FOLLOW_COMMA_in_insn_format4rcc_method5580 = new BitSet(new long[]{0xF4795C8000808550L,0x0000000000E0FB16L,0x8B86800000000000L,0x0000000000000060L}); 15672 public static final BitSet FOLLOW_method_reference_in_insn_format4rcc_method5582 = new BitSet(new long[]{0x0000000000100000L}); 15673 public static final BitSet FOLLOW_COMMA_in_insn_format4rcc_method5584 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L}); 15674 public static final BitSet FOLLOW_method_prototype_in_insn_format4rcc_method5586 = new BitSet(new long[]{0x0000000000000002L}); 15675 public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5620 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); 15676 public static final BitSet FOLLOW_REGISTER_in_insn_format51l5622 = new BitSet(new long[]{0x0000000000100000L}); 15677 public static final BitSet FOLLOW_COMMA_in_insn_format51l5624 = new BitSet(new long[]{0x000000C000C04C00L,0x0000000000000000L,0x4102400000000000L}); 15678 public static final BitSet FOLLOW_fixed_literal_in_insn_format51l5626 = new BitSet(new long[]{0x0000000000000002L}); 15679 public static final BitSet FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5653 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0102000000000000L}); 15680 public static final BitSet FOLLOW_parsed_integer_literal_in_insn_array_data_directive5659 = new BitSet(new long[]{0x000000C002C04C00L,0x0000000000000000L,0x4102400000000000L}); 15681 public static final BitSet FOLLOW_fixed_literal_in_insn_array_data_directive5671 = new BitSet(new long[]{0x000000C002C04C00L,0x0000000000000000L,0x4102400000000000L}); 15682 public static final BitSet FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5674 = new BitSet(new long[]{0x0000000000000002L}); 15683 public static final BitSet FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5720 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x4102400000000000L}); 15684 public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5726 = new BitSet(new long[]{0x0000000020080000L}); 15685 public static final BitSet FOLLOW_label_ref_in_insn_packed_switch_directive5732 = new BitSet(new long[]{0x0000000020080000L}); 15686 public static final BitSet FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5739 = new BitSet(new long[]{0x0000000000000002L}); 15687 public static final BitSet FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5813 = new BitSet(new long[]{0x000000C080004C00L,0x0000000000000000L,0x4102400000000000L}); 15688 public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5820 = new BitSet(new long[]{0x0000000000000200L}); 15689 public static final BitSet FOLLOW_ARROW_in_insn_sparse_switch_directive5822 = new BitSet(new long[]{0x0000000000080000L}); 15690 public static final BitSet FOLLOW_label_ref_in_insn_sparse_switch_directive5824 = new BitSet(new long[]{0x000000C080004C00L,0x0000000000000000L,0x4102400000000000L}); 15691 public static final BitSet FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5832 = new BitSet(new long[]{0x0000000000000002L}); 15692 } 15693