Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// Generated from soot/JastAddJ/JastAddJavaParser.all
package soot.JastAddJ;
import java.util.ArrayList;
import beaver.*;
/**
* This class is a LALR parser generated by
* Beaver v0.9.6.1
* from the grammar specification "JastAddJavaParser.beaver".
*/
public class JastAddJavaParser extends Parser {
static public class Terminals {
static public final short EOF = 0;
static public final short IDENTIFIER = 1;
static public final short SEMICOLON = 2;
static public final short BOOLEAN = 3;
static public final short BYTE = 4;
static public final short SHORT = 5;
static public final short INT = 6;
static public final short LONG = 7;
static public final short CHAR = 8;
static public final short FLOAT = 9;
static public final short DOUBLE = 10;
static public final short RBRACE = 11;
static public final short RPAREN = 12;
static public final short VOID = 13;
static public final short PLUSPLUS = 14;
static public final short MINUSMINUS = 15;
static public final short LPAREN = 16;
static public final short LT = 17;
static public final short LBRACE = 18;
static public final short COMMA = 19;
static public final short SUPER = 20;
static public final short THIS = 21;
static public final short PLUS = 22;
static public final short MINUS = 23;
static public final short SYNCHRONIZED = 24;
static public final short AT = 25;
static public final short NEW = 26;
static public final short STATIC = 27;
static public final short PUBLIC = 28;
static public final short PROTECTED = 29;
static public final short PRIVATE = 30;
static public final short ABSTRACT = 31;
static public final short FINAL = 32;
static public final short NATIVE = 33;
static public final short TRANSIENT = 34;
static public final short VOLATILE = 35;
static public final short STRICTFP = 36;
static public final short NUMERIC_LITERAL = 37;
static public final short BOOLEAN_LITERAL = 38;
static public final short CHARACTER_LITERAL = 39;
static public final short STRING_LITERAL = 40;
static public final short NULL_LITERAL = 41;
static public final short CLASS = 42;
static public final short QUESTION = 43;
static public final short OROR = 44;
static public final short ANDAND = 45;
static public final short OR = 46;
static public final short AND = 47;
static public final short XOR = 48;
static public final short GT = 49;
static public final short EQEQ = 50;
static public final short NOTEQ = 51;
static public final short LTEQ = 52;
static public final short GTEQ = 53;
static public final short INSTANCEOF = 54;
static public final short RSHIFT = 55;
static public final short URSHIFT = 56;
static public final short COLON = 57;
static public final short RBRACK = 58;
static public final short LBRACK = 59;
static public final short INTERFACE = 60;
static public final short ENUM = 61;
static public final short DOT = 62;
static public final short LSHIFT = 63;
static public final short COMP = 64;
static public final short NOT = 65;
static public final short MULT = 66;
static public final short DIV = 67;
static public final short MOD = 68;
static public final short WHILE = 69;
static public final short DO = 70;
static public final short FOR = 71;
static public final short IF = 72;
static public final short SWITCH = 73;
static public final short BREAK = 74;
static public final short CONTINUE = 75;
static public final short ASSERT = 76;
static public final short RETURN = 77;
static public final short THROW = 78;
static public final short TRY = 79;
static public final short EQ = 80;
static public final short MULTEQ = 81;
static public final short DIVEQ = 82;
static public final short MODEQ = 83;
static public final short PLUSEQ = 84;
static public final short MINUSEQ = 85;
static public final short LSHIFTEQ = 86;
static public final short RSHIFTEQ = 87;
static public final short URSHIFTEQ = 88;
static public final short ANDEQ = 89;
static public final short XOREQ = 90;
static public final short OREQ = 91;
static public final short DEFAULT = 92;
static public final short CASE = 93;
static public final short ELLIPSIS = 94;
static public final short IMPLEMENTS = 95;
static public final short ELSE = 96;
static public final short EXTENDS = 97;
static public final short PACKAGE = 98;
static public final short THROWS = 99;
static public final short IMPORT = 100;
static public final short CATCH = 101;
static public final short FINALLY = 102;
static public final String[] NAMES = {
"EOF",
"IDENTIFIER",
"SEMICOLON",
"BOOLEAN",
"BYTE",
"SHORT",
"INT",
"LONG",
"CHAR",
"FLOAT",
"DOUBLE",
"RBRACE",
"RPAREN",
"VOID",
"PLUSPLUS",
"MINUSMINUS",
"LPAREN",
"LT",
"LBRACE",
"COMMA",
"SUPER",
"THIS",
"PLUS",
"MINUS",
"SYNCHRONIZED",
"AT",
"NEW",
"STATIC",
"PUBLIC",
"PROTECTED",
"PRIVATE",
"ABSTRACT",
"FINAL",
"NATIVE",
"TRANSIENT",
"VOLATILE",
"STRICTFP",
"NUMERIC_LITERAL",
"BOOLEAN_LITERAL",
"CHARACTER_LITERAL",
"STRING_LITERAL",
"NULL_LITERAL",
"CLASS",
"QUESTION",
"OROR",
"ANDAND",
"OR",
"AND",
"XOR",
"GT",
"EQEQ",
"NOTEQ",
"LTEQ",
"GTEQ",
"INSTANCEOF",
"RSHIFT",
"URSHIFT",
"COLON",
"RBRACK",
"LBRACK",
"INTERFACE",
"ENUM",
"DOT",
"LSHIFT",
"COMP",
"NOT",
"MULT",
"DIV",
"MOD",
"WHILE",
"DO",
"FOR",
"IF",
"SWITCH",
"BREAK",
"CONTINUE",
"ASSERT",
"RETURN",
"THROW",
"TRY",
"EQ",
"MULTEQ",
"DIVEQ",
"MODEQ",
"PLUSEQ",
"MINUSEQ",
"LSHIFTEQ",
"RSHIFTEQ",
"URSHIFTEQ",
"ANDEQ",
"XOREQ",
"OREQ",
"DEFAULT",
"CASE",
"ELLIPSIS",
"IMPLEMENTS",
"ELSE",
"EXTENDS",
"PACKAGE",
"THROWS",
"IMPORT",
"CATCH",
"FINALLY"
};
}
static final ParsingTables PARSING_TABLES = new ParsingTables(
"U9piNGUyrhJwJWVp3CvquC812hWG7CXoBzmRhnTG4VV0TTqeRd6B2eXxRrHaY0jnY#BUU#7" +
"0lQxZQ$zFLfksIR$sS0uSxxzzVssJD#$xv4cQf6c$jXyX3rRvKnUnp20RDjdtoqmo3IB39P" +
"q5sPfiGRRnrYFNP4HauZvMkb7u3oPNaBF9M78UEPzSG2ua5v6BVT$e#Hq4U#jzwrtilyeYv" +
"5zWBiBkmpeBzmZxGliY#s9IdmrHo7G8ps4mgOgNmOn57Y1JsNuwUH3xRx886KHk3i9rMekj" +
"oTva6tA7DJ0R8fVINwN$2l$1a7WPRZ7ocStzo0laHUo$pYBMATOfGNYGpi9zn3hPEjCQROt" +
"EXiY5DFgU20qcgyJBO9rWzAidFUdUwqngg6zfNjotDAyqprg3RNiZjHRxBQsrM7m3CjBgX$" +
"nsJkItYRMfjPcrkRK5wKyjqyNto026HooRQyWUG1saOw8JihLpBTd6$eQSHSuXvpgNMbsiZ" +
"vrLdTMSrPqrh9MihjRArdhM#auFfwT$0tcMtEUETBluyvtkv5xdGcXsj$OdzxjBkstj2yWG" +
"nDUsp#CzmPzlJoVhs5FjI#mPP2txGtkAHqXl#sxx7dkoVQzzdts$$Q0zqtx8VjX#n7xKVio" +
"UPJzkpxQVi1zms$lphQr87sTjqekiNhgFp7RkGYsD87sjOwtBoMhEMTavb#uB1Po$j7OWRp" +
"BE3vD7oAEKCtdBEKrojaTppkHnoRbqMpREv34oYppAELk3IlVQ9pjtMUrAjr4Xdv37dGzoS" +
"But5CxPFv1ntjg#50YqdWzqtf6SIRtWF33WV6isplOfv4NxNwAUNolTJvvtxdAwbcwb0ixr" +
"xi0SdEyFnUbkjxSxudX5E9F1xle1vzSuPwURvEn$bx6UqGBHjXbdTwNIFVvtpbt#Z#H#v7Q" +
"CjRWtmBsLR6tT4dAssgHmleSB#Q9qZzFT6q1k9LinpeEz0Tu0LiyFkZTApbvdKS#tSSvaLV" +
"IoR9nf7nVjsLwF74fEn4Xx1aRQqpX7iaPsplxrzW2oEpdQVz2w2ctZL72ydd6czR8zutozU" +
"qPGp$TppgKpP3tRksVaFC9RdlnRj0rWIqJtCdkwEmNzv6lKUJkKupgKuoX#bBENWhGd7Kc5" +
"DOPiuYo6KlGWRPqPh1HZd0sTFhGKzYRMgA3crnMjvRcWXL#HhHJMscHdRqbU2cTEikPHYko" +
"Sz$U$9q#HeSxwpZhW$3HQz4ZAsUfkRmUkjEQ$zx#Nd54ANlCtIyvkXuoSpxP7aoSvvzBDfP" +
"l9Hr7EpXdPEJjB#fUWjGm5yoV0UKzmPhtIMitfxzOmpfSuCuDwNaUqyC5vwzbjZnOkMejpG" +
"xAUdVTorFC#P1dAMTJpjU2ujcpXrc9i95dMdPHeuJVbhkTnRYCP9#hvfj9DyNfs##VebMjJ" +
"ZcIess1T1yuF1VLykRqd6KavMzt9ll7sNBf5SdQkpDWhHwAUdn6SRodTOlt1ETld2yutv#2" +
"ybzk3SgHd0OpOj5xhMNmQcOnp2etFSRi6xNcUQ1lx1VMyQaREV8peGzR4I9ATtIsKXTU1R8" +
"mneZiPP0yaTx5MCCXf97UnbdiBEIWObNOH8yIjaXqvhYNPaK5WTfTaPxKdavrvZ1tTZs37U" +
"pLolMI7qO6pMpmOXOUtQDsjOotXkTQHWjtMrd7kBepTIEmtOEn6aOtYxDmdWxgRqPBit2va" +
"fh#EluvWTpIkdJgpldAqipHlT#vIpXT1$nxCsLa393lhFot9ZlO6RntdlzQrhDsTRa$p3#B" +
"jZfmfsjr1xgv1hnWeZkooGTtjd774tDJ#qXcGcvrixvkJTS5kQ$SXb93Dijp7#IpBtZiyRx" +
"fT1BjvGP$DMdV3l1MytEoy8$oRIsTu0opCdvpkfR7keTuHR4Gvn1fL6alPKOlW#i0JxMwNe" +
"5TSaeqThhRgCHBcxRDp$Ole#EdCiBgZtHtiReNp5DYvhxflkc#n8tkHVr7GxcuKurrzqEuc" +
"jkY8CjA$iNI1TGsvXxQxqbXlFwkArTqVzb#yxiXWFvYBajlZxBpzChAxqxfHrfr$W4x8Lch" +
"CtPtjRtItr5idl4VO9TltRxBFTdvtxx5Fjq#rnzYdsMVOPzfdsUVOvzfZcTNT$arWiLxfTg" +
"kxErcFv5ImCzD7RbrGwkVHwYjPsYseZGDAjrEnVAhnxjS9cQR6t5VOVdzxTxrrNEoDQIbWh" +
"oc5ipmRAMWUw$4ZxZn11Zihw95eASXWZBgnQtBcZoCERYyYTR3JaMhyn$LYZL9ZfJlfrjw6" +
"J37PHuLCmvo#lR#HTRatgZIjT2SNyZNvpD$86qLBGwtS0$sDSDuTvLfE9wTAZmJlGAoTs7P" +
"lQuGragK#fXVdOJLMkeFfxdVkDjd7lESvdtkEls79zmulFL2wWmlZlg5tkBrNQIor0lSDmV" +
"tmqbZdmTBVUYHu1mBkTCkvqzI7z8A#gSHATx7zyH23VLIylfIzVP1tXNLAQMhfBYxaQzlsh" +
"e3qjM$YLf0htA7svlRDrcWz4hm30NUwvTnfwYozkFzMOsHdkdK#yTgPxADYjMUj$7B$Lk#o" +
"qXJ$OlSAvmddK$ArTpdaCkyoj4YATncty2$sBxQ7wv5AKq81Txhbt6dgetfnTrHZzabqI#l" +
"IP1$ptia#oMjhdUArZGehKLkhmhkGMdbjNSlUkdI6DTgxqDv3ZqG6byw8zrndkliQIvsf5#" +
"SKDMQFPliJ80Rxg5YBCTvjs1eHPndtTQyDsZj5tT5hOuqkdL4QQotbpD0ZQRdJEgIf3#i5x" +
"Ls9MQkoxOfMJvDzLAmUzcYmR#FPR8s8rTExoBEPrUhsReYFzYworWHtFO$1JfV4NSpJCV8Z" +
"pTjABwNJrHZoezjUxYoJVLIii$nEz1wpPxjFWA$bT$Aic50xozxNFf3UO$OiQmCz4aRxZHA" +
"$IKomUEeMUl4dg37tARejtMrjPxAF2jemc5k7M8UwTvKU1FUzFQjqDnVo1RPdK2lxSFjeoj" +
"mwtBsFp34WFHYAEpOCizHDzEBUhSRiqNHh7UMURxAFYdMyTLAfvCmenHQhdRDZgOGZNaEj4" +
"3$3EgrqXbzZNMePa7NjtR$IkeYbRgON$qer1kxOMZsjAqpsKN4cMfD0zK#sHiJP5NtppzAP" +
"r0gy$lHxk0VO4wqRd1bw9BJtpPFZZ7Khu$Y8NfnNr9XrEzk#Mhh1P1yLUxGpmtaI7FzWQqJ" +
"SyUv#fJ#e5PbZlG7DDQNhIjUMhZSWdUmUAMPfR3RaJh0#zA#m#z8qRx1U$2lKcBq#tRBPaC" +
"4#AlPeUw3TtxLBVpZJmUvtRztIxr6XLgNVoHpdJNTnUr3fTtj30zB9P6TlWZVUFHvsMv13x" +
"SrepDwIfMwf5$UGI6mKtPOckoUQxAFYFEHDj0Txkz7VQKhJmNGY#4xcOhSfJVR7CRlTt2Nj" +
"RUsT$77s3cIG7WdUWTWxissLtSckPQcRwiKzJ8sXlMFhlsdlQhAFYhsd$U#IPmyhUL6nHze" +
"dbpntsz9FrAhaOIQ6QvRIJyvqUuG1QmZc3s#wQrcDzX1xFtS7#m1tEtiZCfYbRQuNZEXAp3" +
"wORKVPXvdies8VuLyAPeDAdhTBQORRsxyqCIE7bRkQVPItYtsiVGAk$qVhaKepGa4fWp1Dy" +
"vVLYNro4BhSNnQZ60sDjoVfhUE2AybwiesrIdWbIKhMCjQoLbzhtV1Aaln4VhPSyb$htzPG" +
"ygs1nvNET8mqqnEZ94sxohxTNzPTrv$exekHWLu1TDRAH1aYg$kTCJEZeJtiPmtMCSbV5cj" +
"NFPBzl3z9MnQQzgBzAlQJtC7kfVRBp7v9dP3kCcI$WVKjfXjblwEtJdZdByjmFPBzdZzUMn" +
"QQzf7z6VRZlLtTw#nFcFrIEl5sbI7x2woVqn0PvR#ZjuvB4yeoLOzatUxjZhFsEucoK6RVe" +
"yQNydRtThP$i7zczdlenDjPXknViFv6GsIq$RlUEYvDACjqFPBzf#rXJ5edKHQakHSuDlP3" +
"T5AwH8PmrJN4$fQ6d7RaKBrrN9h0$q43KdUd0yuptHFyaUQkvbHZlxjEd9eWLEVlZcD6G$N" +
"#sthhkEJdRpSQU2pXBETUvR#Tu8yqrFygsE#c4rpDYP2pdh#RDvM5#ZaRwwtZqWJ#Y#kHIY" +
"SxWqi$#gkKJf4pfDAFpkREeupFDgKnsE#g4sU78BGBjjrPU1l$BRrrN9h0Vqa3rcN#vUx1o" +
"7ThVx2x38rPLVvMtbaiRHDd7sntqObxY0mv#sBTZuKtTvVJMySbBt$olNEW7iavs5$TESmP" +
"vHpf7EttT8vrZlVES4Oxvx6qyvrJiTzP9yubGUXYh9Upq0HdlDuwBhdhVtTdae77rSurrgt" +
"EJSxDpctE7SwTpZtElSvzpXIMDisPYlrEEi7uguISfsZ8UTPvNc#TyCxB$pxdHJsICzTvsN" +
"d3USlvsFaCvxUld5#TFvo$d3zfckiu9Untr8dRBWYryNSiNKv3thLkbTuwBhdvJt4x6NZKk" +
"lNkukvYxb7kijv8CitjvgxizdIxixJLtLxOxw0JTuqWj0xMzLXeGtSJlNLSylAtkxYR6NXi" +
"usxlxam6kqESlzmzt3rHbc7kNkxUB6r$zt3ijzU9UtGG6e7rM1OwpZr1RnsNtFnN8DCCFCv" +
"optRFTSzpBtGlSYz1$K$4UgrxFSkbthq3##rqGkfboBrNnjpxoLPwwuHtBlxaH$THz38jaZ" +
"kRREK#xRxjla4Y2yk5xpVJ2LAK48ynUwrrmZiV$r$DoCImA7msrWbIb12FCNkjTS8x7$$Vp" +
"SX6$Y6VVZf1YXBYCMQljKvuv#F$fndPo3$aixvEaAA4U8pPQwqJtldu$sr6Dl8F#Iod4wGe" +
"8HvZzbhhX7U#ySSo8nlvXtnMqmbIb12FCNkjTS8x7t$7Z6pa7$BfgXEaA24UO$PQwuHtFlx" +
"hc96D$4C#A#a4AKg8nvYzrZhXdO$$7cPa8$#GpuewGOeIuZ5chxLEUEVZlwSPsSW$vBE2Jf" +
"2YX7YCsMkj4zxv#9zZHZRo3$aihnEaA24UO$PQwuHtFlvtcf6D$4C#NNI252N4OynUQvtmp" +
"iV$RZEoaN$8PscT84K9yHYprredlFFndsn6Dl8F#IoX4wGe8HvZzbhhX7Sk$dPNCxAHVyXd" +
"6PqWHGdn6BFNMYUyy$5VsOniv1$oMLmdI552FCRijTO9xtpykvkHZVn3Felf12bAYCUOlTO" +
"wuPsF$#fcP2F$a4zVdI152V4OizTQ9xppyL$JZ6pa7$9PJoT8KK8ynkorrWdlVFpxc96D$4" +
"C#w#e4AKg8nvYzrZhXdO$$EcPa8$#0ZtUVJWXHGpn6xVNM2Uzi$B5OhdK9PsJYeLz2Flvmd" +
"Q1aIeZ7M7crrWdlFFml4pLgu66eVybdM#zUdQ1aIeZ7M7crrWdlFFol53Lgu66eVwJv##a4" +
"PL92FCPAghLEUETXVhMeImCFGytJr94wGPeIuZ7ceRLEUETXVhtWOk1XO4vJzzK9qfGGZp4" +
"FhNN2Em$pcmGN0my3SvewGYT84w7IR1cpEuVQT0bpACqEnLvQ2IzcypdOO6vdD#YHh54qrR" +
"dU7Y8HxOqOSvgwZqwidZ84AxRIBT#NbtWDUUEmYRm1vOrZEiL2Z#IjHwvY1hkJeS9q9p94y" +
"2WtDbwXZ8tZCuwDkogaeczIxa1s9BkGtPJq8yJnroFHToVOOkr7XeHEB7MOJf0cGgN7POnv" +
"QAsJta5hUJmK$#ymRErY2IkVtLCZyyiXHHUMEbGdI1EXqcFO$it2VuVQT56OFnOAc0VXaBb" +
"OvfT3YZ6dgV$M2T94gFI8Z34FhNNIEs3#I2Z#Ns5OgVE$1FCoI37cD7LFdI1DX4eFOViN2$" +
"yLQjD5OVvGA60UX3LrNWOfnfoc$aidI1EXqiConZoqradlWFd3eVX$Xc6bplyKpCiWnPWZp" +
"JjR9nYdHAWqqplR$vE6Q1vwwwHtm7ncA60UX9DrNWufibGpFflg1AKI8VTs6MDbrLedlOCt" +
"gmRHTxH5VktSEqadO0n23VpN#o$Xzzm7YLeq894RiB9tj4FYxbIMbZXJ6zze8kupM9ybDv5" +
"#JdTtcZlTdU4#I3de9Cp7de6LladdsdES8LdUjyhzfCnUre4OyG#ojYUVso$WdBk7yozdJ#" +
"VVpb1$IvsWdaIeD4l6MErfhPFUGOkQ5Oh$HnXM#i8VeY#KGOhr1PgwXKwG9aAbHx7zWuN$2" +
"BNfeZ1$D1Gm3yAQyKUFv15Vovochg4Jf2aX7cCUMkk4DvrhnR#gKcDzOdrcVM5zQNrjpRU#" +
"itwmVh9#iNuBkEYnmfOvMk7zNvQsgawGgeHuZFbehPFU53tSUfUI#ApiKgOB5kzI0vPalZi" +
"vMeIEPBCofDbFsX$4wyV#2drY3V87#SkXTrEw8xQbjHPri#VRbrZzT6$1AL#ggIInywDtSO" +
"BvnKntL6XXlsJ$QBzkFsD$RF$N$jjPqI5E6wTz014olveofry4q37t#omWStMM6vrFicVPh" +
"VuYTbbePc0UpYSV9qEiOyWcehtqWQob4wGf8HvZ7bhhf3ToEXKrUOc$GQokBs6wy6W4CGDI" +
"mDokYyo4QUh#Ea6Q4k8nvg6rZalmBOJ3wBdAEy3l1jTs$kzWUXZZUm2GgAxUEyp$tJk0MfX" +
"uaCIvYhGLF7hf16bgw7SM$ZtKfal0$53At6TthWNpGqMTSLqzZzEOYOU1EKrTKoT8Kq8ynl" +
"BGMiSbO7uGg$D3l0CPSuo0ta6iphc6XWvYMiHDF0pCQMfldI1D3Vt6mh#5sdG9c1$Cc1yfw" +
"fnoF9ZnFJ9evq7SnCF0dEQY6LkS3HPiR0dUNIRgd8oaBYcZeeOv7HMzCtM2Ub12FCPgHskT" +
"z0xcamEJtFs1mFdTGwilZVLlf34pChL8SdUdibpop2TVflD9xtGoKfbF$guNdWVDMSudtRd" +
"sqqsRJwOm6kbsuJavtSL#BtU9S3x9odcCScJPdUPWXakQEiCrCmgNWD58TOPhQ74XexaBWT" +
"7#kHYzjX0O7PABqViBWT4nUHWvsxRqbPBrd7E2oaWxLeu9nqfh51qhdGiSzcH6ndcOkcXcy" +
"3gTVgpKidkRxA5XjqTsTjw0v36GEkmtfL#DYnsXpEpSlhgwetXvwiwRbk0tZUf2Ngf53dOt" +
"QDa1EnUx9nFidepgr5XsTgNBTETeYfsBtHC9Taz4TMei1xjnMdR0piLkTeBTxAXEZUNe5QT" +
"hsG4x5xl74#mUZ#hKM0vsPshP0JiNkra9ThEYEZMMWztPMdR0piNkiGIxnw8wDQPdvv#c4y" +
"pIb12FKMozTTARvVreWjsZKPqQCs2DqGcibH2FKMozTTARvVr8WjqZKPqQCs2TgXDOAo4Ue" +
"zXwwwGto$lX1Bk7eperfaVozj49F9MGY05RRvtqPda$b63tK5IdnlH8$YawGLcK48zHRBrr" +
"qflbDpF1RcPKfyRqIDxUEe6d4X8nOEkjazuixmSJx1wCwjIO0MjVdS1Q2OaOiFNMIM#Mtum" +
"4knbHdHepO8tG2QoLa8W1Ms#Tz6RvJK#mcnxLgJ4zadOqVbSx6WCxrsZyL8BTKr6T6ijnhd" +
"XVomxOMTcLnfR6nhd9nNdQTPCMETXzgBtBCPACpCQEvcncXslWQhfjAZktd#4UJ4Psl6ROF" +
"GWzkuquEzKY1xi1sYDxMXvsPcxw9GUxGGjuRvpur$XNfN59fkTWTvEXtOt8V4tsRy$u6p5T" +
"QBepmr76knpiRbbGTlwr$jMfTOVq9hExRS7O#Qxl9lWmNRZrNSekj3JTcVJM8vT8$tG9Sv7" +
"Mv0g5m7Wo8MIYbJOGD#JBjj1vUzAjin5BRoErpEWKrWwCpq1motI1$q0LbuL6UlAkvq0kAK" +
"XVqJHkxGoa8Vhl7TuUT6jrOAbVqLR0$jE31AZqhQB8hxxE84V#ebJ#Fqk8DuZbCb1Qmss49" +
"txvzmPniUUP$Bq$ulNa$K5rT6kDzVxmV$N#e9ovLgBwlyOvH$tJnBe0Dlsj1eG7IMlcrr$u" +
"zqUU$TdMW13MNd1il#ArYtfU4jjV$AzAv$g$Hkgvl$zBwLooUUY3MCI$Z7ph$ypggxzIpzJ" +
"pPuxb$q96mEQNj2CLpPbfVsASjs7uN#4CmVr$4eOZABgr6i#3UIhdrYnjGrZzh7BcwFvF36" +
"ja6bBfV8KpoxbqVkbygiVs9wJM8pIMQwMTSrBywAYSgMMwIAlGcZFasv1pEeAUCmrJpceUZ" +
"FDhoHQLXpFrDdDs#qZqB9n3ot2huopHcvUpNDohMoDd5K$FeVavfoy5vu9pmVb$dVC2$QB6" +
"lZvXTREMi#fO9k$RrzZNoczeBiXlX#5YVlf0#JNpwKpVZQTBv1Ty#mftgdrTJgQO#ReFSAR" +
"o5$mOupiJPL1#cyxCb7jUPazehfeqB#elrTd#7s0XCdg$rJ7wgVaPoNb3ab5oXfrav6oRXP" +
"7lABvFCMG7mhQ8YPLkLKkLGqASSgBYXPhaOlBt4i$SUZxLoIrVPJpBGYtJHSKBDTcHV2jHE" +
"elgv9QlCfvbePRfekA5ckn8NYbHkXBLoIrVPJpBuiK$hfiG5I$KP4Vo6nEbQwGwkUMhZ6TP" +
"g6MQMCkhU5oN3ydxAr6wlwXERlaguraMQfakAbweoOvK#Y5kMVg1wkIMhpAUPQ6MwQBYXPe" +
"SIDydBB#dEhdbgundulnzEL7nGars9BykRkdNKPtSybN6iopKCbrKl52J7QdqNQ9qtr6TtF" +
"9LnhCir39TLBnGamFfcuJbDrGdjtoLyKoSloadAbweoO7qTSBoQwgJMxxAU2RENvSJ5I$Kv" +
"43w8c7v1TN9BLzbF1FdByg9YXTgSY1zdh3ydEhabgyodedpv#L4nGirEP0#IrX#HdLoorSP" +
"pyJvitAYueMQ74YV9Ym$fJgvvQkCP#ByQJbHyK9DTYI$EcxfLrETtF9LnhCir39Dh0rKFAx" +
"BYLILiAoYEhdbgunduboLBcI4YYTq#P0IxnRuxQXERlaguvaujoidAbweoO7KDc7Pbkhabg" +
"yodebpstAYueMQx4YbnE#wfQkfJcxvAkDP5cgPBYfUgCc1bFWTltGLrSajNsKy4#UhoecA5" +
"sfo84rAM4wYEhdbgunduZofdAXueIO7qfK9ookfJcxvAkEPE5zPJbIyK9C3QMB2SYBLoIrV" +
"PJmJvudbHCKBDTcHV3jkwTjK9xTybV4i2xLC5nKlr6H7yhoufUTHdTpoLSQpB5xPHSKBDJc" +
"G4byRyOPHdTpoLSOpSHvMJbIyK9CToMyVj$JRKvtSybN6iopKCbrKl52J0waoOLb9TNBBLn" +
"dFnBaoNSGSgJB4DI4RCIeIbXLK9xTybV5Cd2lIHSoHAa9S4x89mLirRkcjIdLoorSPpx9Go" +
"tHHyK9DTgJIUN7BqdbK9xTybV4i2xLC5nKlr6H7yclZbdujrSajNsKyoq8jqqN52pNPaRoU" +
"SKkl9zN9BLzbFCj2BTD5nGirsP6IjzXzzhaDkINYunk#$YCSciKlAogUdu9iylV#JfJkRwg" +
"JMo8iU3pBGYtJHSKBDTcHIlFZbgNvL2UtV9NnB0krJ1SLBzJaGFeoOVabrSajNsKy4#Slou" +
"cA5sgo8tc9zrszeLGdjtoLyImBjKmN5I$Kv40Qdh0SJdLoorSPpyHvU3bHyK9D3gHk2SjkL" +
"2UtV9NnJ9oxbHCLBzJaG4hy7u3NbUhabgyodebprtAYueMQ74Y9$m3mLg8wkUMhZ6VYl58v" +
"KV52JGwan7V$lHMfJcxvAkEPEAzOJbIyK9CTgVHjtBBqBTN9BLzbFCj2BTD5nGirEP0IpoQ" +
"Klg8wkUMhZ6VY$5KvKV52JNOaRw#ufRSNrSajNsKyoq8jqqN52pKva7eaB7jGdTpoLSOpSU" +
"vHJbIyK9C3AV4yYzUTwkIMhpAUYNFtSgBYXPeSIAiaB5UXEhdbgunduhnAEL7nGaqEf9KJb" +
"YjJdTpoLSOpSLwvdAXueIOxadzOtD8$ZEhabgyoBfRejyqq$cd2lyR6GeUG8KAdNOmOXoOi" +
"3wKwkUKhsPN7DKlqwxw7SSyqKNEHrZ5CzhqeShWHu#04vuEfJcxvAkEPwldWT17rJ4ENefu" +
"FZY1dGlB#Z5jwVrATtFALZEDnbRDzleRpPTmpJVZNuwostf$s1MI8q2cBoxuxHIut8$aDYT" +
"8rK9tSybN6ot8Mbcd2ETCGvInqAkUkPP7g4tdMKvtSybN6Ct6kJnV16I76kJw27DPp6bB7H" +
"9uTgKvklMUu1O$JnNl6UqQrZyQuPPem$uya7jU5M2gQ4QD3WdC7gfDRxrbkmUCCzrdlsGZd" +
"PvF#QSByFv9uN1TYgMX6Z4CId0#XEhdrdkOMFCvmd$QUZd1#EkcV9lOnv8CGZ#j2B1NDXB0" +
"GdsRlb07tFJqkUJSeoAie6Vr#wykHUlkDwkHMM8YuUR7lm7gTj4oJuEtAtq9hBUGh9eI0wQ" +
"z1xYSwmt5Sll9#zNxbMvxABNYSsOdtn8tlRFwQBf6StuZgeeiH8t5zuttBTEmBlmZFuHP2I" +
"qDpl3aH#pb9$rIP8#HRyfcq3h5KDDCNVjMlImi$ziLfkUMhZ8ibzHnk#efry3LhyULQX4x0" +
"#J3sXUjCIBydBDbN3UMMhsJNy5k7iIKnLp9zAJ7wnKI1Iw8wiT1vo4daS2F686q9mtU61v7" +
"ZkOtwpd1aEJdfhSYWwDk#D9s#CunjWtXJ#0yZil7juuKtwhKcNF8X3TbNir6lMPbQhm7prk" +
"R73Ml0gpC9EywHkFTseXsy7UfeYCVCc55ixgyJ#Ytq4DljIERpyqaaRywfpgir2RDIDSkOX" +
"5cg6YDc53lcbOAjxKKCnylmUnt7mRR69CnArInc4cQfQeoOKUoOLmgsjWGCXsELAIl3mRRH" +
"9CnArVGo2RDKDKRCA7RCAmLRMmA6usLuruFZODl99CnArInb4cQfQeoOKUoOLmgsjWGCXsE" +
"LAIl3mRRQ9CnArJIOX5cg6YDc53lcbOAjBG73yJ8yKyjniAqt2RDIDQkRX5cg6YDc53lcbO" +
"AjBG73yH9NvHfBXeFjcYPXLgfcDPCmIrLZn8nYnxnIiBKbO3WSgqnP6GwsQvc4MQcQDKp2B" +
"5MD4JEA7VDAmTQMWE5mh39bPJZOBciIPgLgbZO9irGrHimeTimh1LjR0eR3iSgKbU5ucdyw" +
"RhwhQxQyl11ouClWqcc9RpwJo5UkIF3zibViipDyvOelBw44vw84VKG9$gBl4rj$MwLe2Uo" +
"Uzgfs#7#bhrYOo$cQRpvJNVZM1hDuf$dg2BYee#2T4557bgQrfBrVmdmghOxDnSjwHt$iE2" +
"zxHNjPkzwkjDlPhcrPdXLSxLglsxtijUmUrblMcmglpYtTfkBrvVVN7CV#H7b$okyFNjisu" +
"t7yWXr7#GvLsd5CUHzBrDTX2xU#z5VoB4LUoNDU9pOVBrp9WvSZhvbIwiju9S$UfdFE1Q$J" +
"cxk#v9jyQRm8#tN3$4OWU9stOBoSSUMFe$4tciXIcbUQ9yDMfTsl6TlzF5PVy#AyahL5EUX" +
"4uRN1mXudiYpWfViVlDR0QwjMoclxLifhbrRAQsWhvRLFA#MrVolbTMWhvNLaw#JbZ6sbl2" +
"vgfRokQAMyhcgbl6vifRnkRwMy9hSiB#jYp5VP5OKrFiZrNkl#ihpOLzwibwsvrWlMyzRJr" +
"hFMJ6kszQJriFMeDSkQPh4lQilV1YrkVOTrbtMF7Z7bjy5Ro3RsDzc#GrOIpuKutKM8Fgtp" +
"dRKRheyluF#fgNwFpzd9sLxORyczpQ9ofJ5dzvPkBuxcMsFERabTTB7V3CDECyv5dUqaH##" +
"vE4VlEQOBZ#LpzjjaQwUNadFg$Hxg3uHFaDlRpbho2jVfBR7BjqUvv6cFZjN4zjYoHxrlK9" +
"PtqagQyNvFljuZdb12x#6XVBtdQREep6biuVOUHznHBDzxdCELy7zQelUe74rd1ES8CqFte" +
"1O$JrMtU0uhj7WE6xPu3XVolcNTbklPYfi3dDs9VBzj9$IjbcExAqjzHTEK9f5jbUUJOeib" +
"$WM2RDVYDVb1I#TWDsDFDkJmN8ldy4gBv$1fY#VmNOldy6kBdrVQjdWEAxLu3YktU0vRjtW" +
"E8reyXnO$qph7jLGELcsB8RVOA65ztcB8yreC#QiMG$wcnP2$RJ7axriC#SSMG$wvnP2R$L" +
"nK#eJ$lcdzJaDyANqIXjCNQccIqCfgosD2htrNolJxPkbZ#GG$3H5s$LZwc8Qrru#TdSZpS" +
"jJI956xq3hKEhESax5b$pLhUgA$z95uglub6X9e7p7jIzvBQXxHM6Xf4kel1NXVMZjmFSUA" +
"encV$s$Ufy0$QkQdlu$J$GSUizB#kw7Z8jmlMO$GXay7DO4X#KR$7tZEiDR0pjhPES3#qJd" +
"KsRly$mSk0dRxPFztmqN0RjzMpUwXLitkaLRDxh7Mt6VjQdsVRINiQberkwLQDRjbMZCxw#" +
"Q5nYwwfBu17ovwTlmDUBfePtMFknj0rOtG$nhHtzykzupn2cGbqZNuZ#HipnWlPow5khXRP" +
"2czkmBRBK6M99t9KgHB956MVh5SfM$mBZ09mnX7zopCIi$r9ck#A65ZwPd7bjY$7vHUfhpF" +
"TJmiBUYlFQRIgtcJnQX$cgZOxlBDD1DzgPbmtZEt0U#zH1s#5#fe26lwxsAnDa3zqqIJCsi" +
"3WVvgayXqjYuNMkjzU3fj0pASiYpEFC8si43rJlEpkf6Fc#NelTWiA7ykE0hHt0dBpMJEWc" +
"FOnBlA9A9DNCLN6UDnaxNqOFj99X48T1zycrtejTQXZQwvUP5lqZEVAqqYRAxagupnk4P2T" +
"jBpV9C81BeF$eLIwBNMq7VnkgZMeOvXTL7a$AYLUObuwULyPhMSbnZtGnqDIJ7bej4kLrQM" +
"WCGGgIuC1RAujtW2d#aOpkAAB55EE3RtBoDz8B5ygKvmwwD8RwztWX$JCPpUYlGf9pmNxbz" +
"6reR4ygKwpfAb2j4TDPLbr3zTkDM2Z3MsGt7ya$L2Y2##6y5ZSf5fEe$GXcrFr0jD4GWi5d" +
"Y9D9r7QCEsn#c5fWW45WkyH9hE8xHXDNgdNcWAH#2nu3Y9D9r7QCEsT#Y5fWW45WkyH9hE8" +
"xHXsvFrGbC40ei5NY9Dvn7QiEs9Ug4f0e750Y#HflC8RTZs1BtG5870Oe6NIDDvX3PiUxnU" +
"Q8f0OB70IwJfF48RjZrMBpH58B1Ou2NIT1wX3TiUfHUQ8X1OBF0IQJgFq8Pk$T5weIaSWSV" +
"a8jDq7g4Dsvwa5veY45Wiy19fEe$GXZ7VM2yqXIFmM51IaQRp26tOTaEzq1I1m6A1bqZJUO" +
"GsR7kNNcYAG62nm4kawJn26xOThHUQ8X1OBF0IQJgFq8PjJz8BJH48B1PuYJITHsZ3jiVeX" +
"QO811OBl4IQpYEqOTlZz49J10AB1LuYJUSHsh3jqNgXAGA1nG8laQRp26tOzZzweIa2WSK2" +
"Bv6cymXjs7OZlT0KWS1YWPT8qtc4DcoxWLveYa1WiS1BfEayGXk#TquaAyRl5fNEmNNiS8x" +
"WhaYKx#FQPxlqURQLatUBGXjIcO9yDaTsjtR$rNHaVufEg9uZyvXSP9hE8xGH#$jrGlK2WS" +
"K2Bv6cymXjnFu#dL2zG62nm4kawJn26x6$LoTKBn1OBF0IQJgFq4Ri9#k4wWK2YmLU8atd4" +
"ThmlVU0JgYU8$2ON6IQpYEq4VifEg5wWS1YWPT8qtc4DeBxFJgXUex0Oq59HPhE8xGH#xjr" +
"GlK2WSK2Bv6cymXjnFukdL2zG62nm4kawJn26x6$KoTKBn1OBF0IQJgFq4Rixz09rGi45Wk" +
"yH9hE8xGHH$9kdL0zH#2nuBYBD9r7Q2Fsf#Y4wWK2YmLU8atd4Te8xkVfXEev0ey59HLfEe" +
"$GHkpFrmdL2mGM2xn4ciuZj25b5#RHfEjaxrlh839FnOf#bvElXAXVpqnVodsNCxGBhHVW6" +
"l#PfllQRSbWK8YTJUqRvAywLc#SGQ#tRsE$wln2VaFialA$MVbZTKBrubYDbI6BMBPCqta4" +
"HrTwdgCJgXS8B1PuYJITHsWZzcVeXEe50ei5NY9Dvn7QYFrPEg5wWS1YWPT8qtc4Dc9$cqw" +
"eNY2mME0bqdGUeOtOdwiJgXS8B1PuYJITHsWZzcVhXEe50ei5NY9Dvn7QYFtfEg5wWS1YWP" +
"T8qtc4Dc9$faweNY2mME0bqdGUeKtvNpEZ7h4b$RVStzWlMSH9$4EzVxjEg3vCPvxVEpywF" +
"yaqdKU8A4FEpoQoKG$d5sEfY3C$$Sg1BkhythqyrvL3olXDv$VEr$u3Ea497d3OFt7nM50k" +
"aQRp26tutjj99rJF4NXCBZ9Dvn7QYFqEEg5wWS1YWPT8qtc4DcA$ZKweNY2mME0bqdGUeOt" +
"ORwSJgXS8B1PuYJITHsWZwliwdL0zH#2nuEY8D9r7Q2Fs5#g4wWK2YmLU8atd4Tg8$GKweN" +
"g1m6A1bqZJUOGsebPsr0dLSmGU2#fGfEayGXkntrudL2yGM2pm4cawZz16xBVM2TKB11OBl" +
"4IQpYEq4VjjTKBr0e750Y#HflC8RKZPXNbePbdaTNMMHLwpZmzdMMGmPbc9PsrAf#gV3ABF" +
"sc2hUTQ6fzDPLbFdY4JpfaJ6sUMEJVPyeicUJpNLq#xGD4$xBhj2SwJEKkVFufclSFwiQGt" +
"6PxvIZouxiheP$2tH6No2WMO96T3$Q93$Yo1JrN34YpA8BAP$M908SXlk4Hhi$90uvrziNn" +
"MSyyT5QuIUyytjdIsLMioBb7d4E7hEpuVf$qSdA8MuQ#l$HyMKQJeFnUOOdI15t1T7JF6GQ" +
"JeFnUPedI15tBT6JF6GQJeFnUOedI15$1w5cE8XqtGUYisHEa7AaSBYIDL3fkay59iZT88K" +
"yNO#Oeg7JDDvX3RUFJh1s2xkj7dtg1uoJUUXs9og4wISAYnELJraciuZjF57wGGb62LACah" +
"ra6aw3yNcS9qWHNnp0J75GwRfF1IROtM25F6hAMAAXqpJUGYBvn1xBYfSBzFfDOFquAbnU#" +
"d3B5v4xCMeSBrC3t6OzOjyg$DHFT8NuQ6RAxmTdIkeutdyAMBl8uuLZkVUHrmdKtbCrOPBS" +
"Zpdbca2Yy$2dCaFrX3hNzvdNl0rNHeI5eesVQ6MQGABNoHsOFsB5rnRqf2mKBHbylmbNM3n" +
"iyGEh7$sWkjU6X8MYhPCdZ#d2on#ajY1zKzSnpG$1HQAjaoUFwKBB7wKs87rZrp7D3y65eg" +
"sJ9u$fWiiVf3OWVKFNCSqFmGMYhPCdZ#a2oo#bzY1zVTSnpJV1nQAjaoUtwSBBBwJs87rTr" +
"vmfuQ6X8MYBPFdT#a2Y$aIEx2UxmN$Xqv3maBHbibpVhh0uXk97LX$mtLCyqrWeMZBvFbDk" +
"i3YQuaTM7$DTKppTM2XQCla#NMwmE8hYHrOV#K5SsKQ4XQAjaoUNwKBB3wKs87rXrp7D1y6" +
"5egsJ9uVfWiiFfNOH8xndt8TqtyQM2ZQCdb#cYwm#4HY1zQVUC5RppGaB1HjcJm$IHTOV2w" +
"n0#lFkOvfFWyi56sPF3zF5rXyBB43wu#zu2rf6X8MYhPCdX#d2oo#bDX47iylkOxflmmi56" +
"sPFBzC5rZCazY1zJml#EsDXeI5eYsJvxnqWSKN4Zkm$i8BlX1FGy92qPR9yujqWKMLn0wig" +
"xYEQQe22qLR9i#gT855fSGEh2kzoi2$Ch1Gj6Noh4mNM5H8xC2wWkkOfYAmKBHbygn85rXq" +
"bDY1TKSl$5$KZe65eYsJPyTqKR6bjVy2vjWlH8Mcycsubp6TlVHX5dCGcnCLhfVf8GwpdiE" +
"tEXzcyJnYpqU5wuFq5oGEYptFjpeVPl4SOgbNM8oHpANy5TQpY3qR5QuFqfzNhh1OQjnU#Z" +
"2BPn1x9YfS7wG$9t5Ox1c#rVamYwSHUpegN1#aFojnMEnfljNvC8kd47igAbmVf3yZSLZiA" +
"RxL#J2B9n5xCYfS7wG$BN5Ox4c#rVamYoSGUo8gN1#aFoLnMEm9ljNvC8lPYCsE2jS7wKzA" +
"71QRpRSw7xfur$YplMkYmlL1#XCIXyQeFculVQG7ILqeal3GNP6Jl7TOlMiYpqZCfMjKMAv" +
"pHUvpfHzxHcAkpbxw11xbVrEM7ZhBxByfy$$IdgktT2jSXkB6$f6K$wRCMxofLSF$MtYETa" +
"zrJs4#FvVl2JJL#ONz#gmzJixyhCV9PSyrEz#eRuUd$PSjisQ$ARkdQU#SYF#onN82hoUsb" +
"6bDZcUwl#FyhO8hB7VLCMDBz5kHXyLO3XTyZjNyWd6XSh#9HFXC19#JoE4ajfX$mKWiLv83" +
"0Y$D$IPoihwEZ9p#a#jD#hAzcN8otryhKruT#duXSrxU9gANhPK5O5vWBzoMeiVURu6mz$X" +
"VhEy2ky0kiCjZbovjvh4g#HL4upVemxEuqxqy4nOJJEWtw5kmbDhdQ4pdxhGdBPpDH2dNqt" +
"4L$k$cgRDmSPJtbNHjnDaqElDnjcoDxK$3UxFosCvHJSCknzlPj7NMoVzNRETL7IRquWwO6" +
"tmJX6BRPpk$btaQPp1wOXeUUtRR#SXbNy7CW4U0DzWTatXYQ89Y4U1np6nF8MamnwkO#Pz2" +
"ycxJYGcJfwLx87QhJbHCrOEdfNiWTejE8fYA1qzBzq3iPfr4C1KFdfRkWTXDEebWAXuyBTq" +
"3iHjr4i5KF7XQkWTYD#WaWgbuyBHq3yIkrqa4K$7WQUaUY5sdamYcui7JqZqGkrqd4Kp5Ww" +
"TfVVfx$QLDO1teQ5Yi0xs14YT8OpePvglqJnCoafdjHVtJX8pq1dc3o9OaiZ2TP3Q8fFp3S" +
"CWixfycZDrWv9fvpiR2$UAvC6thk8eki0li0hl0Bh0Bx0pOzchs6isDRVUsr$udrqc1NM0N" +
"s0LsWLrW5zW5Te5TO1VO1NQ1NM0Ns0LsWLrW5zW5Te5TO1VO1NQ1NM3$qx6Btm4Bx2PXHzw" +
"cr3zRdhAmjodPKw$cjoa7koStzVciy6tAMBaZhBr#db9J$5k#KaUvqP1gKUPjqSvEWtiIzK" +
"yJCeBbihwtVhH275$LUUixjTxw$hT#ukkzNCTPqL1eGVtJXETC$TE4ZF3d#udluOGwi9fFu" +
"mYz6xVotfKw$riQ4h7lhDseVvg8MdctZ7mWymbo$43gQDYVBsBi$qwpBDG$JOJPO4$x7yVw" +
"nVpSjV#Z$wCm2jweK7I4XX3$mMVVPbAVkvOw7kPhw9yceN#QbAkda6DiYRmh39nyxuA8TuM" +
"TxkIGu5rX$NFuetclP$ydJPmjMAyNItAqyzwAzVfTlRUeBamDOebtXIFBSB4$aFhhnDh56i" +
"QnlJUP9Uqb4rdeSEzDeICyLSQyDn9ytmXrD8Jr06gl5vQdWatcKt#TC4iQUaTQ1hcy4#W83" +
"OKnmn9xTvxwwuJbY7tfTPaZ2x5ni$HwwNNJk1dDZ5gQXAM$6jYz6bY$ohNEBESPR1yn5uLQ" +
"ceIblnpOlHnOloorvHPgQHAM$c9Wzs9W$M8fmvSIkRTPMFgSm8w6s1UEIdDASr8WLVGvPc7" +
"fBmHsBmJeBvHUI85KqLym2qj$Fh1xFa1$NchBeZzl5fO#Dx2R6w3FBSrDWLJHvvg5fRyMs2" +
"5ahsHtirSflIQrPT5VCmjBVoMmUoMmVaLgowA$OXQM$b9Wzr9W$PBKbaL$oImi$Ot0xet0#" +
"erIOWmqeBzX5fR#OM3tOM3zOIdZzz#efKbO#WU1tGU1zGUb3z8m5VGFpCBItm$itW#ito#z" +
"duQfeBzl5fR#Nc3tNc3zdjIMHN$FB2pztS3ktS3wtL9YHcX0VzSiBFsTmEwTmFgTKhbpb4H" +
"$nomi$Ut0xkt0#csfBOl#jbbO#bk1tLk1zLkbjz8m5VItpCBItmpitWoitoozcOQfeBzfbg" +
"XTQ9rbFYQkmlZIN5$nr#TxAj4k1Kw1it1n8lShv0oeNRb$fV0ISoNl1QPhJpgI2cy0X5cuK" +
"uDqw6JOebS50vB#LDmvv3DNV1dEdUPETsUu3xAK0Ng9OhlFQSlfiBijD6VrRejaerntAHpp" +
"tMKIsC5T9bHU71krVL82konYo9P$fw7iFR55ZzXitsrWNaJ$Bnc2GOwnkmaCTFaQlzDMhYH" +
"iANldJNSiodyRJcU1AyYNs1La#JoRZHNoV5svQjLQkAiiV5RkccLPhRq8M6rSbjK#Yu3LEU" +
"dt7M1niMJbqwyxTyYUP$et4Zn#FqJvmgttgYVkXhZNaA#THuG5#qQ2bxXkz5vHT5#p#AkXM" +
"3knxTxM26kaYkt2nvqf$QN0ccwPjVTw39juhtklA#7NmfZGlUQ5ryoKIUmAclhh94XxBHGm" +
"eLl6fFIan2u5N$#CtILE6IjAJwR8Cym4nxJq3CLcnnJ8scEQo0C#PWc#zbXwYkL2sogGdSU" +
"IxOQiY$Mv2EUdKYJuOcdfYI2NxBNnH8ey5zJ6SpGNojHUpbu#ojHPAaJpwJUgEmZavypYVy" +
"7jQ4yeFLVs2oHbloh2lXPI6POr#DvbxEkNwbT5z5yG9KCPtaoo4uwAY66XiIWM6sjeZz4VF" +
"sVdQ3t7i7QDfAcnw3tiQ8oGpSIU$rVWy4WiWUL$m5S35l7Vu2jTBFeVGX$0UZkwZOkqXtp0" +
"jZ51skjYVKFWfBGvvlCwzqWAhosqkT$yrqk$qTgb#STgTpRQrwzqPJxyxj5lfT$uDYuyrzA" +
"laD$ODYRWyIfVAHxpIEinyF1VvHv9aUpzrn1xZRAd#MlO$q9Nwa7p1zPh$cjy6nUHwo#mVe" +
"rkuuAqdyLAyQX76dlgypFtI4h0$iFIp$w7hEvVYxDtqSzy#jy27PWF#oSP$qF$GxwD2y#Lz" +
"b$WQVklH$zrcuuPbJHFF$Lk7#s$vRymv8t5MD21yzAX#E$IbMBnCruvHFzTU5JIRLoGzXbd" +
"3xoPaT55cw$$RdfU$dji5UT#pYw2y0fVUKq0xptkaHHf3tcFRME2j9V5#Wf7IEJr4by3d9U" +
"vHrAaFUHbjeq9ZiXalZBCm2DSl35ybJZUPEwH56aFcSosCO7$#tnbc867KgxFIN2EeXx##z" +
"mZATo6jTttzKVC$qXWLNA4o7s4AIB3Tk9ebcsx$iSCBPpviVi88VFmFW9lQULxWliygNGVy" +
"EW$X7UGzn5YJsTC4MZjmdpAp4$FRNQMBr6MG7uvlDiXZi$Btiig6kA9tzQy5wCwDKRzfI3w" +
"fRL3D0tRkTIVONp1FQ6P6s91vdg9NwsyvwCwDKRz6SONNkBtA8bD$U6Z$SSNWMqHcpZ49Mr" +
"8MnoRzgXnMikLf8fKaqwaXjIIEb9F6aWZMOmiJfOWIvBEP2coD5c6B4kM8rt8ycG5iY9PYN" +
"GbtSZAP1NIdVGWFScgP3MoEbc3h4bwaRL8RzA7h4tMmQY#7kbBrYVzI7yoW0maWnZsHcHZi" +
"WdP57EEpSaMP4ko5HcCCyisc4LiHxOdEv0TCPFP6JEANJ6ds1rpcZt8lyYUvDyPcTDLChUq" +
"pFSZ#vC3M1dpCBUH4sTkmJBEWnYPKpv3oJ2MqzuPox0NF6GP1chBmE#MN0BhfjM#1Odpg3E" +
"MuLto7Ys3jR6rIUOo32EJWp9CJZaEip5$p5E6#jGoV6qimneGUXoU94zbBiDafGpVQykm4N" +
"aSyWGaJnagaByim$W4ZvgKjbJ1oa2PPId3RAKdzuDqrhRTi2TFpb26eK2bPTY0R2ZAq1Eem" +
"nAefZBmetuWEOWSJ0uXXvB3oE5a53c274cE8aUJOyX$oB7aE78yEG6be#sEbj8YOyZ7A545" +
"EHDppoz8XUMo#uRrI9CzePwC8vUHot6anfC9P2Av4fghoDNa6d8jkOvSJsuWDvARoCta5d8" +
"hkOtSJkuWTvAxoDta7gi7IZgGt4#ca0TOBr#3p82c7tAT17q5UIm7PxN#nh3wOvoj1glHMa" +
"nm$ZBWF8bpjbOCE5TcvCpnEEVluJKBdFUJkGEl6JWBX3ZdEb7Fa$DoPZrlXk1S1wyN4BE3t" +
"EiMa7E$66TBmxblthR1Mk0mmVdZe6ryWTngaLVz0d3kXHhSZt6sME#YdEiKph8zpmuuMnav" +
"qpw#d#0yWs57EURXR0E1SXo6iezX77dReFLIBzh6nm7dBmJdke3pMnavzmFEWu8pnPQ87pF" +
"4IU3y1H0vxnV5Fdifff9fP3hZFOkCiJOWZv1zMEndbEPRLWewMiPhVb9G2ZjZAIfHy$MY53" +
"CNiEOd8LVAaSvyUCtp5ZwGSUMjfJxW$AtWN1bmtZCpvqb1pVCMsdJEimJdOUJJ66SvOgkSP" +
"JrRUUkPZTYISqsprtFOmWSApiaMtfHwdjrizKovKexpWrufwzb2YCO7ubmTh#UGSqFcNjch" +
"sJZRg6dAaPu5neXwfV4Ns5oBZoIN9qRizGFECpDovemuvppiA0lEQ0pQhuKvE6$9DCJPXIr" +
"tBy6k8VVvf6diXa7s4ep6W56jO4htydX$6h2h5Uo61kmwjoWxEfkj5qTt39irSQRzo5xMwe" +
"nThOQT7R3hrS97Tg#Wlup1N6cWwD$VWwbiTo4xIyp87CaEePPaHtj3FQuBEBj9w0qLejrD2" +
"jhTfubHVcZkkfjaLLYLkTd9V6SYtp72BphBKi#RTkBiNv6HNIthNVcFh8syre17Bx2hnB7Z" +
"TLV3yE9zLXnPrAfajsH6TlMib#LbjptOqV5p7xIuCPX5ZSTvYbu9zBS6M0CJvyB9YRhBEgj" +
"kMhlhnwvq1efsLybwC9#BsgBkh5HsMUjkCh1btUclL$UBN7FtPzUhsrjhPBppr8#XsYbt6U" +
"WrznyeIpzOqnBFrjzvicpM5wcrBFKBP9nLnSQE6SXbU31$tvUCD9J5YfHbRrOM2tFWR6NPZ" +
"zajgRDJsFKGH$a5Oe6T$YuQjQDdYJX3EGuEjsYgPQt6ocAw9rWRAKqbAyqCr6IsqbXiJc#Z" +
"ncbBatLNYskVIc3BqjI8EtOlC2RwqfZkIT3IcBZ$eU5ErspSwzZ8ORCroNq$R5NkzTQQs3O" +
"VztuQxdKvwftQqYlhoJ7kzDuGlOT2kLFCUlI5nx5zeXcvpuzmxyNocPE3EsqNDfDAh5#XNN" +
"m3f0fMxvK8SUxrJ6WvEpSZzpaHxbREUl#6tO#SdC2b9QfY$2dtEfJeSUJ#19inwRdJ8nX7c" +
"GcVDExFHxXFoibz87ZpcMuSUHRIgaHxVno8Jx1UKOcpMdRkb4VsziwvhmzMsRY$1GyJ#nv0" +
"hsBStnBiwr4UC$TP2GHwxp6DUrs4Um$6$IrmpiPz4cfoSi2Udd7ZEL3kLS4zPZeFCN5VNyD" +
"zO0xk6p7kbP1it6t6t88t7MU6iNcssklgH9lXp2lPlUZoVNLInhxwjQRDV89Uaetx9sp6iq" +
"y2Tp#qW2gaL8g#IiTBc$NKoXpjtSQno5xld7kFpBE46V0mzTMweAzINlG8KUxczfviRpDXd" +
"tUSwPkvpL0kje7z7AkTwAjqVAbZBR7IME#pWbaQdmrz0nRv#ceDuqvdGrcvM#oSD0nrbDPN" +
"wr575BqkXNilLh8VO4FlprQoirbD6dUhROJxPDvNhTgCtFzW#TdiTvfAzljHjA#AzcxrHMt" +
"EOFK$B4DVhSdMLzbnZRSPEtEReICChVauxWpML#S4VRMEbQyUHyTKxtN8Vo2E3is$1dEBIh" +
"IQpcNQJ8y8z$t473WhznfMa$JUZIskiVHjXhRtliXjad5EeDQx5QjtFVDP0VDALZjyTBSoN" +
"ujalP8yaPn4JYQZoIc6wweQ714Bg#vQP7lm78uZOcFT9#MwAkovTZ0pwudOGYwBw4FwiWn7" +
"wd3M2fy7ionbgM7Ml2nsgogBdRiiQ65MxqLMbaciB0ErPQ6jdvTbFBop7fVAHLOMMunZkh9" +
"K8MsuWRyTyEyLdDrid5qMDdzwZqWtA#BynnlvrsZ6g$6BeFuj9lgsb5R$amB#VTbepcT65O" +
"kWN$SLCwVmzvzwSGLMcS8$l7Tb1UFIy4KoBbMo#tJ38Jy8xZJCnzWQ4tzbXiHxFEEVUOQKd" +
"t#DaVzmTfxYOsXVjgKbukDgNOR#MwdqtwmpZURaRxFh7Pin2RVXUI5B#x74V2Fh5Lb#$fQ1" +
"VmshRSfW3lj5W8wcTLQrc2bLPAn$MzH$oysNJBDKnfVCHzklOBLAvxypHVknKkfVDtvQBTX" +
"#PXh7ppcivdcjyx9OeltGEmOc$XKH$Zym$XKjE7wQse$56CmKUzwAA2FAlow5VpX$c1pK$s" +
"HnJx$v#Tj6$WE1HLCjFx9G$cnlu8yKmH#XEgpWp#nRX3z3rlBt3Kl1l#1Vy2$u5$mB$WN$W" +
"d$1l#1Vy2$u5$mB$lyK$WmF$0MZWly$Z7$1l63UVCpfNKNEdDHcPQxaaFAcBaiNz$$88CDz" +
"mbgMAkgDXJkdCm#VXMXAdITgoCOQFGuLf39YONfUh9uqiFGpoLd2SYmvBsETzmgPP$vjz46" +
"5KvJnq#GPyYnvJadVAwsrn1athRKqfSwDpu#8rWABohJMig3jdFHZxNpW0Z8VgcCkx5g8UL" +
"7dHPt$S#kSJCx4V7PJwZpwtfV8RmBvYdpDQvbXJsRQUf5gO4vcOsNlQ2lC7s7CCryNmEDDh" +
"6$J$CaOyZxvW7n8FZ9zXKB9PpnM#aRJRxdUjyhtfCEfoECqSZevWyn5w6No2dcLl4PUB$f2" +
"o$G5og6fp9iqdyHSA#ltJm8kXb#VmpfGU5Us57DcsOzj1x9jqsTbGqLw4sPbJQhp1$t8Oc9" +
"ENYp7F4XV1CnZZAEn5nMx3FD99TQIhMK6hMj8egxLTaAVsihENF5hgJgFlgDiizOoWVNR2e" +
"PI8SvPTUBjW$gqrf8yLsLdddTKZ3Dd#KsWlOqp3qRnEbxZTDiop9k$peCIrBEw$yVKkUGjP" +
"pQjhyvXhyp9$DIbTJ3t3VF9i8tpipeRUzB75ZRsDDjyiYzQJyRv95AtRxdv970jtXOH6YFs" +
"Sz6BWlbas295wf9iAnXXs#oCbBm2HhuVPQHfSGMZWb7pNYdLBjWTIUqCNgSpFJEgkr$QCyc" +
"EpkepZuUsvXY8EPRyGcKiDGSxNTtHAu4yTPTaAERSmuAuEXejA3lw$SbcOAV45vXTUAOhs1" +
"Ni2dO5ku9TmQvWLx3xfxFZzslq2tr7sbVkyJKJE$g5ycntEUXrjf4TvHUlkGLdXsr6ThxFl" +
"lsNKdkSNJCVsJpijZVNdPRn0jUTd#Eg9#t8KaoAsfpiihUxREp8FcIVWftcEowcgqL#Nu$$" +
"umBOqNyhI6F7#Wv$0gZilnKmgu5a4DlpVolefUGV$X9g#hS2MXD30$jz96jeQKrS6Lw5IzR" +
"y2Q1u6usKEWDhOaTPiz4dSUrlP4tljClVuxwbh1NEDUnfitgc3MgQuTDZEb1bIhyPcvSplV" +
"OtSxRwf74sjGxcRMavLyOvDwMULSw#Ue#b7skJ0nU8iyt$oqNbJBzleFYevu7o$x$1lquHu" +
"onPi$D0lwoS#Nc0jGqhuDmhv1pKH3zMLmD3rlauColAUMYadgM#Rn1k2kUXOkImOssZXZ$X" +
"sDHwbfpPlfavoz6EQLCvH$XdQ1kfd0FqfhHd8sVbwO7cuvoiaTR4MTIdWRE2r8oSqvU2Sy6" +
"vuFm$ptc1Vb5Zo6VJVsvbeVF91R5lQ3RnjqD5Otpw8EzlXymdyWi##PmyGkRbOyf$mUTCvI" +
"$uKSPMJQ8CJM0giDQnrcskcZGl2$TtuOAHfbN9DskIxJ#ulbfWHkhiaSqrsUnne1oTv6msE" +
"JePnuv5FgAQEPkMWdF1kU1SS2uu5vmBpWNdWdF1kU1SS2uu5vmBpWNdWdF1kU1SS2uu5vmB" +
"pWNdWdF1kU1SS2uu5vmBpWNdWdF1kU2yg3X7dwhApPbz8OozDK2$RTPYdCc3fdgEVjsNVes" +
"j76TXcLBFv4Us$UN$UpsREMUfvtASoULi#$C$gJrppWjUp$yipl9RNiexVodlFsVYpDErVJ" +
"3iemNdvk1i6kioSbxaJxEhk6IC2JSenwK#$yhe5UPwpdhk9fzZdPUfdkKRjvfwZY1#KlQBi" +
"q4R8V$DzaonLUxjs4pdGyxTMgj5tj9egRwuEiQyDLkcBxRKE4th#PysLqfhrtIkH7vEcIl5" +
"$k5MU2dltrfbtk6nLaXub$jNZV#1TtWM8IuRzPgRQKlX1ZMW$xfV9QbYbkBDTl6DaDJlkIX" +
"zF#CLMzP#H3v7tv#No7ieUqjyh#mbo67PR2L8UnjNba3Vnugo5cKjobgKjIXhKTQYh0kfh2" +
"ruTStsLxHy3cAlEHPC7tpbYiNulEwJB5#v4Xx$pLE2WDqdx2rrmpUVmt#qOTTXkN98hoFIZ" +
"yrr1#hhACAZtFs5UybzpSNBQfzsxAp5hIMi9QtErbBMqjOorhBMSjBEMidgQdMpLhPMiRgt" +
"1AzoRIhGPpYEpSkhTHx7RFMblv9dASeRzQsllWIx5gYlu3v32Y#HlvdT0lDYPvToetNPVrY" +
"JJ8DmgpkEBS4hspYHPIbu5RmANWMlWbV1g#1Ly2fuDPKNgSHyDVQDhl9FsL5URD#AVXlafH" +
"5eOyJrqPdaB5uQ#P#QqU$noQTroCGifGcueZJa$aNHNiXtwSS55ahOQjDy7AsUaYDxtYF2C" +
"Vby0VarLywYtjbnKtwhPbZqRbspFFN9qfNs28uBxRVgfXnrUh$7l6IxtrFq7bOZ6mfTA#Wz" +
"9euH5h#cCBptV#5ky$$V70ASwFzKjnXR$i$QsdD9vFcaHEeROlzEQwt98eSYXoA78eSY1#s" +
"uNo0No0No$nHoS6ryQPvxDO5bfkkps3#3QP$1DruRHvwEzpDVF#RXvnkUZYSFaOUnVJGBFs" +
"B7ww$S6nBb#4NI1h6qyB#68cz8fF9hxgUrcnklxDD1qNytnDevMO$GXl#1rxGUalaV#Wfs1" +
"Rk2NS6kO5Um#$$CBgPFVRDIiTEpYzovPFl4h8wCf$znHV$RHuDQfdJyFwxo$4Soh5uoboAI" +
"zsTPIaz#Pzi$oL$aRr8YNYHDbDxgaAVqLfVoJxdpMQSeFKgDiARK2fCUGSXOUjAV361FBDg" +
"oz46A$Xqy#W#dXjAJlPNoTCZrddENvfg9jWnEfCOolAsOvRecR0FvtlfbeUY$lAMsd82JQ0" +
"FbMWxh0K7BCItaTzPoWZQmOFLEMmwhz#OvUgq7fRLWP6eXmR7DCRQa8RCMqcJaM7lREnAZo" +
"CrKfX2v9Sh4$y4zMYOvNf2z8#yk0LbNSarTbFz$ODgV1fh$FPw58kzWQt9Xxour8MzQUx7t" +
"flIvfloxFV9kgVUwpFmIkRPoVhgZfZzscRzrjc2ZEEL7zBs7pju4brewDmsOPHuHqf5vloo" +
"G2#G2kK0ka0la0ld$0x9lcAqNo0LoWLmW5yW5Sdxaj8KXD#st79jU9qUmMlWRve7T8BRLFB" +
"6Jynf$GNmjxBL7A$pDIjnDuNVEbop$crNsUmra0x9XwsXR1NA1l32HC$oQcNBdESjlkGXDI" +
"FXbx9dD$skc4llCP8Uqd$AC7hvlTSp3qLe#9MTmj7gPyxO6nVDUz6seG2wG2#JMW9osy5z5" +
"$NopB8jqJZvhGohrJmQLVNQ0phAQFaSiFDEk7YnuwevKufclSFwiRGs6PxxIZouxiXdQLfo" +
"1jfs6pyJ5tkLdgQQlvOD1JDE4RqiOVjlVNdrg87jxPpOzCimZb7b9WLbW5fZ$L4pWzT0$cn" +
"hWrVd1TKXpuB5jPhpiCmNVppkU#x6dYCKpetihuxdncL4DXyHudZwYy$jP8iz1RCj7z1nvQ" +
"kkYoBF8iyYpoBF8iyYpoBF8iyYpo7EHvIdir3mritIMsiGx5irznP7XYcZl0g$0#$#AvvUz" +
"8W$np7qzpnrMzOey3LEM9$3B$8n4zj#KTPRPVrCM$wMzTtdBIDxYxKXJoOLLZQ#yHqbUobZ" +
"op#YlptfaybFMuqH$VMQ$AHlU3jVLAFzDsUhaw#w49sgKXSkq9cjjq$qTQwC8UiZoGHqpPf" +
"FyBrk59VzM97hME#c$O32hiDP#99tfVzacyZB#Wf6eipehV4zFSx$9Mi5m90sShFNz76$IP" +
"#ZDjCSPxw#bbrTxzsxza3alRzFGozTAqvaNs0ktfHXuhxyWsAJd$s9z5zW5Te5T7hlijsTo" +
"OkVv1dru5YTZilyN9VjgoSIMBAN#EHhZkJljIOll17RALOD5ydstFyXtZ5h2P1knLetEVCZ" +
"4rjZ#ajZak$BO5caQTZdUrggjiqx#ls8tz$LkI$n2RtegGR5fjYST2im2iy1S#9ZXrsEKDn" +
"Sqln#8BmH5trpG$ixWP$#Eom9zfOSCZUPgMgXT99w17V8Tc7tEniATTRcsZgle0hl0Bh0Bx" +
"0Axm2wm2#m2ky0ki0li0hl0Bh0Bx0Axm2wm2#m2ky0ki0li0hl0Bh0Bx0Axm2wm2#m2ky0k" +
"i0lihDYnfxwrpvQR5$4s9SKs$okbHIOqzVaizLyf8q$aHbb7$bMDVyitUFACSeizULR#RL7" +
"oKyRduXB$vsPrYZvfHnuYzMd$#iQjL7uPSyxqF9u#LnOQ6ZmjcCdAv$$JsZpSv5ECWv8viZ" +
"eRsZ9VGK2D3DArH0Fc0Zw7AQqYptOQdiBCN8ACNtimbcceGH$jJqFplGiY#nCP4xuhNFuvV" +
"5#y2n9mI8nsx2bMjTS$Q7oADV6kS0Jd3R5$9yyNEiYFBFIBCSyC$zfBtnNE$eME1UqtVldd" +
"QsFlX9VDKOu3WnWw7#tfE93oxhoIMxclgKRH#RT9v3dW8V8mje#cb6K1qCil1Ng1Ng0Nw0L" +
"wWVvFGm$i1h5joZU$T5yb4Q5c#eg$ALz3oGgS0cUXuaHdi09bGjb$fJ1Tp$F$7g9lml4hs4" +
"UYwIAicQa7VVfDzEctXUvzyW7va7p4PkA6Fi$imkl3txJlu5CTUxSusS$zo7LNU7sOxowJn" +
"9PtcNpVwXV7XcxJE7Pvn90j$qv3sIy$B7B4vljk0qjdY2O6USRk$0oqtqKmVbKiqxkmcRxJ" +
"bZWMvRyDf$icdBY2p72thzbOHQzQ2rR$T5PQBuKL8VHSa3tFz3uYxZtrKEpbNMpaIMgHfxp" +
"tHF#NASFzfond3VOjn14iP9fNskev9fcJFDkbCOcbb#5bP58fcPZ#tITjh4YzsyNhcHxJMd" +
"Rt3yUKtUdIVHqoaKTvP55JWqGU5FaXNRl1Uda#pY7omgsDA5FU4p8W2plQ4t3rK$OhfsNFZ" +
"xGdz4YMDN6dKxqBd$85KJA2bJKodiIG#LtG4Vgn9dxyukUywFSkrLZi7dOavYlti9Cn3PPo" +
"D99OiQFrXZWQxwJKCatlOVYwb3oYFNpDFnd7weAcfu#1R5H5NcnKPRMSg5qnwbAi4P9TQXl" +
"9n1v7lc2$IDdxAKjvzhnTK$OiD4ABqchP2sRYt9za7$POphvvcFk#ZdbaTCXGxqLUmDBUHs" +
"ZQqVSZppsmU7WVWN$LktnFU1FCtnQuuZw2xyTPCcRAjwuN3KjHam5BbgBE82dB#lJvBekhp" +
"tWeSn34C0THqiGllL6RM9vq5hf0USRyv6nRsCJJWpo9#yufX2xtVuRDdOGyS03MamYPzWaX" +
"qpjWNHBh8ApROJqQwnc4M2uXRViIqh4ZVDx0Vd$i$yR#AKAEUH7fqnaaEUOlGlwp2jPTi8x" +
"1UW$MzmXfSpOXnmBxs7MmxeFr8gmFO$sQaECMnxe9rb5OhoRaj3ROFqz8pok0#peX7GOGOb" +
"#0$Gs4BBiXz5zW3xjbaTToksDz0EaZ2UbIHyZ5jV1V3V7BmFT4GYfM0iOBs8EBqmdxZx0$2" +
"aHNn$vPx8TXlGM3#ckmG$lhVIRqxnEorYlO$uYqVsDz56dBOpsDa57BeFxg2QcXzOXrrB#W" +
"VucG7ISW3awZBiTw1o6tVO2L#X#1zJgKVnxquDqUFZNN4d9PP#Ysn1uyRhqPuPd8ipyuBui" +
"zodthfy3y4$6nXDIs9MGdS6#FS#TEXsF5yTW9M5rmV2o7aEfB44TTEEDWUp0XE#y9F$1PwN" +
"Q4KQVEuzYZF3k3movR07zx#EqBlgCHH$dQmlVMty05xU2sNeGiRs45dnLmx5T4safp2Uc6U" +
"bbv0zGFi7jFnVen8NqgWFCqkFT6sM2tooDONqMHSOntxOCLvTiL77P5$RL7sx5xWDyi78EN" +
"2Mat3HYhecw#HTevX5GE10$uL4u2ttxOe#pjWLU5uzkX2dlasU5AfA7Dk3XM7Uw6FTfi1VO" +
"Tgx72joEETILisw7zTiJnhaHTLEBOLww1lD7cEfuE7ApMjWYZVgfGnzKR8Vryw52NrMXV3k" +
"gh0lNTQG$iqOuhKATjmQVYBkpF1IVKstauvXrGL$REuB8OscDNGaQZlM#DOsg3pzPeNwSTX" +
"3twXTCUwOZtd4t8jYZJPJTXlndsgAVXQ2kNewwtHzkz71ndZCSUnsF$tx77SP#2$dBv3BG3" +
"O5wEOtSeZlqLZS06Zoisnlu9h1uXf#EQvmhmFXrjxOfhi4UVFXtjumgK$OmksEFOd87o7By" +
"28TkXZMw7VZk#EtGes$ZTi0VFCy5p6vItBOvhNxILjT1spqDzL4mcP7qSf$RWFXxjhl8XyD" +
"qLuVi9MHNzRLkqvTw3KL#7mXRvjSCnNXzjfJVAUHwERINwzlheSrLekzi3QmUC7pE0tm$zO" +
"3pogaITzGEFRN2yji4uCHdzfjztQ5CutfKz2UcFzjh$Ul127LHkWp2uLwBibU0o03m607C2" +
"#eOBhXCmJfo9upaGUGmSWHNjPz0IE5Q$m1vy1g5#1iqXP8DkX9o$57GemmOO2cSyXlqxX6o" +
"8DhGXnfaDloHa8zekKFVjraGORR8tneRpjq8vC3PjXBuo0sMSW6Cy1VKx0MtfzeknHryu3E" +
"aJVWKFZ3qJLyGUvPYu0$O$478MwkOiy9g8VdSRnhlRq7udebtTZh5kuhlOevuglm4csj9ar" +
"44Fj84xq9QdeCrLhOmLuVEFnHwSDaOVxe4nhYDmdRLm7D3dDaPViz3NDy5OlSbGwD56jyKu" +
"Upx6bohuzHa2FSRfJN7SDaNVg0BdAepBvwC$LI6lFgYFJJ6UkoL2haJREmjjPTYHX5nW8nq" +
"ucw6i5o3lgkCGFXvvVGwRjt2ixYNaNhIHiu5RXMEr6V0kGFxjCRxUYtPtzjR0nBXyByRFir" +
"5lLJ$31yVwNhJJir7t7J1Utujn$coqiIuO6tP0UMtuTS0nw8qwkN9Tr0FQmPNGt$4Vx2$57" +
"cMw4cF97V2xydkSnb3cIHYRX#4uJa9xt0iS9s6T0jwJCBulZt5s4coNHpclmfYvF8vn5VHL" +
"oo6ECQyZ#jzLE1Tqn5Xm5LORxUigZ84EyhhgA#Z1$sgqPHjzxkfDKHwSEwz6tLIXdroDyRq" +
"QEDMR4x8vygd6k5UDjb8D7WHZyzKOFzkWRr#DUgr66xi6xReQTR8IodCDZicgUs6F$h4gsl" +
"8rE9UjYhPs3SQcrJ1ENOjyLxiAUvoFLvkF$I4uTM4ykXPZuUeO1wv57Q#EMTYr63FMGF#z3" +
"cFH6gYZDZyXl1FuutooF$ZiZpQwFyhH0PolEnNbEGmh#kjrE3zNeUwgKM$NuRndVmWVZDNN" +
"OsplYBPuFS8Lj3neqzVlXtC2oduzsjqAECxLQEkTSEoNUn0wZ6zJC3PVZ$gOWdFw3QYF1r1" +
"VDw3FheZsVSC9A2$uFO1sVyDjE5uuPzpm9lPxOqKxl15OTw8jt0ZzdJYUDw9ExWBtk#1$5$" +
"hINJYdtdWXzk1v8$Av6#tpRenxTuFJZU1vDyRIcz0$xduIA$fxDSQZQfo$BZWFUnp3pT7Eg" +
"r6FrJT21xxLw2kROxxJ0MtO1Vu5Q0$L62$MnlbZ2vo7gv77XHZRgr6UjP775i2lnbZhOkow" +
"46Ner0vwjByjqFywmUv2Z2sTK5VhO5pP4iT#I#Ip9UmxOEpjX7DO9#Wkn5ZP2VrsAyGxehp" +
"jCJPTYB6t4yR$TS1rg$iGnhdYGenndT2$ra6x6Lo9CBYtHprTXF6Z4#O6wsBi7WoVJcY$5r" +
"5id5$NHTyQZFgx2Msm4yRJcu2t1lfo9thUmV5eX$0gQDyTqFPxuznRWJ7f79nppm7EEHZpp" +
"i4uTGx6tdDnxZiNRVXSZAtddemL$UnSS3mNOvurcqxmCCRXN7duSApe9vqmXX#AyUSKzDLE" +
"6BCEVmvxzE$3qHwhKBUTq9QhCUPqGdmisdurnjIEIAz0FLJiY7CIsb4NZESTWTyLv$5JK8w" +
"k65ShK1Sr6C#xOTvLYJPVZNe#1Vsi2zfj5upXowCEbiTOiZpwoGgObzHWl5a1nxS6xQOA$M" +
"iiuhLevxNWLuSvOnrywt6khKTwFOvR0t0RaDw0z4QaDoAzBzO3K7ShO1ogGVblmZcb1ctd0" +
"EIn8kgl1ctnG9Hr9OphDKYx2MDL3VWV29oLS1wfGHtkXd6Z1hONWLiDwk9sdBDh$e0DveWh" +
"eNyj1WwrwDEBWKSjsl1Dg9zQd7jhSHvS3BnSd1FQO3pgYlFZuk3O5SUxFThdM9mVRiOuMOk" +
"wgCNSUt7aUH3wM2tiQd7kl1bpabgqargqqyLHfWuu9zQY$Io1iYs1SdM0JoquB8dybqJU5w" +
"5Frk9uBuayQz5$QZ6UtOnvM2twUMVaMmVi3kWJdJ1cT4PUDJZcTPW$TARrYUDo2kQ1TPZ7r" +
"E6urs3CQelnhJrmgr6UEeovxR7lXBdClPW3j4ETT4GvEc6yhqDVhmItEindbWAtMlINcz4U" +
"7M0j1PuteytKuRopD7Xsn3cj8uv7D#Ix8iQELT1cTaDRt1rjunRCmOTZVDu3RVKMu7H5d##" +
"6DdqBsaSTnlrkc2$KOSofGnjU6MFPqk3M1cFiogY7bJ56B8roBqFBYVFlCYXVEvItZkQDCj" +
"#7$jmDTTeDzLE7zdeBsbKTskn165DM0PSwzEjwzCi#E8whe1$S1mxr2FT1krqJvz0gSAd7k" +
"N0PMbSeMntgj0xjkmvZGHtwzdQe#uCmljIXZkfHfbiGhqS$F1YOzGtOurZMO#oinpXx2zfE" +
"FUOk1sEygaT$gKUxEmIOzQY3YsWQyhi7us0zqW#cSSpdwZ6$k1NpXNgKxH2SD#jnBks3Syr" +
"ej9rwZFSkobsF#kc1V8v7NrfrRUpXkohcnYTWRhGgvgOduDmn1EUCYm#4BSvBzU2x6ifkuv" +
"nqCOvrFTfuFNYlXddd49n$Ag2lnxdnOge7PZtEjQjXF6g3iRmUvRyOTTA0CQ#X1kSh7FyX6" +
"0#NWwuDpd#N0BS1VQ01ntHrzDksw7CD68SkGTqquDWru7YiZh9q19S6z9bBS4mRC5OqOBnV" +
"7VNPW7gx16sh0NNNW3d06ZZlLg8VD61EqWR7fW7zgVqKSCHylGxj#JvQZpYFrQFDNO9hsGQ" +
"SSwfnVZq1VNXDSBY7veinf1VQV2#4Ay6p2dNGWBbR0zhHFHYZ6t2yAj26gZ6FweFnznxKIG" +
"FE4#qnRZHWhEw1ut42EAyn4NkSizP0lYVYdB4cZjM960SRWD4Mvv8ZmBCZsjyH65iRCBPsn" +
"9Xn2jfX0uxL4HZpJaLTdOhpogcuVZaLu#sfEFQdebsDGRsCmN4RWp5z3Ffj0yxvOz0MBa7R" +
"R8VpP0FwG0FcVqUYFYv5tsd0#U18rFcbAFkb64yQK8VLw6SduXYlIUiDuvMBS0FcHvTYp6$" +
"0lEKyUapG1c$3#R81$NTDS6X0VsY3SR01Oykb64yQC0PMezyUYVmRK1z7uhot2lhDaVGQ3x" +
"eZmSV6EUeer6S3sijH2BT7FPw8CQS1xUGaZECDc0TqGljgm5oo0UM$1zSO3S3k1NwzS3rJJ" +
"S#7gES6u3PW3Bq7Sy86p34hqMSxWLiVd7ScOmxJW6kUAgGtuBpU0#tv91oBDT7dJy8vPKqS" +
"vvDm37jXVdGIjK5$N1DzQ3Aj6yohUc6SwWMS6inrQf1l3Vh9oRYEE1bppvF1jn7pthR0E8g" +
"EPSZ$AFYsnTXt5EPB5QYxez466z6EAZ2ETa1zDk8OD#9wz6WSkqPWL6ECF1fjfX7zycYqxq" +
"QCsuredvCn3sn4Ewp2EQKMPUY8zj6DZbdOhunvtgquRlKuftT36scFDj4HxQKRpWKhOuwoC" +
"evD1xI33ZY$DeBBqUXlxO5vDChI2DnZS4vfnB4w1luhetrUYlFQE70QXxuw3jS3ut3k6eTZ" +
"C0vrqOY#Nulss8Ynkn5ZtsISjnfHTsl1PYtKVoskEslH$nen7ZUYl9Ff7csb2ksY5kDi8$P" +
"rE3UEGTssntN2CMZVbQZROz0s6j6kwj2UriPOD9boHVliX3b98#QlFQ4x6UU4Nh0$6VElNk" +
"W79wDjh8NnSpJcHureyzMeptQeXsewnyAOLOssqOZvRoVqxKRmwuGvNWVqYwauHjCnJvoA#" +
"S1KrFLKv3CLxQSIPIUmjsZzesrCnVW$5SUw4SUg4Nsc4kso7UOWKz5M6p7VcuOwcevpopJK" +
"tJISmwQZlyr0N#Y0yMCQsj8qZ3KpS7ndW4iZdSlWU4n3cst4ED49nw4MFEhGzkeNu$VP9g$" +
"3zolGkHlcWCwJD6vQORS5trjz#9wCvVj3waARGozDmyYo0hyNtpiRwTFRp3BxJZbMuNksm1" +
"l6z$RHVD#sezWFYVe#iB4err8Y$$FD#IptKVRok7T4uxVXkBdeVmHzrFsslF$WkUQqbMBOO" +
"vyFmzllQ$PpneNXTht5lc$MCeM#Mv#MtRPhUxvlqoQgRxyqtvCp1JVHFjiV9FRYEBOV4$fO" +
"9qOns0qJ5lPz$xreMXkSYwnR5T#Nekdk3cREzd42$w5Gj#k3IRljAgBnNR$Hu#rm7zyVrbF" +
"in$7zYklp$N7Ny$teDVd#WDtuljDTV5$VbUyR8ySMyIVvVh6keMwnCyJ#yoIFnJSL#vjYvJ" +
"qh3EzsKZHjhn$3yBvlXk4ANFyvmtdO6QJuFnlFDugtzmhcj0gSboekZkbkLCBlAFbipU$9B" +
"T4cZiFJks9ktHPZERbRoNkdD6wXNNid3E$U64qRlGtV7t0ptzVKytszgFSbzXNx9wD#DSU5" +
"uGD#vVi3D#7xBdt3j0UsIlBPVIyb$N2#hpmlrBN5UTZwI#Yl4pwYxP1vKIpdloBz3v7#PPY" +
"sf6XdbRWM6B9fgD$xz32yZA9VvYPXBygpDuvV5UOFoxO9RPRTc#$RqNa5pb$BFXgcBRTq6A" +
"uIutILEByiAUfpoS$vlhDek$KYtY3YDH$oVQs8rmfE1rugzf$m$K7Y$D9rBxuVVQ3OdyNtn" +
"miUtUVo$M5JnNvRlZzqi2ZZkto$mxkIksw5$M5ylqztlj$$Wp1jf2lsWjF8eM8loZvokjYB" +
"ikvN9$Q3nFvWiPyWza#5s8UDqlCvxAqmV4Hr63v#sJ0y#aQndnNg3Zf5x4MzT7qaJAjh8$Q" +
"YpTU9yUZWPSN#aD2sGHoNHgLjT1QwfGJEKebp5tG2S#ckKVtIedqihHddXboiqRqVXZlWsg" +
"WQrp9xY6FJSRCmRG$H3Yj4lFeshBXEs6EMqEyPslwhIkXcnlDJR8Q4uOwOGrTZllOlsM#ML" +
"En#5BhEVDy9S#vgNAVjEK3eZmbjzpn7wFx3z$limVS7j4tcR$SqSSkoWaTl3UOzVB$kiGQV" +
"xc5uXpsIwTj#68tlSEQ2SMnpueBvhtjZ6Dv7zC4LbFFUkdyewG$n$NfRXhfX#ulz0tn$qPR" +
"2vX9zVljyo$UTn9Yz5gxNslw4iNaIZxUjmRWc#ji8qPTglX2OxuOu8xRBLyxXxPAw4QU4uT" +
"g9EFUzWtMiebFcKBVs5Jfb37UKi7ietqzvWUyhTWlJAbwCvNkl4lua8$zDCCRKyl31ojni#" +
"EJolewVddxRLz7ulkAytdUbKDVEGPyJn#M1tVblIbMhPU7EVLPH#lk#cmYTE3#kSeUI9iQW" +
"LNu9TNkr4$kT#VwYJ$c##m35Jyn9kfyPwlPVcUyhbkTxIpnluGxX#xRYEgcjCa$Qy$Kazty" +
"ldzHLhIBI3ecd2VsCQBp#FwWpSJuUQfYt3TNEow6$IgFxAgdhS0BVLzjH$HHbZ9$QxlygE$" +
"FWA8ee3dVFp6QpoqqIvGQnE3n0xW1g8OXbQQbLMiK$bdz0bIMA8YhnWc2uhuJB4mKlK2u59" +
"K4kaKj10K4y00752m4v51K44Io$xdwRcMGtAbLyzNlz#lLxtRCpFRERseMuUf5rp5PgmGvd" +
"#sUOPuLdOETV$8V4zWbzfVAyNkEWKq$U8mTbJhFEEOtV58v9oZMIiq1YvZaTUZgCAQxo6Ja" +
"JxlC5Fo5v9NznVjW$Tv$JH57egwcTwhuLSzqcvvdvN29PJ9pSgu9k5UC2sRjo3ians2bjUM" +
"QfspzzdWEdXRRt7llsYh1TsjDfR1RF2itInvQcNjUb4L#9qrf5adEov93xSdo6w66dIVEPI" +
"2V6RHH$NseD2FDbLtZ6a7go9#VU9JdMIxk$qwnJJlspue$S#vAznNTBfRNiadcFS5hZUcAc" +
"XFtzveIswiCSEj8$jVBSmfZSEwlg#pUOymsybuyy5vN9tbfz2JbtfyUNDPTvo$dkSptVd2z" +
"haBNaojuVhAHlceoxmsbjUU$aoJaJasEOBVULr7l#tECoZo7YN#qqpnELSpG#lkgrnPT9xA" +
"sL$7B$pYjE7zD2xilBRrUgvOqmr$sDijKQV0lH0FgPlo5LLTUDjsiSgQzJMZqh313k5UxBm" +
"42XMFWJVe0IvLdknZRqXtkKhwzK6Zp1j9NuhDzyEn8yjGlTHOmcvYhw35U3#Ny4TzDd#1fx" +
"dugfrTWfdh5uwcdq$s9###fv5GYnY1gor67olSzSsbA$BR5lCwS4TWB$ASP7EPE1xOpPJiw" +
"js5knDw0Rq8sCFurj#1jxF$NsKyyHZwWXkxozXlWrZ5zb2TIxpAqTysd7lAv0GPqbtr$eEU" +
"BFCTQHYAWXgGvHqn6tB2NdKd8wOke8UOxW#vZSxSdTdbf9j1BgD$GYOh#t#4AWE#3lW3qTr" +
"XAtblubQ8ftQ9TPVFKYxKoyT9vyae5NMCkhhEypU8tsozJx55wdzWkqgsAEYkcEhACZwtTu" +
"kXDhweHMXshOrSXnZ5p7q5dK#HpcKcSsn$WBbT2N4MEud7m$Mtmrp#Af#UXyT07w9hp1s8M" +
"e8z1j6DU6EZMOXqVS8loBYBcVF2c#X0zWiSLNZrY2SdtOeNro#UJu1VzCT2RwM3anDPYumP" +
"nZZcprE6t30#IDyY1Z7u8di1sUeDKGT2WCmnvcrTc5v2caHagBy1LHDyLmsiEj#ce4zWYhZ" +
"b6qHrcjo6ZyewtwQWps67GyEXwTW4v09w8JqKde97GoEfdwJw66aVZEX#SuXZtjjUvPfhlp" +
"WlFKC$kFlHRCDR#CTIxZDQj9VsVydNaDQwaiY8FEoAMoRqs9C9KS#VJbawSsTNx4b#8WyGV" +
"nEGBTbRYksDFmFycuS8yr1FPQCjV2MvoREvX737yCVtJUonc$79yZfewIwoW#Hn1HGqntOs" +
"mtyjH1wr3FuKVK4EWucaLC5lcEmo7ECKUsPJ1p2ab4zZn38gA6P7axjOyvgaNKK3rjBm$L4" +
"2$VvnnPQXp7O1psM7GiQot1LqBC2kQy2TycV8RDj3TRzTK9x1DMVTsSTJUtwgi2nXPGeu2v" +
"5Z1FHpAjlOUyUuZVYUvaR0x7AGVjZdR7$o5#mqV2hmvTrw5MKdybSTlGRUZlQ26r2wbTIAr" +
"2wlo4xm1z1uZ$pkAhlUXU$5yvzBKMN$T6UwEvQ2uryj0yz0BqOc9JzzzlgF4jc7lGAexP87" +
"o3o3k8TaLD#Vr8knpTCaAhSZn1wnOMJz3wGekVaNhqrRCQKXzVVQlfDA2lWTN$fY6n3Qs6D" +
"CBNoAgl6sCtjkhh9jXDhFgwANPJgxxEniwswklMsAsvXWoNO1lCBnS#cexknNDIBpImtoJG" +
"#Xhq6lfEyjXsadOFsZrebz8kHTUZwz5rw3hwcz7V3Es2Ti6$1VyMr7mVo$mQ0UziWCSj#is" +
"$6Vy0zJvlfG==");
// Generated from soot/JastAddJ/JastAddJavaParser.all
class Events extends Parser.Events {
public void scannerError(Scanner.Exception e) {
errors.add(new Problem(null, e.getMessage(), e.line, e.column, Problem.Severity.ERROR, Problem.Kind.LEXICAL));
}
public void syntaxError(Symbol token) {
int line = token.getLine(token.getStart());
int column = token.getColumn(token.getStart());
int endLine = token.getLine(token.getEnd());
int endColumn = token.getColumn(token.getEnd());
String value = token.value != null ? token.value.toString() : Terminals.NAMES[token.getId()];
errors.add(new Problem(null, "unexpected token \"" + value + "\"", line, column, endLine, endColumn, Problem.Severity.ERROR, Problem.Kind.SYNTACTIC));
}
public void unexpectedTokenRemoved(Symbol token) {
}
public void missingTokenInserted(Symbol token) {
}
public void misspelledTokenReplaced(Symbol token) {
}
public void errorPhraseRemoved(Symbol error) {
}
}
{
report = new Events(); // Use error handler in parser
}
public CompilationUnit parse(java.io.InputStream is, String fileName) throws java.io.IOException, beaver.Parser.Exception {
CompilationUnit cu;
errors = new ArrayList();
try {
JavaScanner scanner = new JavaScanner(new Unicode(is));
cu = (CompilationUnit)parse(scanner);
} catch(Parser.Exception e) {
// build empty compilation unit for failed error recovery
cu = new CompilationUnit();
} catch(Error e) {
cu = new CompilationUnit();
errors.add(new Problem(null, e.getMessage(), 0, 0, Problem.Severity.ERROR, Problem.Kind.LEXICAL));
}
for(java.util.Iterator iter = errors.iterator(); iter.hasNext(); ) {
Problem p = (Problem)iter.next();
p.setFileName(fileName);
cu.addParseError(p);
}
return cu;
}
protected java.util.Collection errors = new ArrayList();
public JastAddJavaParser() {
super(PARSING_TABLES);
}
protected Symbol invokeReduceAction(int rule_num, int offset) {
switch(rule_num) {
case 0: // goal = compilation_unit.cu
{
final Symbol _symbol_cu = _symbols[offset + 1];
final CompilationUnit cu = (CompilationUnit) _symbol_cu.value;
return cu;
}
case 1: // type = primitive_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 2: // type = reference_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 3: // primitive_type = numeric_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 4: // primitive_type = BOOLEAN.BOOLEAN
{
final Symbol BOOLEAN = _symbols[offset + 1];
return new PrimitiveTypeAccess("boolean");
}
case 5: // numeric_type = integral_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 6: // numeric_type = floating_point_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 7: // integral_type = BYTE.BYTE
{
final Symbol BYTE = _symbols[offset + 1];
return new PrimitiveTypeAccess("byte");
}
case 8: // integral_type = SHORT.SHORT
{
final Symbol SHORT = _symbols[offset + 1];
return new PrimitiveTypeAccess("short");
}
case 9: // integral_type = INT.INT
{
final Symbol INT = _symbols[offset + 1];
return new PrimitiveTypeAccess("int");
}
case 10: // integral_type = LONG.LONG
{
final Symbol LONG = _symbols[offset + 1];
return new PrimitiveTypeAccess("long");
}
case 11: // integral_type = CHAR.CHAR
{
final Symbol CHAR = _symbols[offset + 1];
return new PrimitiveTypeAccess("char");
}
case 12: // floating_point_type = FLOAT.FLOAT
{
final Symbol FLOAT = _symbols[offset + 1];
return new PrimitiveTypeAccess("float");
}
case 13: // floating_point_type = DOUBLE.DOUBLE
{
final Symbol DOUBLE = _symbols[offset + 1];
return new PrimitiveTypeAccess("double");
}
case 14: // reference_type = class_or_interface_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 15: // reference_type = array_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 16: // class_type = class_or_interface_type.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 17: // interface_type = class_or_interface_type.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 18: // array_type = primitive_type.t dims.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return t.addArrayDims(d);
}
case 19: // array_type = name.n dims.d
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return n.addArrayDims(d);
}
case 20: // name = simple_name.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Access s = (Access) _symbol_s.value;
return s;
}
case 21: // name = qualified_name.q
{
final Symbol _symbol_q = _symbols[offset + 1];
final Access q = (Access) _symbol_q.value;
return q;
}
case 22: // simple_name = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new ParseName(IDENTIFIER);
}
case 23: // qualified_name = name.n DOT.DOT simple_name.i
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final Access i = (Access) _symbol_i.value;
return n.qualifiesAccess(i);
}
case 24: // compilation_unit = package_declaration.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
return new CompilationUnit(p.getID(), new List(), new List());
}
case 25: // compilation_unit = package_declaration.p import_declarations.i
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
return new CompilationUnit(p.getID(), i, new List());
}
case 26: // compilation_unit = package_declaration.p type_declarations.t
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_t = _symbols[offset + 2];
final List t = (List) _symbol_t.value;
return new CompilationUnit(p.getID(), new List(), t);
}
case 27: // compilation_unit = package_declaration.p import_declarations.i type_declarations.t
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol _symbol_t = _symbols[offset + 3];
final List t = (List) _symbol_t.value;
return new CompilationUnit(p.getID(), i, t);
}
case 28: // compilation_unit =
{
return new CompilationUnit("", new List(), new List());
}
case 29: // compilation_unit = import_declarations.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final List i = (List) _symbol_i.value;
return new CompilationUnit("", i, new List());
}
case 30: // compilation_unit = type_declarations.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final List t = (List) _symbol_t.value;
return new CompilationUnit("", new List(), t);
}
case 31: // compilation_unit = import_declarations.i type_declarations.t
{
final Symbol _symbol_i = _symbols[offset + 1];
final List i = (List) _symbol_i.value;
final Symbol _symbol_t = _symbols[offset + 2];
final List t = (List) _symbol_t.value;
return new CompilationUnit("", i, t);
}
case 32: // import_declarations = import_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final ImportDecl i = (ImportDecl) _symbol_i.value;
return new List().add(i);
}
case 33: // import_declarations = import_declarations.l import_declaration.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_i = _symbols[offset + 2];
final ImportDecl i = (ImportDecl) _symbol_i.value;
return l.add(i);
}
case 34: // type_declarations = type_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final TypeDecl t = (TypeDecl) _symbol_t.value;
return !(t instanceof EmptyType) ? new List().add(t) : new List() ;
}
case 35: // type_declarations = type_declarations.l type_declaration.t
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 2];
final TypeDecl t = (TypeDecl) _symbol_t.value;
return !(t instanceof EmptyType) ? l.add(t) : l;
}
case 36: // package_declaration = PACKAGE.PACKAGE name_decl.n SEMICOLON.SEMICOLON
{
final Symbol PACKAGE = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final IdUse n = (IdUse) _symbol_n.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return n;
}
case 37: // name_decl = simple_name_decl.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final IdUse s = (IdUse) _symbol_s.value;
return s;
}
case 38: // name_decl = qualified_name_decl.q
{
final Symbol _symbol_q = _symbols[offset + 1];
final IdUse q = (IdUse) _symbol_q.value;
return q;
}
case 39: // simple_name_decl = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new IdUse(IDENTIFIER);
}
case 40: // qualified_name_decl = name_decl.n DOT.DOT IDENTIFIER.i
{
final Symbol _symbol_n = _symbols[offset + 1];
final IdUse n = (IdUse) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol i = _symbols[offset + 3];
return new IdUse(n.getID() + "." + ((String)i.value));
}
case 41: // import_declaration = single_type_import_declaration.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final ImportDecl s = (ImportDecl) _symbol_s.value;
return s;
}
case 42: // import_declaration = type_import_on_demand_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ImportDecl t = (ImportDecl) _symbol_t.value;
return t;
}
case 43: // single_type_import_declaration = IMPORT.IMPORT name.n SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new SingleTypeImportDecl(n);
}
case 44: // type_import_on_demand_declaration = IMPORT.IMPORT name.n DOT.DOT MULT.MULT SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 3];
final Symbol MULT = _symbols[offset + 4];
final Symbol SEMICOLON = _symbols[offset + 5];
return new TypeImportOnDemandDecl(n);
}
case 45: // type_declaration = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return c;
}
case 46: // type_declaration = interface_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InterfaceDecl i = (InterfaceDecl) _symbol_i.value;
return i;
}
case 47: // type_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyType(new Modifiers(), "EmptyType", new Opt(), new List());
}
case 48: // modifiers = modifier.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final Modifier m = (Modifier) _symbol_m.value;
return new List().add(m);
}
case 49: // modifiers = modifiers.l modifier.m
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_m = _symbols[offset + 2];
final Modifier m = (Modifier) _symbol_m.value;
return l.add(m);
}
case 50: // modifier = PUBLIC.PUBLIC
{
final Symbol PUBLIC = _symbols[offset + 1];
return new Modifier("public");
}
case 51: // modifier = PROTECTED.PROTECTED
{
final Symbol PROTECTED = _symbols[offset + 1];
return new Modifier("protected");
}
case 52: // modifier = PRIVATE.PRIVATE
{
final Symbol PRIVATE = _symbols[offset + 1];
return new Modifier("private");
}
case 53: // modifier = STATIC.STATIC
{
final Symbol STATIC = _symbols[offset + 1];
return new Modifier("static");
}
case 54: // modifier = ABSTRACT.ABSTRACT
{
final Symbol ABSTRACT = _symbols[offset + 1];
return new Modifier("abstract");
}
case 55: // modifier = FINAL.FINAL
{
final Symbol FINAL = _symbols[offset + 1];
return new Modifier("final");
}
case 56: // modifier = NATIVE.NATIVE
{
final Symbol NATIVE = _symbols[offset + 1];
return new Modifier("native");
}
case 57: // modifier = SYNCHRONIZED.SYNCHRONIZED
{
final Symbol SYNCHRONIZED = _symbols[offset + 1];
return new Modifier("synchronized");
}
case 58: // modifier = TRANSIENT.TRANSIENT
{
final Symbol TRANSIENT = _symbols[offset + 1];
return new Modifier("transient");
}
case 59: // modifier = VOLATILE.VOLATILE
{
final Symbol VOLATILE = _symbols[offset + 1];
return new Modifier("volatile");
}
case 60: // modifier = STRICTFP.STRICTFP
{
final Symbol STRICTFP = _symbols[offset + 1];
return new Modifier("strictfp");
}
case 61: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_b = _symbols[offset + 3];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(new List()), IDENTIFIER, new Opt(), new List(), b);
}
case 62: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(m), IDENTIFIER, new Opt(), new List(), b);
}
case 63: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER super.s class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_s = _symbols[offset + 3];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(new List()), IDENTIFIER, s, new List(), b);
}
case 64: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER super.s class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_s = _symbols[offset + 4];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(m), IDENTIFIER, s, new List(), b);
}
case 65: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER interfaces.i class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(new List()), IDENTIFIER, new Opt(), i, b);
}
case 66: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER interfaces.i class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(m), IDENTIFIER, new Opt(), i, b);
}
case 67: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER super.s interfaces.i class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_s = _symbols[offset + 3];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(new List()), IDENTIFIER, s, i, b);
}
case 68: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER super.s interfaces.i class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_s = _symbols[offset + 4];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_i = _symbols[offset + 5];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 6];
final List b = (List) _symbol_b.value;
return new ClassDecl(new Modifiers(m), IDENTIFIER, s, i, b);
}
case 69: // super = EXTENDS.EXTENDS class_type.c
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final Access c = (Access) _symbol_c.value;
return new Opt(c);
}
case 70: // interfaces = IMPLEMENTS.IMPLEMENTS interface_type_list.i
{
final Symbol IMPLEMENTS = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
return i;
}
case 71: // interface_type_list = interface_type.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final Access i = (Access) _symbol_i.value;
return new List().add(i);
}
case 72: // interface_type_list = interface_type_list.l COMMA.COMMA interface_type.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final Access i = (Access) _symbol_i.value;
return l.add(i);
}
case 73: // class_body = LBRACE.LBRACE class_body_declarations_opt.c RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final List c = (List) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 3];
return c;
}
case 74: // class_body_declarations = class_body_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return new List().add(c);
}
case 75: // class_body_declarations = class_body_declarations.l class_body_declaration.c
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_c = _symbols[offset + 2];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return l.add(c);
}
case 76: // class_body_declaration = class_member_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return c;
}
case 77: // class_body_declaration = instance_initializer.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InstanceInitializer i = (InstanceInitializer) _symbol_i.value;
return i;
}
case 78: // class_body_declaration = static_initializer.si
{
final Symbol _symbol_si = _symbols[offset + 1];
final StaticInitializer si = (StaticInitializer) _symbol_si.value;
return si;
}
case 79: // class_body_declaration = constructor_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ConstructorDecl c = (ConstructorDecl) _symbol_c.value;
return c;
}
case 80: // class_member_declaration = field_declaration.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final BodyDecl f = (BodyDecl) _symbol_f.value;
return f;
}
case 81: // class_member_declaration = method_declaration.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final MethodDecl m = (MethodDecl) _symbol_m.value;
return m;
}
case 82: // class_member_declaration = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return new MemberClassDecl(c);
}
case 83: // class_member_declaration = interface_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InterfaceDecl i = (InterfaceDecl) _symbol_i.value;
return new MemberInterfaceDecl(i);
}
case 84: // class_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new InstanceInitializer(new Block());
}
case 85: // field_declaration = type.t variable_declarators.v SEMICOLON.SEMICOLON
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_v = _symbols[offset + 2];
final List v = (List) _symbol_v.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new FieldDecl(new Modifiers(new List()), t, v);
}
case 86: // field_declaration = modifiers.m type.t variable_declarators.v SEMICOLON.SEMICOLON
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_v = _symbols[offset + 3];
final List v = (List) _symbol_v.value;
final Symbol SEMICOLON = _symbols[offset + 4];
return new FieldDecl(new Modifiers(m), t, v);
}
case 87: // variable_declarators = variable_declarator.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return new List().add(v);
}
case 88: // variable_declarators = variable_declarators.l COMMA.COMMA variable_declarator.v
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_v = _symbols[offset + 3];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return l.add(v);
}
case 89: // variable_declarator = variable_declarator_id.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return v;
}
case 90: // variable_declarator = variable_declarator_id.v EQ.EQ variable_initializer.i
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
final Symbol EQ = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final Expr i = (Expr) _symbol_i.value;
v.setInit(i); return v;
}
case 91: // variable_declarator_id = IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return new VariableDecl(IDENTIFIER, d, new Opt());
}
case 92: // variable_initializer = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 93: // variable_initializer = array_initializer.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final ArrayInit a = (ArrayInit) _symbol_a.value;
return a;
}
case 94: // method_declaration = method_header.m method_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final MethodDecl m = (MethodDecl) _symbol_m.value;
final Symbol _symbol_b = _symbols[offset + 2];
final Opt b = (Opt) _symbol_b.value;
m.setBlockOpt(b); return m;
}
case 95: // method_header = type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
return new MethodDecl(new Modifiers(new List()), t.addArrayDims(new List()), IDENTIFIER, l, new List(), new Opt());
}
case 96: // method_header = modifiers.m type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
return new MethodDecl(new Modifiers(m), t.addArrayDims(new List()), IDENTIFIER, l, new List(), new Opt());
}
case 97: // method_header = type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN dims.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_d = _symbols[offset + 6];
final List d = (List) _symbol_d.value;
return new MethodDecl(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, l, new List(), new Opt());
}
case 98: // method_header = modifiers.m type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN dims.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_d = _symbols[offset + 7];
final List d = (List) _symbol_d.value;
return new MethodDecl(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, l, new List(), new Opt());
}
case 99: // method_header = type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN throws.tl
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(new List()), t.addArrayDims(new List()), IDENTIFIER, l, tl, new Opt());
}
case 100: // method_header = modifiers.m type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN throws.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(m), t.addArrayDims(new List()), IDENTIFIER, l, tl, new Opt());
}
case 101: // method_header = type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN dims.d throws.tl
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_d = _symbols[offset + 6];
final List d = (List) _symbol_d.value;
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, l, tl, new Opt());
}
case 102: // method_header = modifiers.m type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN dims.d throws.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_d = _symbols[offset + 7];
final List d = (List) _symbol_d.value;
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, l, tl, new Opt());
}
case 103: // method_header = VOID.VOID IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN throws_opt.tl
{
final Symbol VOID = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(new List()), new PrimitiveTypeAccess("void"), IDENTIFIER, l, tl, new Opt());
}
case 104: // method_header = modifiers.m VOID.VOID IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.l RPAREN.RPAREN throws_opt.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol VOID = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
return new MethodDecl(new Modifiers(m), new PrimitiveTypeAccess("void"), IDENTIFIER, l, tl, new Opt());
}
case 105: // formal_parameter_list = formal_parameter.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final ParameterDeclaration f = (ParameterDeclaration) _symbol_f.value;
return new List().add(f);
}
case 106: // formal_parameter_list = formal_parameter_list.l COMMA.COMMA formal_parameter.f
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_f = _symbols[offset + 3];
final ParameterDeclaration f = (ParameterDeclaration) _symbol_f.value;
return l.add(f);
}
case 107: // formal_parameter = type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
return new ParameterDeclaration(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER);
}
case 108: // formal_parameter = modifiers.m type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
return new ParameterDeclaration(new Modifiers(m), t.addArrayDims(d), IDENTIFIER);
}
case 109: // throws = THROWS.THROWS class_type_list.l
{
final Symbol THROWS = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return l;
}
case 110: // class_type_list = class_type.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Access c = (Access) _symbol_c.value;
return new List().add(c);
}
case 111: // class_type_list = class_type_list.l COMMA.COMMA class_type.c
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_c = _symbols[offset + 3];
final Access c = (Access) _symbol_c.value;
return l.add(c);
}
case 112: // method_body = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return new Opt(b);
}
case 113: // method_body = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new Opt();
}
case 114: // static_initializer = STATIC.STATIC block.b
{
final Symbol STATIC = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
return new StaticInitializer(b);
}
case 115: // instance_initializer = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return new InstanceInitializer(b);
}
case 116: // constructor_declaration = IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_pl = _symbols[offset + 3];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_tl = _symbols[offset + 5];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 6];
final Symbol RBRACE = _symbols[offset + 7];
Block b = new Block(new List()); new List().setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(), b);
}
case 117: // constructor_declaration = modifiers.m IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_pl = _symbols[offset + 4];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 7];
final Symbol RBRACE = _symbols[offset + 8];
Block b = new Block(new List()); new List().setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(), b);
}
case 118: // constructor_declaration = IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c RBRACE.RBRACE
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_pl = _symbols[offset + 3];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_tl = _symbols[offset + 5];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 6];
final Symbol _symbol_c = _symbols[offset + 7];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 8];
Block b = new Block(new List()); new List().setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(c), b);
}
case 119: // constructor_declaration = modifiers.m IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_pl = _symbols[offset + 4];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 7];
final Symbol _symbol_c = _symbols[offset + 8];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 9];
Block b = new Block(new List()); new List().setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(c), b);
}
case 120: // constructor_declaration = IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE block_statements.l RBRACE.RBRACE
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_pl = _symbols[offset + 3];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_tl = _symbols[offset + 5];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 8];
Block b = new Block(l); l.setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(), b);
}
case 121: // constructor_declaration = modifiers.m IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE block_statements.l RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_pl = _symbols[offset + 4];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 7];
final Symbol _symbol_l = _symbols[offset + 8];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 9];
Block b = new Block(l); l.setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(), b);
}
case 122: // constructor_declaration = IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c block_statements.l RBRACE.RBRACE
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_pl = _symbols[offset + 3];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_tl = _symbols[offset + 5];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 6];
final Symbol _symbol_c = _symbols[offset + 7];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol _symbol_l = _symbols[offset + 8];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 9];
Block b = new Block(l); l.setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(c), b);
}
case 123: // constructor_declaration = modifiers.m IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c block_statements.l RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_pl = _symbols[offset + 4];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_tl = _symbols[offset + 6];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 7];
final Symbol _symbol_c = _symbols[offset + 8];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol _symbol_l = _symbols[offset + 9];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 10];
Block b = new Block(l); l.setStart(LBRACE.getStart() + 1); b.setStart(LBRACE.getStart()); b.setEnd(RBRACE.getEnd());
return new ConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(c), b);
}
case 124: // explicit_constructor_invocation = THIS.THIS LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol THIS = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol SEMICOLON = _symbols[offset + 5];
ConstructorAccess c = new ConstructorAccess("this", l);
c.setStart(THIS.getStart());
c.setEnd(RPAREN.getEnd());
return new ExprStmt(c);
}
case 125: // explicit_constructor_invocation = SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol SUPER = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol SEMICOLON = _symbols[offset + 5];
SuperConstructorAccess c = new SuperConstructorAccess("super", l);
c.setStart(SUPER.getStart());
c.setEnd(RPAREN.getEnd());
return new ExprStmt(c);
}
case 126: // explicit_constructor_invocation = primary.p DOT.DOT SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol SEMICOLON = _symbols[offset + 7];
SuperConstructorAccess c = new SuperConstructorAccess("super", l);
c.setStart(SUPER.getStart());
c.setEnd(RPAREN.getEnd());
return new ExprStmt(p.qualifiesAccess(c));
}
case 127: // explicit_constructor_invocation = name.n DOT.DOT SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol SEMICOLON = _symbols[offset + 7];
SuperConstructorAccess c = new SuperConstructorAccess("super", l);
c.setStart(SUPER.getStart());
c.setEnd(RPAREN.getEnd());
return new ExprStmt(n.qualifiesAccess(c));
}
case 128: // interface_declaration = INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER interface_body.b
{
final Symbol INTERFACE = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_b = _symbols[offset + 3];
final List b = (List) _symbol_b.value;
return new InterfaceDecl(new Modifiers(new List()), IDENTIFIER, new List(), b);
}
case 129: // interface_declaration = modifiers.m INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER interface_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol INTERFACE = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new InterfaceDecl(new Modifiers(m), IDENTIFIER, new List(), b);
}
case 130: // interface_declaration = INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER extends_interfaces.i interface_body.b
{
final Symbol INTERFACE = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new InterfaceDecl(new Modifiers(new List()), IDENTIFIER, i, b);
}
case 131: // interface_declaration = modifiers.m INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER extends_interfaces.i interface_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol INTERFACE = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new InterfaceDecl(new Modifiers(m), IDENTIFIER, i, b);
}
case 132: // extends_interfaces = EXTENDS.EXTENDS interface_type.i
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final Access i = (Access) _symbol_i.value;
return new List().add(i);
}
case 133: // extends_interfaces = extends_interfaces.l COMMA.COMMA interface_type.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final Access i = (Access) _symbol_i.value;
return l.add(i);
}
case 134: // interface_body = LBRACE.LBRACE interface_member_declarations_opt.i RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol RBRACE = _symbols[offset + 3];
return i;
}
case 135: // interface_member_declarations = interface_member_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return new List().add(i);
}
case 136: // interface_member_declarations = interface_member_declarations.l interface_member_declaration.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_i = _symbols[offset + 2];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return l.add(i);
}
case 137: // interface_member_declaration = constant_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return c;
}
case 138: // interface_member_declaration = abstract_method_declaration.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final BodyDecl a = (BodyDecl) _symbol_a.value;
return a;
}
case 139: // interface_member_declaration = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return new MemberClassDecl(c);
}
case 140: // interface_member_declaration = interface_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InterfaceDecl i = (InterfaceDecl) _symbol_i.value;
return new MemberInterfaceDecl(i);
}
case 141: // interface_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 142: // constant_declaration = field_declaration.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final BodyDecl f = (BodyDecl) _symbol_f.value;
return f;
}
case 143: // abstract_method_declaration = method_header.m SEMICOLON.SEMICOLON
{
final Symbol _symbol_m = _symbols[offset + 1];
final MethodDecl m = (MethodDecl) _symbol_m.value;
final Symbol SEMICOLON = _symbols[offset + 2];
return m;
}
case 144: // array_initializer = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new ArrayInit(new List());
}
case 145: // array_initializer = LBRACE.LBRACE variable_initializers.v RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_v = _symbols[offset + 2];
final List v = (List) _symbol_v.value;
final Symbol RBRACE = _symbols[offset + 3];
return new ArrayInit(v);
}
case 146: // array_initializer = LBRACE.LBRACE COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol COMMA = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new ArrayInit(new List());
}
case 147: // array_initializer = LBRACE.LBRACE variable_initializers.v COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_v = _symbols[offset + 2];
final List v = (List) _symbol_v.value;
final Symbol COMMA = _symbols[offset + 3];
final Symbol RBRACE = _symbols[offset + 4];
return new ArrayInit(v);
}
case 148: // variable_initializers = variable_initializer.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final Expr v = (Expr) _symbol_v.value;
return new List().add(v);
}
case 149: // variable_initializers = variable_initializers.l COMMA.COMMA variable_initializer.v
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_v = _symbols[offset + 3];
final Expr v = (Expr) _symbol_v.value;
return l.add(v);
}
case 150: // block = LBRACE.LBRACE block_statements_opt.l RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 3];
return new Block(l);
}
case 151: // block_statements = block_statement.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Stmt b = (Stmt) _symbol_b.value;
return new List().add(b);
}
case 152: // block_statements = block_statements.l block_statement.b
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_b = _symbols[offset + 2];
final Stmt b = (Stmt) _symbol_b.value;
return l.add(b);
}
case 153: // block_statement = local_variable_declaration_statement.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final VarDeclStmt l = (VarDeclStmt) _symbol_l.value;
return l;
}
case 154: // block_statement = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return new LocalClassDeclStmt(c);
}
case 155: // block_statement = statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 156: // local_variable_declaration_statement = local_variable_declaration.l SEMICOLON.SEMICOLON
{
final Symbol _symbol_l = _symbols[offset + 1];
final VarDeclStmt l = (VarDeclStmt) _symbol_l.value;
final Symbol SEMICOLON = _symbols[offset + 2];
return l;
}
case 157: // local_variable_declaration = type.t variable_declarators.l
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return new VarDeclStmt(new Modifiers(new List()), t, l);
}
case 158: // local_variable_declaration = modifiers.m type.t variable_declarators.l
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
return new VarDeclStmt(new Modifiers(m), t, l);
}
case 159: // statement = statement_without_trailing_substatement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 160: // statement = labeled_statement.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final LabeledStmt l = (LabeledStmt) _symbol_l.value;
return l;
}
case 161: // statement = if_then_statement.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 162: // statement = if_then_else_statement.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 163: // statement = while_statement.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final WhileStmt w = (WhileStmt) _symbol_w.value;
return w;
}
case 164: // statement = for_statement.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final ForStmt f = (ForStmt) _symbol_f.value;
return f;
}
case 165: // statement_without_trailing_substatement = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return b;
}
case 166: // statement_without_trailing_substatement = empty_statement.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final EmptyStmt e = (EmptyStmt) _symbol_e.value;
return e;
}
case 167: // statement_without_trailing_substatement = expression_statement.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final ExprStmt e = (ExprStmt) _symbol_e.value;
return e;
}
case 168: // statement_without_trailing_substatement = switch_statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final SwitchStmt s = (SwitchStmt) _symbol_s.value;
return s;
}
case 169: // statement_without_trailing_substatement = do_statement.d
{
final Symbol _symbol_d = _symbols[offset + 1];
final DoStmt d = (DoStmt) _symbol_d.value;
return d;
}
case 170: // statement_without_trailing_substatement = break_statement.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final BreakStmt b = (BreakStmt) _symbol_b.value;
return b;
}
case 171: // statement_without_trailing_substatement = continue_statement.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ContinueStmt c = (ContinueStmt) _symbol_c.value;
return c;
}
case 172: // statement_without_trailing_substatement = return_statement.r
{
final Symbol _symbol_r = _symbols[offset + 1];
final ReturnStmt r = (ReturnStmt) _symbol_r.value;
return r;
}
case 173: // statement_without_trailing_substatement = synchronized_statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final SynchronizedStmt s = (SynchronizedStmt) _symbol_s.value;
return s;
}
case 174: // statement_without_trailing_substatement = throw_statement.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ThrowStmt t = (ThrowStmt) _symbol_t.value;
return t;
}
case 175: // statement_without_trailing_substatement = try_statement.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final TryStmt t = (TryStmt) _symbol_t.value;
return t;
}
case 176: // statement_without_trailing_substatement = assert_statement.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final AssertStmt a = (AssertStmt) _symbol_a.value;
return a;
}
case 177: // statement_no_short_if = statement_without_trailing_substatement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 178: // statement_no_short_if = labeled_statement_no_short_if.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final LabeledStmt l = (LabeledStmt) _symbol_l.value;
return l;
}
case 179: // statement_no_short_if = if_then_else_statement_no_short_if.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 180: // statement_no_short_if = while_statement_no_short_if.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final WhileStmt w = (WhileStmt) _symbol_w.value;
return w;
}
case 181: // statement_no_short_if = for_statement_no_short_if.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final ForStmt f = (ForStmt) _symbol_f.value;
return f;
}
case 182: // if_then_statement = IF.IF LPAREN.LPAREN expression.e RPAREN.RPAREN statement.s
{
final Symbol IF = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_s = _symbols[offset + 5];
final Stmt s = (Stmt) _symbol_s.value;
return new IfStmt(e, s, new Opt());
}
case 183: // if_then_else_statement = IF.IF LPAREN.LPAREN expression.e RPAREN.RPAREN statement_no_short_if.t ELSE.ELSE statement.els
{
final Symbol IF = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_t = _symbols[offset + 5];
final Stmt t = (Stmt) _symbol_t.value;
final Symbol ELSE = _symbols[offset + 6];
final Symbol _symbol_els = _symbols[offset + 7];
final Stmt els = (Stmt) _symbol_els.value;
return new IfStmt(e, t, new Opt(els));
}
case 184: // if_then_else_statement_no_short_if = IF.IF LPAREN.LPAREN expression.e RPAREN.RPAREN statement_no_short_if.t ELSE.ELSE statement_no_short_if.els
{
final Symbol IF = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_t = _symbols[offset + 5];
final Stmt t = (Stmt) _symbol_t.value;
final Symbol ELSE = _symbols[offset + 6];
final Symbol _symbol_els = _symbols[offset + 7];
final Stmt els = (Stmt) _symbol_els.value;
return new IfStmt(e, t, new Opt(els));
}
case 185: // empty_statement = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyStmt();
}
case 186: // labeled_statement = IDENTIFIER.id COLON.COLON statement.s
{
final Symbol id = _symbols[offset + 1];
final Symbol COLON = _symbols[offset + 2];
final Symbol _symbol_s = _symbols[offset + 3];
final Stmt s = (Stmt) _symbol_s.value;
return new LabeledStmt(((String)id.value), s);
}
case 187: // labeled_statement_no_short_if = IDENTIFIER.id COLON.COLON statement_no_short_if.s
{
final Symbol id = _symbols[offset + 1];
final Symbol COLON = _symbols[offset + 2];
final Symbol _symbol_s = _symbols[offset + 3];
final Stmt s = (Stmt) _symbol_s.value;
return new LabeledStmt(((String)id.value), s);
}
case 188: // expression_statement = statement_expression.e SEMICOLON.SEMICOLON
{
final Symbol _symbol_e = _symbols[offset + 1];
final ExprStmt e = (ExprStmt) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 2];
return e;
}
case 189: // statement_expression = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return new ExprStmt(a);
}
case 190: // statement_expression = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 191: // statement_expression = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 192: // statement_expression = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 193: // statement_expression = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 194: // statement_expression = method_invocation.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final Access i = (Access) _symbol_i.value;
return new ExprStmt(i);
}
case 195: // statement_expression = class_instance_creation_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 196: // switch_statement = SWITCH.SWITCH LPAREN.LPAREN expression.e RPAREN.RPAREN switch_block.l
{
final Symbol SWITCH = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final Block l = (Block) _symbol_l.value;
return new SwitchStmt(e, l);
}
case 197: // switch_block = LBRACE.LBRACE switch_block_statement_groups.l switch_labels.s RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_s = _symbols[offset + 3];
final List s = (List) _symbol_s.value;
final Symbol RBRACE = _symbols[offset + 4];
for(int ii = 0; ii < s.getNumChildNoTransform(); ii++) l.add(s.getChildNoTransform(ii)); return new Block(l);
}
case 198: // switch_block = LBRACE.LBRACE switch_block_statement_groups.l RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 3];
return new Block(l);
}
case 199: // switch_block = LBRACE.LBRACE switch_labels.l RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 3];
return new Block(l);
}
case 200: // switch_block = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new Block(new List());
}
case 201: // switch_block_statement_groups = switch_block_statement_group.g
{
final Symbol _symbol_g = _symbols[offset + 1];
final List g = (List) _symbol_g.value;
return g;
}
case 202: // switch_block_statement_groups = switch_block_statement_groups.l switch_block_statement_group.g
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_g = _symbols[offset + 2];
final List g = (List) _symbol_g.value;
for(int ii = 0; ii < g.getNumChildNoTransform(); ii++)
l.add(g.getChildNoTransform(ii));
return l;
}
case 203: // switch_block_statement_group = switch_labels.l block_statements.bl
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_bl = _symbols[offset + 2];
final List bl = (List) _symbol_bl.value;
for(int ii = 0; ii < bl.getNumChildNoTransform(); ii++)
l.add(bl.getChildNoTransform(ii));
return l;
}
case 204: // switch_labels = switch_label.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Case s = (Case) _symbol_s.value;
return new List().add(s);
}
case 205: // switch_labels = switch_labels.l switch_label.s
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_s = _symbols[offset + 2];
final Case s = (Case) _symbol_s.value;
return l.add(s);
}
case 206: // switch_label = CASE.CASE constant_expression.e COLON.COLON
{
final Symbol CASE = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol COLON = _symbols[offset + 3];
return new ConstCase(e);
}
case 207: // switch_label = DEFAULT.DEFAULT COLON.COLON
{
final Symbol DEFAULT = _symbols[offset + 1];
final Symbol COLON = _symbols[offset + 2];
return new DefaultCase();
}
case 208: // while_statement = WHILE.WHILE LPAREN.LPAREN expression.e RPAREN.RPAREN statement.s
{
final Symbol WHILE = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_s = _symbols[offset + 5];
final Stmt s = (Stmt) _symbol_s.value;
return new WhileStmt(e, s);
}
case 209: // while_statement_no_short_if = WHILE.WHILE LPAREN.LPAREN expression.e RPAREN.RPAREN statement_no_short_if.s
{
final Symbol WHILE = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_s = _symbols[offset + 5];
final Stmt s = (Stmt) _symbol_s.value;
return new WhileStmt(e, s);
}
case 210: // do_statement = DO.DO statement.s WHILE.WHILE LPAREN.LPAREN expression.e RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol DO = _symbols[offset + 1];
final Symbol _symbol_s = _symbols[offset + 2];
final Stmt s = (Stmt) _symbol_s.value;
final Symbol WHILE = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol SEMICOLON = _symbols[offset + 7];
return new DoStmt(s, e);
}
case 211: // for_statement = FOR.FOR LPAREN.LPAREN for_init_opt.i SEMICOLON.SEMICOLON expression_opt.e SEMICOLON.SEMICOLON_ for_update_opt.u RPAREN.RPAREN statement.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol SEMICOLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Opt e = (Opt) _symbol_e.value;
final Symbol SEMICOLON_ = _symbols[offset + 6];
final Symbol _symbol_u = _symbols[offset + 7];
final List u = (List) _symbol_u.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_s = _symbols[offset + 9];
final Stmt s = (Stmt) _symbol_s.value;
return new ForStmt(i, e, u, s);
}
case 212: // for_statement_no_short_if = FOR.FOR LPAREN.LPAREN for_init_opt.i SEMICOLON.SEMICOLON expression_opt.e SEMICOLON.SEMICOLON_ for_update_opt.u RPAREN.RPAREN statement_no_short_if.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol SEMICOLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Opt e = (Opt) _symbol_e.value;
final Symbol SEMICOLON_ = _symbols[offset + 6];
final Symbol _symbol_u = _symbols[offset + 7];
final List u = (List) _symbol_u.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_s = _symbols[offset + 9];
final Stmt s = (Stmt) _symbol_s.value;
return new ForStmt(i, e, u, s);
}
case 213: // for_init = statement_expression_list.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
return l;
}
case 214: // for_init = local_variable_declaration.d
{
final Symbol _symbol_d = _symbols[offset + 1];
final VarDeclStmt d = (VarDeclStmt) _symbol_d.value;
return new List().add(d);
}
case 215: // for_update = statement_expression_list.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
return l;
}
case 216: // statement_expression_list = statement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final ExprStmt e = (ExprStmt) _symbol_e.value;
return new List().add(e);
}
case 217: // statement_expression_list = statement_expression_list.l COMMA.COMMA statement_expression.e
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final ExprStmt e = (ExprStmt) _symbol_e.value;
return l.add(e);
}
case 218: // break_statement = BREAK.BREAK IDENTIFIER.id SEMICOLON.SEMICOLON
{
final Symbol BREAK = _symbols[offset + 1];
final Symbol id = _symbols[offset + 2];
final Symbol SEMICOLON = _symbols[offset + 3];
return new BreakStmt(((String)id.value));
}
case 219: // break_statement = BREAK.BREAK SEMICOLON.SEMICOLON
{
final Symbol BREAK = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new BreakStmt("");
}
case 220: // continue_statement = CONTINUE.CONTINUE IDENTIFIER.id SEMICOLON.SEMICOLON
{
final Symbol CONTINUE = _symbols[offset + 1];
final Symbol id = _symbols[offset + 2];
final Symbol SEMICOLON = _symbols[offset + 3];
return new ContinueStmt(((String)id.value));
}
case 221: // continue_statement = CONTINUE.CONTINUE SEMICOLON.SEMICOLON
{
final Symbol CONTINUE = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new ContinueStmt("");
}
case 222: // return_statement = RETURN.RETURN expression_opt.e SEMICOLON.SEMICOLON
{
final Symbol RETURN = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Opt e = (Opt) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ReturnStmt(e);
}
case 223: // throw_statement = THROW.THROW expression.e SEMICOLON.SEMICOLON
{
final Symbol THROW = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ThrowStmt(e);
}
case 224: // synchronized_statement = SYNCHRONIZED.SYNCHRONIZED LPAREN.LPAREN expression.e RPAREN.RPAREN block.b
{
final Symbol SYNCHRONIZED = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_b = _symbols[offset + 5];
final Block b = (Block) _symbol_b.value;
return new SynchronizedStmt(e, b);
}
case 225: // try_statement = TRY.TRY block.b catches.c
{
final Symbol TRY = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
final Symbol _symbol_c = _symbols[offset + 3];
final List c = (List) _symbol_c.value;
return new TryStmt(b, c, new Opt());
}
case 226: // try_statement = TRY.TRY block.b finally.f
{
final Symbol TRY = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
final Symbol _symbol_f = _symbols[offset + 3];
final Block f = (Block) _symbol_f.value;
return new TryStmt(b, new List(), new Opt(f));
}
case 227: // try_statement = TRY.TRY block.b catches.c finally.f
{
final Symbol TRY = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
final Symbol _symbol_c = _symbols[offset + 3];
final List c = (List) _symbol_c.value;
final Symbol _symbol_f = _symbols[offset + 4];
final Block f = (Block) _symbol_f.value;
return new TryStmt(b, c, new Opt(f));
}
case 228: // catches = catch_clause.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final CatchClause c = (CatchClause) _symbol_c.value;
return new List().add(c);
}
case 229: // catches = catches.l catch_clause.c
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_c = _symbols[offset + 2];
final CatchClause c = (CatchClause) _symbol_c.value;
return l.add(c);
}
case 230: // catch_clause = CATCH.CATCH LPAREN.LPAREN formal_parameter.p RPAREN.RPAREN block.b
{
final Symbol CATCH = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final ParameterDeclaration p = (ParameterDeclaration) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_b = _symbols[offset + 5];
final Block b = (Block) _symbol_b.value;
return new BasicCatch(p, b);
}
case 231: // finally = FINALLY.FINALLY block.b
{
final Symbol FINALLY = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
return b;
}
case 232: // assert_statement = ASSERT.ASSERT expression.e SEMICOLON.SEMICOLON
{
final Symbol ASSERT = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new AssertStmt(e, new Opt());
}
case 233: // assert_statement = ASSERT.ASSERT expression.e COLON.COLON expression.s SEMICOLON.SEMICOLON
{
final Symbol ASSERT = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol COLON = _symbols[offset + 3];
final Symbol _symbol_s = _symbols[offset + 4];
final Expr s = (Expr) _symbol_s.value;
final Symbol SEMICOLON = _symbols[offset + 5];
return new AssertStmt(e, new Opt(s));
}
case 234: // primary = primary_no_new_array.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 235: // primary = array_creation_init.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 236: // primary = array_creation_uninit.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 237: // class_literal = CLASS.CLASS
{
final Symbol CLASS = _symbols[offset + 1];
return new ClassAccess();
}
case 238: // subclass_body = class_body.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final List b = (List) _symbol_b.value;
return new Opt(new AnonymousDecl(new Modifiers(), "Anonymous", b));
}
case 239: // argument_list = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new List().add(e);
}
case 240: // argument_list = argument_list.l COMMA.COMMA expression.e
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
return l.add(e);
}
case 241: // array_creation_uninit = NEW.NEW primitive_type.t dim_exprs.d
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
return new ArrayCreationExpr(t.addArrayDims(d), new Opt());
}
case 242: // array_creation_uninit = NEW.NEW primitive_type.t dim_exprs.d dims.e
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol _symbol_e = _symbols[offset + 4];
final List e = (List) _symbol_e.value;
return new ArrayCreationExpr(t.addArrayDims(d).addArrayDims(e), new Opt());
}
case 243: // array_creation_uninit = NEW.NEW class_or_interface_type.t dim_exprs.d
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
return new ArrayCreationExpr(t.addArrayDims(d), new Opt());
}
case 244: // array_creation_uninit = NEW.NEW class_or_interface_type.t dim_exprs.d dims.e
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol _symbol_e = _symbols[offset + 4];
final List e = (List) _symbol_e.value;
return new ArrayCreationExpr(t.addArrayDims(d).addArrayDims(e), new Opt());
}
case 245: // array_creation_init = NEW.NEW primitive_type.t dims.d array_initializer.i
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol _symbol_i = _symbols[offset + 4];
final ArrayInit i = (ArrayInit) _symbol_i.value;
return new ArrayCreationExpr(t.addArrayDims(d), new Opt(i));
}
case 246: // array_creation_init = NEW.NEW class_or_interface_type.t dims.d array_initializer.i
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol _symbol_i = _symbols[offset + 4];
final ArrayInit i = (ArrayInit) _symbol_i.value;
return new ArrayCreationExpr(t.addArrayDims(d), new Opt(i));
}
case 247: // dim_exprs = dim_expr.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Dims e = (Dims) _symbol_e.value;
return new List().add(e);
}
case 248: // dim_exprs = dim_exprs.l dim_expr.e
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_e = _symbols[offset + 2];
final Dims e = (Dims) _symbol_e.value;
return l.add(e);
}
case 249: // dim_expr = LBRACK.LBRACK expression.e RBRACK.RBRACK
{
final Symbol LBRACK = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol RBRACK = _symbols[offset + 3];
return new Dims(new Opt(e));
}
case 250: // dims = LBRACK.LBRACK RBRACK.RBRACK
{
final Symbol LBRACK = _symbols[offset + 1];
final Symbol RBRACK = _symbols[offset + 2];
Dims d = new Dims(new Opt()); d.setStart(LBRACK.getStart()); d.setEnd(RBRACK.getEnd());
return new List().add(d);
}
case 251: // dims = dims.l LBRACK.LBRACK RBRACK.RBRACK
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol LBRACK = _symbols[offset + 2];
final Symbol RBRACK = _symbols[offset + 3];
Dims d = new Dims(new Opt()); d.setStart(LBRACK.getStart()); d.setEnd(RBRACK.getEnd());
return l.add(d);
}
case 252: // field_access = primary.p DOT.DOT simple_name.id
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_id = _symbols[offset + 3];
final Access id = (Access) _symbol_id.value;
return p.qualifiesAccess(id);
}
case 253: // field_access = SUPER.SUPER DOT.DOT simple_name.id
{
final Symbol SUPER = _symbols[offset + 1];
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_id = _symbols[offset + 3];
final Access id = (Access) _symbol_id.value;
SuperAccess s = new SuperAccess("super");
s.setStart(SUPER.getStart());
s.setEnd(SUPER.getEnd());
return s.qualifiesAccess(id);
}
case 254: // field_access = name.n DOT.DOT SUPER.SUPER DOT.DOT_ simple_name.id
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol DOT_ = _symbols[offset + 4];
final Symbol _symbol_id = _symbols[offset + 5];
final Access id = (Access) _symbol_id.value;
SuperAccess s = new SuperAccess("super");
s.setStart(SUPER.getStart());
s.setEnd(SUPER.getEnd());
return n.qualifiesAccess(s).qualifiesAccess(id);
}
case 255: // method_invocation = name.n LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 4];
if(n instanceof AbstractDot) {
AbstractDot d = (AbstractDot)n;
ParseName pn = (ParseName)d.extractLast();
MethodAccess m = new MethodAccess(pn.getID(), l);
m.setStart(pn.getStart()); // add location information
m.setEnd(RPAREN.getEnd()); // add location information
m.IDstart = pn.getStart();
m.IDend = pn.getStart() + pn.getID().length() - 1;
d.replaceLast(m);
return d;
}
else {
ParseName pn = (ParseName)n;
MethodAccess m = new MethodAccess(pn.getID(), l);
m.setStart(pn.getStart()); // add location information
m.setEnd(RPAREN.getEnd()); // add location information
m.IDstart = pn.getStart();
m.IDend = pn.getStart() + pn.getID().length() - 1;
return m;
}
}
case 256: // method_invocation = primary.p DOT.DOT IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
MethodAccess m = new MethodAccess(IDENTIFIER, l);
m.setStart(IDENTIFIER.getStart()); // add location information
m.setEnd(RPAREN.getEnd()); // add location information
return p.qualifiesAccess(m);
}
case 257: // method_invocation = SUPER.SUPER DOT.DOT IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol SUPER = _symbols[offset + 1];
final Symbol DOT = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
SuperAccess s = new SuperAccess("super");
s.setStart(SUPER.getStart());
s.setEnd(SUPER.getEnd());
MethodAccess m = new MethodAccess(IDENTIFIER, l);
m.setStart(IDENTIFIER.getStart());
m.setEnd(RPAREN.getEnd());
return s.qualifiesAccess(m);
}
case 258: // method_invocation = name.n DOT.DOT SUPER.SUPER DOT.DOT_ IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol DOT_ = _symbols[offset + 4];
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
SuperAccess s = new SuperAccess("super");
s.setStart(SUPER.getStart());
s.setEnd(SUPER.getEnd());
MethodAccess m = new MethodAccess(IDENTIFIER, l);
m.setStart(IDENTIFIER.getStart());
m.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(s).qualifiesAccess(m);
}
case 259: // array_access = name.n LBRACK.LBRACK expression.e RBRACK.RBRACK
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LBRACK = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RBRACK = _symbols[offset + 4];
ArrayAccess a = new ArrayAccess(e);
a.setStart(LBRACK.getStart());
a.setEnd(RBRACK.getEnd());
return n.qualifiesAccess(a);
}
case 260: // array_access = primary_no_new_array.p LBRACK.LBRACK expression.e RBRACK.RBRACK
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol LBRACK = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RBRACK = _symbols[offset + 4];
ArrayAccess a = new ArrayAccess(e);
a.setStart(LBRACK.getStart());
a.setEnd(RBRACK.getEnd());
return p.qualifiesAccess(a);
}
case 261: // postfix_expression = primary.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 262: // postfix_expression = name.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 263: // postfix_expression = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 264: // postfix_expression = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 265: // postincrement_expression = postfix_expression.e PLUSPLUS.PLUSPLUS
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol PLUSPLUS = _symbols[offset + 2];
return new PostIncExpr(e);
}
case 266: // postdecrement_expression = postfix_expression.e MINUSMINUS.MINUSMINUS
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol MINUSMINUS = _symbols[offset + 2];
return new PostDecExpr(e);
}
case 267: // unary_expression = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 268: // unary_expression = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 269: // unary_expression = PLUS.PLUS unary_expression.e
{
final Symbol PLUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new PlusExpr(e);
}
case 270: // unary_expression = MINUS.MINUS unary_expression.e
{
final Symbol MINUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new MinusExpr(e);
}
case 271: // unary_expression = unary_expression_not_plus_minus.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 272: // preincrement_expression = PLUSPLUS.PLUSPLUS unary_expression.e
{
final Symbol PLUSPLUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new PreIncExpr(e);
}
case 273: // predecrement_expression = MINUSMINUS.MINUSMINUS unary_expression.e
{
final Symbol MINUSMINUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new PreDecExpr(e);
}
case 274: // unary_expression_not_plus_minus = postfix_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 275: // unary_expression_not_plus_minus = COMP.COMP unary_expression.e
{
final Symbol COMP = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new BitNotExpr(e);
}
case 276: // unary_expression_not_plus_minus = NOT.NOT unary_expression.e
{
final Symbol NOT = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new LogNotExpr(e);
}
case 277: // unary_expression_not_plus_minus = cast_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 278: // cast_expression = LPAREN.LPAREN primitive_type.t RPAREN.RPAREN unary_expression.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol RPAREN = _symbols[offset + 3];
final Symbol _symbol_e = _symbols[offset + 4];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(t.addArrayDims(new List()), e);
}
case 279: // cast_expression = LPAREN.LPAREN primitive_type.t dims.d RPAREN.RPAREN unary_expression.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(t.addArrayDims(d), e);
}
case 280: // cast_expression = LPAREN.LPAREN name.t RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol RPAREN = _symbols[offset + 3];
final Symbol _symbol_e = _symbols[offset + 4];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(t.addArrayDims(new List()), e);
}
case 281: // cast_expression = LPAREN.LPAREN name.t dims.d RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(t.addArrayDims(d), e);
}
case 282: // multiplicative_expression = unary_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 283: // multiplicative_expression = multiplicative_expression.e1 MULT.MULT unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MULT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new MulExpr(e1, e2);
}
case 284: // multiplicative_expression = multiplicative_expression.e1 DIV.DIV unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol DIV = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new DivExpr(e1, e2);
}
case 285: // multiplicative_expression = multiplicative_expression.e1 MOD.MOD unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MOD = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new ModExpr(e1, e2);
}
case 286: // additive_expression = multiplicative_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 287: // additive_expression = additive_expression.e1 PLUS.PLUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol PLUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AddExpr(e1, e2);
}
case 288: // additive_expression = additive_expression.e1 MINUS.MINUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MINUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new SubExpr(e1, e2);
}
case 289: // shift_expression = additive_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 290: // shift_expression = shift_expression.e1 LSHIFT.LSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LShiftExpr(e1, e2);
}
case 291: // shift_expression = shift_expression.e1 RSHIFT.RSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol RSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new RShiftExpr(e1, e2);
}
case 292: // shift_expression = shift_expression.e1 URSHIFT.URSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol URSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new URShiftExpr(e1, e2);
}
case 293: // relational_expression = shift_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 294: // relational_expression = relational_expression.e1 LT.LT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LTExpr(e1, e2);
}
case 295: // relational_expression = relational_expression.e1 GT.GT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol GT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GTExpr(e1, e2);
}
case 296: // relational_expression = relational_expression.e1 LTEQ.LTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LEExpr(e1, e2);
}
case 297: // relational_expression = relational_expression.e1 GTEQ.GTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol GTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GEExpr(e1, e2);
}
case 298: // relational_expression = relational_expression.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 299: // equality_expression = relational_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 300: // equality_expression = equality_expression.e1 EQEQ.EQEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol EQEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new EQExpr(e1, e2);
}
case 301: // equality_expression = equality_expression.e1 NOTEQ.NOTEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol NOTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new NEExpr(e1, e2);
}
case 302: // and_expression = equality_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 303: // and_expression = and_expression.e1 AND.AND equality_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol AND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndBitwiseExpr(e1, e2);
}
case 304: // exclusive_or_expression = and_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 305: // exclusive_or_expression = exclusive_or_expression.e1 XOR.XOR and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol XOR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new XorBitwiseExpr(e1, e2);
}
case 306: // inclusive_or_expression = exclusive_or_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 307: // inclusive_or_expression = inclusive_or_expression.e1 OR.OR exclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol OR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrBitwiseExpr(e1, e2);
}
case 308: // conditional_and_expression = inclusive_or_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 309: // conditional_and_expression = conditional_and_expression.e1 ANDAND.ANDAND inclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol ANDAND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndLogicalExpr(e1, e2);
}
case 310: // conditional_or_expression = conditional_and_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 311: // conditional_or_expression = conditional_or_expression.e1 OROR.OROR conditional_and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol OROR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrLogicalExpr(e1, e2);
}
case 312: // conditional_expression = conditional_or_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 313: // conditional_expression = conditional_or_expression.c QUESTION.QUESTION expression.e1 COLON.COLON conditional_expression.e2
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
final Symbol QUESTION = _symbols[offset + 2];
final Symbol _symbol_e1 = _symbols[offset + 3];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e2 = _symbols[offset + 5];
final Expr e2 = (Expr) _symbol_e2.value;
return new ConditionalExpr(c, e1, e2);
}
case 314: // assignment_expression = conditional_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 315: // assignment_expression = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 316: // assignment = postfix_expression.dest EQ.EQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol EQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignSimpleExpr(dest, source);
}
case 317: // assignment = postfix_expression.dest MULTEQ.MULTEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol MULTEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignMulExpr(dest, source);
}
case 318: // assignment = postfix_expression.dest DIVEQ.DIVEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol DIVEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignDivExpr(dest, source);
}
case 319: // assignment = postfix_expression.dest MODEQ.MODEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol MODEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignModExpr(dest, source);
}
case 320: // assignment = postfix_expression.dest PLUSEQ.PLUSEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol PLUSEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignPlusExpr(dest, source);
}
case 321: // assignment = postfix_expression.dest MINUSEQ.MINUSEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol MINUSEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignMinusExpr(dest, source);
}
case 322: // assignment = postfix_expression.dest LSHIFTEQ.LSHIFTEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol LSHIFTEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignLShiftExpr(dest, source);
}
case 323: // assignment = postfix_expression.dest RSHIFTEQ.RSHIFTEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol RSHIFTEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignRShiftExpr(dest, source);
}
case 324: // assignment = postfix_expression.dest URSHIFTEQ.URSHIFTEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol URSHIFTEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignURShiftExpr(dest, source);
}
case 325: // assignment = postfix_expression.dest ANDEQ.ANDEQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol ANDEQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignAndExpr(dest, source);
}
case 326: // assignment = postfix_expression.dest XOREQ.XOREQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol XOREQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignXorExpr(dest, source);
}
case 327: // assignment = postfix_expression.dest OREQ.OREQ assignment_expression.source
{
final Symbol _symbol_dest = _symbols[offset + 1];
final Expr dest = (Expr) _symbol_dest.value;
final Symbol OREQ = _symbols[offset + 2];
final Symbol _symbol_source = _symbols[offset + 3];
final Expr source = (Expr) _symbol_source.value;
return new AssignOrExpr(dest, source);
}
case 328: // expression = assignment_expression.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 329: // constant_expression = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 330: // class_body_declaration = error.error SEMICOLON.SEMICOLON
{
final Symbol error = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new InstanceInitializer(new Block());
}
case 331: // class_body_declaration = error.error LBRACE.LBRACE
{
final Symbol error = _symbols[offset + 1];
final Symbol LBRACE = _symbols[offset + 2];
return new InstanceInitializer(new Block());
}
case 332: // block = LBRACE.LBRACE error.error RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol error = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new Block(new List());
}
case 333: // switch_block = LBRACE.LBRACE error.error RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol error = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new Block(new List());
}
case 334: // statement = error.error SEMICOLON.SEMICOLON
{
final Symbol error = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new EmptyStmt();
}
case 335: // type_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
return i;
}
case 336: // interface_member_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
MemberInterfaceDecl mid = new MemberInterfaceDecl(i);
mid.setStart(i.getStart());
mid.setEnd(i.getEnd());
return mid;
}
case 337: // class_member_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
MemberInterfaceDecl mid = new MemberInterfaceDecl(i);
mid.setStart(i.getStart());
mid.setEnd(i.getEnd());
return mid;
}
case 338: // annotation_type_declaration = AT.AT INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER annotation_type_body.b
{
final Symbol AT = _symbols[offset + 1];
final Symbol INTERFACE = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
AnnotationDecl a = new AnnotationDecl(new Modifiers(new List()), IDENTIFIER, b);
a.setStart(new List().getStart());
a.setEnd(b.getEnd());
return a;
}
case 339: // annotation_type_declaration = modifiers.m AT.AT INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER annotation_type_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol AT = _symbols[offset + 2];
final Symbol INTERFACE = _symbols[offset + 3];
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
AnnotationDecl a = new AnnotationDecl(new Modifiers(m), IDENTIFIER, b);
a.setStart(m.getStart());
a.setEnd(b.getEnd());
return a;
}
case 340: // annotation_type_body = LBRACE.LBRACE annotation_type_element_declarations_opt.i RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol RBRACE = _symbols[offset + 3];
return i;
}
case 341: // annotation_type_element_declarations = annotation_type_element_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return new List().add(i);
}
case 342: // annotation_type_element_declarations = annotation_type_element_declarations.l annotation_type_element_declaration.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_i = _symbols[offset + 2];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return l.add(i);
}
case 343: // annotation_type_element_declaration = type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN RPAREN.RPAREN default_value_opt.default_value SEMICOLON.SEMICOLON
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol RPAREN = _symbols[offset + 4];
final Symbol _symbol_default_value = _symbols[offset + 5];
final Opt default_value = (Opt) _symbol_default_value.value;
final Symbol SEMICOLON = _symbols[offset + 6];
AnnotationMethodDecl a = new AnnotationMethodDecl(new Modifiers(new List()), t, IDENTIFIER, new List(), new List(), new Opt(), default_value);
a.setStart(new List().getStart());
a.setEnd(SEMICOLON.getEnd());
return a;
}
case 344: // annotation_type_element_declaration = modifiers.m type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN RPAREN.RPAREN default_value_opt.default_value SEMICOLON.SEMICOLON
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_default_value = _symbols[offset + 6];
final Opt default_value = (Opt) _symbol_default_value.value;
final Symbol SEMICOLON = _symbols[offset + 7];
AnnotationMethodDecl a = new AnnotationMethodDecl(new Modifiers(m), t, IDENTIFIER, new List(), new List(), new Opt(), default_value);
a.setStart(m.getStart());
a.setEnd(SEMICOLON.getEnd());
return a;
}
case 346: // annotation_type_element_declaration = class_declaration.class_declaration
{
final Symbol _symbol_class_declaration = _symbols[offset + 1];
final ClassDecl class_declaration = (ClassDecl) _symbol_class_declaration.value;
MemberClassDecl m = new MemberClassDecl(class_declaration);
m.setStart(class_declaration.getStart());
m.setEnd(class_declaration.getEnd());
return m;
}
case 347: // annotation_type_element_declaration = interface_declaration.interface_declaration
{
final Symbol _symbol_interface_declaration = _symbols[offset + 1];
final InterfaceDecl interface_declaration = (InterfaceDecl) _symbol_interface_declaration.value;
MemberInterfaceDecl m = new MemberInterfaceDecl(interface_declaration);
m.setStart(interface_declaration.getStart());
m.setEnd(interface_declaration.getEnd());
return m;
}
case 348: // annotation_type_element_declaration = enum_declaration.enum_declaration
{
final Symbol _symbol_enum_declaration = _symbols[offset + 1];
final EnumDecl enum_declaration = (EnumDecl) _symbol_enum_declaration.value;
MemberClassDecl m = new MemberClassDecl(enum_declaration);
m.setStart(enum_declaration.getStart());
m.setEnd(enum_declaration.getEnd());
return m;
}
case 349: // annotation_type_element_declaration = annotation_type_declaration.annotation_type_declaration
{
final Symbol _symbol_annotation_type_declaration = _symbols[offset + 1];
final AnnotationDecl annotation_type_declaration = (AnnotationDecl) _symbol_annotation_type_declaration.value;
MemberInterfaceDecl m = new MemberInterfaceDecl(annotation_type_declaration);
m.setStart(annotation_type_declaration.getStart());
m.setEnd(annotation_type_declaration.getEnd());
return m;
}
case 350: // annotation_type_element_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 351: // default_value = DEFAULT.DEFAULT element_value.element_value
{
final Symbol DEFAULT = _symbols[offset + 1];
final Symbol _symbol_element_value = _symbols[offset + 2];
final ElementValue element_value = (ElementValue) _symbol_element_value.value;
return element_value;
}
case 356: // normal_annotation = AT.AT name.name LPAREN.LPAREN element_value_pairs_opt.element_value_pairs RPAREN.RPAREN
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_name = _symbols[offset + 2];
final Access name = (Access) _symbol_name.value;
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_element_value_pairs = _symbols[offset + 4];
final List element_value_pairs = (List) _symbol_element_value_pairs.value;
final Symbol RPAREN = _symbols[offset + 5];
Annotation a = new Annotation("annotation", name, element_value_pairs);
a.setStart(AT.getStart());
a.setEnd(RPAREN.getEnd());
return a;
}
case 357: // element_value_pairs = element_value_pair.element_value_pair
{
final Symbol _symbol_element_value_pair = _symbols[offset + 1];
final ElementValuePair element_value_pair = (ElementValuePair) _symbol_element_value_pair.value;
return new List().add(element_value_pair);
}
case 358: // element_value_pairs = element_value_pairs.element_value_pairs COMMA.COMMA element_value_pair.element_value_pair
{
final Symbol _symbol_element_value_pairs = _symbols[offset + 1];
final List element_value_pairs = (List) _symbol_element_value_pairs.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_element_value_pair = _symbols[offset + 3];
final ElementValuePair element_value_pair = (ElementValuePair) _symbol_element_value_pair.value;
return element_value_pairs.add(element_value_pair);
}
case 359: // element_value_pair = IDENTIFIER.IDENTIFIER EQ.EQ element_value.element_value
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol EQ = _symbols[offset + 2];
final Symbol _symbol_element_value = _symbols[offset + 3];
final ElementValue element_value = (ElementValue) _symbol_element_value.value;
ElementValuePair evp = new ElementValuePair(IDENTIFIER, element_value);
evp.setStart(IDENTIFIER.getStart());
evp.setEnd(element_value.getEnd());
return evp;
}
case 360: // element_value = conditional_expression.conditional_expression
{
final Symbol _symbol_conditional_expression = _symbols[offset + 1];
final Expr conditional_expression = (Expr) _symbol_conditional_expression.value;
ElementConstantValue e = new ElementConstantValue(conditional_expression);
e.setStart(conditional_expression.getStart());
e.setEnd(conditional_expression.getEnd());
return e;
}
case 361: // element_value = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new ElementAnnotationValue(annotation);
}
case 362: // element_value = element_value_array_initializer.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final ElementArrayValue e = (ElementArrayValue) _symbol_e.value;
return e;
}
case 363: // element_value_array_initializer = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new ElementArrayValue(new List());
}
case 364: // element_value_array_initializer = LBRACE.LBRACE element_values.element_values RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_element_values = _symbols[offset + 2];
final List element_values = (List) _symbol_element_values.value;
final Symbol RBRACE = _symbols[offset + 3];
return new ElementArrayValue(element_values);
}
case 365: // element_value_array_initializer = LBRACE.LBRACE COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol COMMA = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new ElementArrayValue(new List());
}
case 366: // element_value_array_initializer = LBRACE.LBRACE element_values.element_values COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_element_values = _symbols[offset + 2];
final List element_values = (List) _symbol_element_values.value;
final Symbol COMMA = _symbols[offset + 3];
final Symbol RBRACE = _symbols[offset + 4];
return new ElementArrayValue(element_values);
}
case 367: // element_values = element_value.element_value
{
final Symbol _symbol_element_value = _symbols[offset + 1];
final ElementValue element_value = (ElementValue) _symbol_element_value.value;
return new List().add(element_value);
}
case 368: // element_values = element_values.element_values COMMA.COMMA element_value.element_value
{
final Symbol _symbol_element_values = _symbols[offset + 1];
final List element_values = (List) _symbol_element_values.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_element_value = _symbols[offset + 3];
final ElementValue element_value = (ElementValue) _symbol_element_value.value;
return element_values.add(element_value);
}
case 369: // marker_annotation = AT.AT name.name
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_name = _symbols[offset + 2];
final Access name = (Access) _symbol_name.value;
return new Annotation("annotation", name, new List());
}
case 370: // single_element_annotation = AT.AT name.name LPAREN.LPAREN element_value.element_value RPAREN.RPAREN
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_name = _symbols[offset + 2];
final Access name = (Access) _symbol_name.value;
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_element_value = _symbols[offset + 4];
final ElementValue element_value = (ElementValue) _symbol_element_value.value;
final Symbol RPAREN = _symbols[offset + 5];
Annotation a = new Annotation("annotation", name, new List().add(new ElementValuePair("value", element_value)));
a.setStart(AT.getStart());
a.setEnd(RPAREN.getEnd());
return a;
}
case 371: // compilation_unit = modifiers.a package_declaration.p
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol _symbol_p = _symbols[offset + 2];
final IdUse p = (IdUse) _symbol_p.value;
return new AnnotatedCompilationUnit(p.getID(), new List(), new List(), new Modifiers(a));
}
case 372: // compilation_unit = modifiers.a package_declaration.p import_declarations.i
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol _symbol_p = _symbols[offset + 2];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
return new AnnotatedCompilationUnit(p.getID(), i, new List(), new Modifiers(a));
}
case 373: // compilation_unit = modifiers.a package_declaration.p type_declarations.t
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol _symbol_p = _symbols[offset + 2];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_t = _symbols[offset + 3];
final List t = (List) _symbol_t.value;
return new AnnotatedCompilationUnit(p.getID(), new List(), t, new Modifiers(a));
}
case 374: // compilation_unit = modifiers.a package_declaration.p import_declarations.i type_declarations.t
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol _symbol_p = _symbols[offset + 2];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol _symbol_t = _symbols[offset + 4];
final List t = (List) _symbol_t.value;
return new AnnotatedCompilationUnit(p.getID(), i, t, new Modifiers(a));
}
case 375: // statement = enhanced_for_statement.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Stmt f = (Stmt) _symbol_f.value;
return f;
}
case 376: // statement_no_short_if = enhanced_for_statement_no_short_if.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Stmt f = (Stmt) _symbol_f.value;
return f;
}
case 377: // enhanced_for_statement = FOR.FOR LPAREN.LPAREN enhanced_for_parameter.p COLON.COLON expression.e RPAREN.RPAREN statement.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final VariableDeclaration p = (VariableDeclaration) _symbol_p.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_s = _symbols[offset + 7];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(p, e, s);
}
case 378: // enhanced_for_statement_no_short_if = FOR.FOR LPAREN.LPAREN enhanced_for_parameter.p COLON.COLON expression.e RPAREN.RPAREN statement_no_short_if.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final VariableDeclaration p = (VariableDeclaration) _symbol_p.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_s = _symbols[offset + 7];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(p, e, s);
}
case 379: // enhanced_for_parameter = type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
return new VariableDeclaration(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, new Opt());
}
case 380: // enhanced_for_parameter = modifiers.m type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
return new VariableDeclaration(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, new Opt());
}
case 381: // type_declaration = enum_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final EnumDecl i = (EnumDecl) _symbol_i.value;
return i;
}
case 382: // interface_member_declaration = enum_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final EnumDecl i = (EnumDecl) _symbol_i.value;
return new MemberClassDecl(i);
}
case 383: // class_member_declaration = enum_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final EnumDecl i = (EnumDecl) _symbol_i.value;
return new MemberClassDecl(i);
}
case 384: // enum_declaration = ENUM.ENUM IDENTIFIER.id enum_body.b
{
final Symbol ENUM = _symbols[offset + 1];
final Symbol id = _symbols[offset + 2];
final Symbol _symbol_b = _symbols[offset + 3];
final List b = (List) _symbol_b.value;
return new EnumDecl(new Modifiers(new List()), ((String)id.value), new List(), b);
}
case 385: // enum_declaration = modifiers.m ENUM.ENUM IDENTIFIER.id enum_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol ENUM = _symbols[offset + 2];
final Symbol id = _symbols[offset + 3];
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new EnumDecl(new Modifiers(m), ((String)id.value), new List(), b);
}
case 386: // enum_declaration = ENUM.ENUM IDENTIFIER.id interfaces.i enum_body.b
{
final Symbol ENUM = _symbols[offset + 1];
final Symbol id = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new EnumDecl(new Modifiers(new List()), ((String)id.value), i, b);
}
case 387: // enum_declaration = modifiers.m ENUM.ENUM IDENTIFIER.id interfaces.i enum_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol ENUM = _symbols[offset + 2];
final Symbol id = _symbols[offset + 3];
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new EnumDecl(new Modifiers(m), ((String)id.value), i, b);
}
case 388: // enum_body = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new List();
}
case 389: // enum_body = LBRACE.LBRACE enum_constants.enum_constants RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_enum_constants = _symbols[offset + 2];
final List enum_constants = (List) _symbol_enum_constants.value;
final Symbol RBRACE = _symbols[offset + 3];
return enum_constants;
}
case 390: // enum_body = LBRACE.LBRACE COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol COMMA = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new List();
}
case 391: // enum_body = LBRACE.LBRACE enum_constants.enum_constants COMMA.COMMA RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_enum_constants = _symbols[offset + 2];
final List enum_constants = (List) _symbol_enum_constants.value;
final Symbol COMMA = _symbols[offset + 3];
final Symbol RBRACE = _symbols[offset + 4];
return enum_constants;
}
case 392: // enum_body = LBRACE.LBRACE enum_body_declarations.enum_body_declarations RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_enum_body_declarations = _symbols[offset + 2];
final List enum_body_declarations = (List) _symbol_enum_body_declarations.value;
final Symbol RBRACE = _symbols[offset + 3];
return enum_body_declarations;
}
case 393: // enum_body = LBRACE.LBRACE enum_constants.c enum_body_declarations.d RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final List c = (List) _symbol_c.value;
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
final Symbol RBRACE = _symbols[offset + 4];
for(int i = 0; i < d.getNumChildNoTransform(); i++) c.add(d.getChildNoTransform(i)); return c;
}
case 394: // enum_body = LBRACE.LBRACE COMMA.COMMA enum_body_declarations.enum_body_declarations RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_enum_body_declarations = _symbols[offset + 3];
final List enum_body_declarations = (List) _symbol_enum_body_declarations.value;
final Symbol RBRACE = _symbols[offset + 4];
return enum_body_declarations;
}
case 395: // enum_body = LBRACE.LBRACE enum_constants.c COMMA.COMMA enum_body_declarations.d RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final List c = (List) _symbol_c.value;
final Symbol COMMA = _symbols[offset + 3];
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
final Symbol RBRACE = _symbols[offset + 5];
for(int i = 0; i < d.getNumChildNoTransform(); i++) c.add(d.getChildNoTransform(i)); return c;
}
case 396: // enum_constants = enum_constant.enum_constant
{
final Symbol _symbol_enum_constant = _symbols[offset + 1];
final BodyDecl enum_constant = (BodyDecl) _symbol_enum_constant.value;
return new List().add(enum_constant);
}
case 397: // enum_constants = enum_constants.enum_constants COMMA.COMMA enum_constant.enum_constant
{
final Symbol _symbol_enum_constants = _symbols[offset + 1];
final List enum_constants = (List) _symbol_enum_constants.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_enum_constant = _symbols[offset + 3];
final BodyDecl enum_constant = (BodyDecl) _symbol_enum_constant.value;
return enum_constants.add(enum_constant);
}
case 398: // enum_constant = IDENTIFIER.id
{
final Symbol id = _symbols[offset + 1];
return new EnumConstant(new Modifiers(new List()), ((String)id.value), new List(), new List());
}
case 399: // enum_constant = annotations.annotations IDENTIFIER.id
{
final Symbol _symbol_annotations = _symbols[offset + 1];
final List annotations = (List) _symbol_annotations.value;
final Symbol id = _symbols[offset + 2];
return new EnumConstant(new Modifiers(annotations), ((String)id.value), new List(), new List());
}
case 400: // enum_constant = IDENTIFIER.id arguments.arguments
{
final Symbol id = _symbols[offset + 1];
final Symbol _symbol_arguments = _symbols[offset + 2];
final List arguments = (List) _symbol_arguments.value;
return new EnumConstant(new Modifiers(new List()), ((String)id.value), arguments, new List());
}
case 401: // enum_constant = annotations.annotations IDENTIFIER.id arguments.arguments
{
final Symbol _symbol_annotations = _symbols[offset + 1];
final List annotations = (List) _symbol_annotations.value;
final Symbol id = _symbols[offset + 2];
final Symbol _symbol_arguments = _symbols[offset + 3];
final List arguments = (List) _symbol_arguments.value;
return new EnumConstant(new Modifiers(annotations), ((String)id.value), arguments, new List());
}
case 402: // enum_constant = IDENTIFIER.id class_body.class_body
{
final Symbol id = _symbols[offset + 1];
final Symbol _symbol_class_body = _symbols[offset + 2];
final List class_body = (List) _symbol_class_body.value;
return new EnumConstant(new Modifiers(new List()), ((String)id.value), new List(), class_body);
}
case 403: // enum_constant = annotations.annotations IDENTIFIER.id class_body.class_body
{
final Symbol _symbol_annotations = _symbols[offset + 1];
final List annotations = (List) _symbol_annotations.value;
final Symbol id = _symbols[offset + 2];
final Symbol _symbol_class_body = _symbols[offset + 3];
final List class_body = (List) _symbol_class_body.value;
return new EnumConstant(new Modifiers(annotations), ((String)id.value), new List(), class_body);
}
case 404: // enum_constant = IDENTIFIER.id arguments.arguments class_body.class_body
{
final Symbol id = _symbols[offset + 1];
final Symbol _symbol_arguments = _symbols[offset + 2];
final List arguments = (List) _symbol_arguments.value;
final Symbol _symbol_class_body = _symbols[offset + 3];
final List class_body = (List) _symbol_class_body.value;
return new EnumConstant(new Modifiers(new List()), ((String)id.value), arguments, class_body);
}
case 405: // enum_constant = annotations.annotations IDENTIFIER.id arguments.arguments class_body.class_body
{
final Symbol _symbol_annotations = _symbols[offset + 1];
final List annotations = (List) _symbol_annotations.value;
final Symbol id = _symbols[offset + 2];
final Symbol _symbol_arguments = _symbols[offset + 3];
final List arguments = (List) _symbol_arguments.value;
final Symbol _symbol_class_body = _symbols[offset + 4];
final List class_body = (List) _symbol_class_body.value;
return new EnumConstant(new Modifiers(annotations), ((String)id.value), arguments, class_body);
}
case 406: // arguments = LPAREN.LPAREN argument_list.argument_list RPAREN.RPAREN
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_argument_list = _symbols[offset + 2];
final List argument_list = (List) _symbol_argument_list.value;
final Symbol RPAREN = _symbols[offset + 3];
return argument_list;
}
case 407: // annotations = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new List().add(annotation);
}
case 408: // annotations = annotations.annotations annotation.annotation
{
final Symbol _symbol_annotations = _symbols[offset + 1];
final List annotations = (List) _symbol_annotations.value;
final Symbol _symbol_annotation = _symbols[offset + 2];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return annotations.add(annotation);
}
case 409: // enum_body_declarations = SEMICOLON.SEMICOLON class_body_declarations_opt.class_body_declarations
{
final Symbol SEMICOLON = _symbols[offset + 1];
final Symbol _symbol_class_body_declarations = _symbols[offset + 2];
final List class_body_declarations = (List) _symbol_class_body_declarations.value;
return class_body_declarations;
}
case 410: // explicit_constructor_invocation = type_arguments.a THIS.THIS LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol THIS = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol SEMICOLON = _symbols[offset + 6];
return new ExprStmt(new ParConstructorAccess("this", l, a));
}
case 411: // explicit_constructor_invocation = type_arguments.a SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_a = _symbols[offset + 1];
final List a = (List) _symbol_a.value;
final Symbol SUPER = _symbols[offset + 2];
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol SEMICOLON = _symbols[offset + 6];
return new ExprStmt(new ParSuperConstructorAccess("super", l, a));
}
case 412: // explicit_constructor_invocation = primary.p DOT.DOT type_arguments.a SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final List a = (List) _symbol_a.value;
final Symbol SUPER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol SEMICOLON = _symbols[offset + 8];
return new ExprStmt(p.qualifiesAccess(new ParSuperConstructorAccess("super", l, a)));
}
case 413: // explicit_constructor_invocation = name.n DOT.DOT type_arguments.a SUPER.SUPER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN SEMICOLON.SEMICOLON
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final List a = (List) _symbol_a.value;
final Symbol SUPER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol SEMICOLON = _symbols[offset + 8];
return new ExprStmt(n.qualifiesAccess(new ParSuperConstructorAccess("super", l, a)));
}
case 414: // method_invocation = primary.p DOT.DOT type_arguments.a IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final List a = (List) _symbol_a.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
return p.qualifiesAccess(new ParMethodAccess(IDENTIFIER, l, a));
}
case 415: // method_invocation = name.n DOT.DOT type_arguments.a IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final List a = (List) _symbol_a.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
return n.qualifiesAccess(new ParMethodAccess(IDENTIFIER, l, a));
}
case 416: // method_invocation = SUPER.SUPER DOT.DOT type_arguments.a IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol SUPER = _symbols[offset + 1];
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final List a = (List) _symbol_a.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
return new SuperAccess("super").qualifiesAccess(
new ParMethodAccess(IDENTIFIER, l, a));
}
case 417: // method_invocation = name.n DOT.d1 SUPER.SUPER DOT.d2 type_arguments.a IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol d1 = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol d2 = _symbols[offset + 4];
final Symbol _symbol_a = _symbols[offset + 5];
final List a = (List) _symbol_a.value;
final Symbol IDENTIFIER = _symbols[offset + 6];
final Symbol LPAREN = _symbols[offset + 7];
final Symbol _symbol_l = _symbols[offset + 8];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 9];
return n.qualifiesAccess(new SuperAccess("super")).qualifiesAccess(
new ParMethodAccess(IDENTIFIER, l, a));
}
case 418: // method_header = LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_p = _symbols[offset + 6];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 7];
return new GenericMethodDecl(new Modifiers(new List()), t.addArrayDims(new List()), IDENTIFIER, p, new List(), new Opt(), l);
}
case 419: // method_header = modifiers.m LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_p = _symbols[offset + 7];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 8];
return new GenericMethodDecl(new Modifiers(m), t.addArrayDims(new List()), IDENTIFIER, p, new List(), new Opt(), l);
}
case 420: // method_header = LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN dims.d
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_p = _symbols[offset + 6];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_d = _symbols[offset + 8];
final List d = (List) _symbol_d.value;
return new GenericMethodDecl(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, p, new List(), new Opt(), l);
}
case 421: // method_header = modifiers.m LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN dims.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_p = _symbols[offset + 7];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_d = _symbols[offset + 9];
final List d = (List) _symbol_d.value;
return new GenericMethodDecl(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, p, new List(), new Opt(), l);
}
case 422: // method_header = LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN throws.tl
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_p = _symbols[offset + 6];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(new List()), t.addArrayDims(new List()), IDENTIFIER, p, tl, new Opt(), l);
}
case 423: // method_header = modifiers.m LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN throws.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_p = _symbols[offset + 7];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_tl = _symbols[offset + 9];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(m), t.addArrayDims(new List()), IDENTIFIER, p, tl, new Opt(), l);
}
case 424: // method_header = LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN dims.d throws.tl
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_p = _symbols[offset + 6];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_d = _symbols[offset + 8];
final List d = (List) _symbol_d.value;
final Symbol _symbol_tl = _symbols[offset + 9];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, p, tl, new Opt(), l);
}
case 425: // method_header = modifiers.m LT.LT type_parameter_list_1.l type.t IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN dims.d throws.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_p = _symbols[offset + 7];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_d = _symbols[offset + 9];
final List d = (List) _symbol_d.value;
final Symbol _symbol_tl = _symbols[offset + 10];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, p, tl, new Opt(), l);
}
case 426: // method_header = LT.LT type_parameter_list_1.l VOID.VOID IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN throws_opt.tl
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol VOID = _symbols[offset + 3];
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_p = _symbols[offset + 6];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(new List()), new PrimitiveTypeAccess("void"), IDENTIFIER, p, tl, new Opt(), l);
}
case 427: // method_header = modifiers.m LT.LT type_parameter_list_1.l VOID.VOID IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.p RPAREN.RPAREN throws_opt.tl
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol VOID = _symbols[offset + 4];
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_p = _symbols[offset + 7];
final List p = (List) _symbol_p.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_tl = _symbols[offset + 9];
final List tl = (List) _symbol_tl.value;
return new GenericMethodDecl(new Modifiers(m), new PrimitiveTypeAccess("void"), IDENTIFIER, p, tl, new Opt(), l);
}
case 428: // constructor_declaration = LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_pl = _symbols[offset + 5];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 8];
final Symbol RBRACE = _symbols[offset + 9];
return new GenericConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(), new Block(new List()), l);
}
case 429: // constructor_declaration = modifiers.m LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_pl = _symbols[offset + 6];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 9];
final Symbol RBRACE = _symbols[offset + 10];
return new GenericConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(), new Block(new List()), l);
}
case 430: // constructor_declaration = LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c RBRACE.RBRACE
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_pl = _symbols[offset + 5];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 8];
final Symbol _symbol_c = _symbols[offset + 9];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 10];
return new GenericConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(c), new Block(new List()), l);
}
case 431: // constructor_declaration = modifiers.m LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_pl = _symbols[offset + 6];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 9];
final Symbol _symbol_c = _symbols[offset + 10];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 11];
return new GenericConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(c), new Block(new List()), l);
}
case 432: // constructor_declaration = LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE block_statements.bl RBRACE.RBRACE
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_pl = _symbols[offset + 5];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 8];
final Symbol _symbol_bl = _symbols[offset + 9];
final List bl = (List) _symbol_bl.value;
final Symbol RBRACE = _symbols[offset + 10];
return new GenericConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(), new Block(bl), l);
}
case 433: // constructor_declaration = modifiers.m LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE block_statements.bl RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_pl = _symbols[offset + 6];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 9];
final Symbol _symbol_bl = _symbols[offset + 10];
final List bl = (List) _symbol_bl.value;
final Symbol RBRACE = _symbols[offset + 11];
return new GenericConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(), new Block(bl), l);
}
case 434: // constructor_declaration = LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c block_statements.bl RBRACE.RBRACE
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_pl = _symbols[offset + 5];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_tl = _symbols[offset + 7];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 8];
final Symbol _symbol_c = _symbols[offset + 9];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol _symbol_bl = _symbols[offset + 10];
final List bl = (List) _symbol_bl.value;
final Symbol RBRACE = _symbols[offset + 11];
return new GenericConstructorDecl(new Modifiers(new List()), IDENTIFIER, pl, tl, new Opt(c), new Block(bl), l);
}
case 435: // constructor_declaration = modifiers.m LT.LT type_parameter_list_1.l IDENTIFIER.IDENTIFIER LPAREN.LPAREN formal_parameter_list_opt.pl RPAREN.RPAREN throws_opt.tl LBRACE.LBRACE explicit_constructor_invocation.c block_statements.bl RBRACE.RBRACE
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_pl = _symbols[offset + 6];
final List pl = (List) _symbol_pl.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_tl = _symbols[offset + 8];
final List tl = (List) _symbol_tl.value;
final Symbol LBRACE = _symbols[offset + 9];
final Symbol _symbol_c = _symbols[offset + 10];
final ExprStmt c = (ExprStmt) _symbol_c.value;
final Symbol _symbol_bl = _symbols[offset + 11];
final List bl = (List) _symbol_bl.value;
final Symbol RBRACE = _symbols[offset + 12];
return new GenericConstructorDecl(new Modifiers(m), IDENTIFIER, pl, tl, new Opt(c), new Block(bl), l);
}
case 436: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(new List()), IDENTIFIER, new Opt(), new List(), b, p);
}
case 437: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(m), IDENTIFIER, new Opt(), new List(), b, p);
}
case 438: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p super.s class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_s = _symbols[offset + 4];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(new List()), IDENTIFIER, s, new List(), b, p);
}
case 439: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p super.s class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_s = _symbols[offset + 5];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_b = _symbols[offset + 6];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(m), IDENTIFIER, s, new List(), b, p);
}
case 440: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p interfaces.i class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(new List()), IDENTIFIER, new Opt(), i, b, p);
}
case 441: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p interfaces.i class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 5];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 6];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(m), IDENTIFIER, new Opt(), i, b, p);
}
case 442: // class_declaration = CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p super.s interfaces.i class_body.b
{
final Symbol CLASS = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_s = _symbols[offset + 4];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_i = _symbols[offset + 5];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 6];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(new List()), IDENTIFIER, s, i, b, p);
}
case 443: // class_declaration = modifiers.m CLASS.CLASS IDENTIFIER.IDENTIFIER type_parameters.p super.s interfaces.i class_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol CLASS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_s = _symbols[offset + 5];
final Opt s = (Opt) _symbol_s.value;
final Symbol _symbol_i = _symbols[offset + 6];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 7];
final List b = (List) _symbol_b.value;
return new GenericClassDecl(new Modifiers(m), IDENTIFIER, s, i, b, p);
}
case 444: // interface_declaration = INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER type_parameters.p interface_body.b
{
final Symbol INTERFACE = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_b = _symbols[offset + 4];
final List b = (List) _symbol_b.value;
return new GenericInterfaceDecl(new Modifiers(new List()), IDENTIFIER, new List(), b, p);
}
case 445: // interface_declaration = modifiers.m INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER type_parameters.p interface_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol INTERFACE = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new GenericInterfaceDecl(new Modifiers(m), IDENTIFIER, new List(), b, p);
}
case 446: // interface_declaration = INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER type_parameters.p extends_interfaces.i interface_body.b
{
final Symbol INTERFACE = _symbols[offset + 1];
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final List p = (List) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 4];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 5];
final List b = (List) _symbol_b.value;
return new GenericInterfaceDecl(new Modifiers(new List()), IDENTIFIER, i, b, p);
}
case 447: // interface_declaration = modifiers.m INTERFACE.INTERFACE IDENTIFIER.IDENTIFIER type_parameters.p extends_interfaces.i interface_body.b
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol INTERFACE = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_p = _symbols[offset + 4];
final List p = (List) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 5];
final List i = (List) _symbol_i.value;
final Symbol _symbol_b = _symbols[offset + 6];
final List b = (List) _symbol_b.value;
return new GenericInterfaceDecl(new Modifiers(m), IDENTIFIER, i, b, p);
}
case 448: // class_or_interface = name.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 449: // class_or_interface = class_or_interface.n LT.LT type_argument_list_1.l DOT.DOT name.end
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol DOT = _symbols[offset + 4];
final Symbol _symbol_end = _symbols[offset + 5];
final Access end = (Access) _symbol_end.value;
return new ParTypeAccess(n, l).qualifiesAccess(end);
}
case 450: // class_or_interface_type = class_or_interface.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 451: // class_or_interface_type = class_or_interface.n LT.LT type_argument_list_1.l
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
return new ParTypeAccess(n, l);
}
case 452: // array_type = class_or_interface.t LT.LT type_argument_list_1.l DOT.DOT name.n dims.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol DOT = _symbols[offset + 4];
final Symbol _symbol_n = _symbols[offset + 5];
final Access n = (Access) _symbol_n.value;
final Symbol _symbol_d = _symbols[offset + 6];
final List d = (List) _symbol_d.value;
return new ParTypeAccess(t, l).qualifiesAccess(n).addArrayDims(d);
}
case 453: // array_type = class_or_interface.t LT.LT type_argument_list_1.l dims.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
return new ParTypeAccess(t, l).addArrayDims(d);
}
case 454: // type_arguments = LT.LT type_argument_list_1.l
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return l;
}
case 455: // wildcard = QUESTION.QUESTION
{
final Symbol QUESTION = _symbols[offset + 1];
return new Wildcard();
}
case 456: // wildcard = QUESTION.QUESTION EXTENDS.EXTENDS reference_type.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol EXTENDS = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardExtends(t);
}
case 457: // wildcard = QUESTION.QUESTION SUPER.SUPER reference_type.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol SUPER = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardSuper(t);
}
case 458: // wildcard_1 = QUESTION.QUESTION GT.GT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol GT = _symbols[offset + 2];
return new Wildcard();
}
case 459: // wildcard_1 = QUESTION.QUESTION EXTENDS.EXTENDS reference_type_1.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol EXTENDS = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardExtends(t);
}
case 460: // wildcard_1 = QUESTION.QUESTION SUPER.SUPER reference_type_1.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol SUPER = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardSuper(t);
}
case 461: // wildcard_2 = QUESTION.QUESTION RSHIFT.RSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol RSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 462: // wildcard_2 = QUESTION.QUESTION EXTENDS.EXTENDS reference_type_2.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol EXTENDS = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardExtends(t);
}
case 463: // wildcard_2 = QUESTION.QUESTION SUPER.SUPER reference_type_2.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol SUPER = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardSuper(t);
}
case 464: // wildcard_3 = QUESTION.QUESTION URSHIFT.URSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol URSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 465: // wildcard_3 = QUESTION.QUESTION EXTENDS.EXTENDS reference_type_3.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol EXTENDS = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardExtends(t);
}
case 466: // wildcard_3 = QUESTION.QUESTION SUPER.SUPER reference_type_3.t
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol SUPER = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new WildcardSuper(t);
}
case 467: // class_instance_creation_expression = NEW.NEW class_or_interface_type.t LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol LPAREN = _symbols[offset + 3];
final Symbol _symbol_l = _symbols[offset + 4];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_b = _symbols[offset + 6];
final Opt b = (Opt) _symbol_b.value;
return new ClassInstanceExpr(t, l, b);
}
case 468: // class_instance_creation_expression = NEW.NEW type_arguments.a class_or_interface_type.t LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol NEW = _symbols[offset + 1];
final Symbol _symbol_a = _symbols[offset + 2];
final List a = (List) _symbol_a.value;
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol LPAREN = _symbols[offset + 4];
final Symbol _symbol_l = _symbols[offset + 5];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_b = _symbols[offset + 7];
final Opt b = (Opt) _symbol_b.value;
return new ParClassInstanceExpr(t, l, b, a);
}
case 469: // class_instance_creation_expression = primary.n DOT.DOT NEW.NEW simple_name.id LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_id = _symbols[offset + 4];
final Access id = (Access) _symbol_id.value;
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_b = _symbols[offset + 8];
final Opt b = (Opt) _symbol_b.value;
ClassInstanceExpr e = new ClassInstanceExpr(id, l, b);
e.setStart(NEW.getStart());
e.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(e);
}
case 470: // class_instance_creation_expression = primary.n DOT.DOT NEW.NEW simple_name.id type_arguments.a LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_id = _symbols[offset + 4];
final Access id = (Access) _symbol_id.value;
final Symbol _symbol_a = _symbols[offset + 5];
final List a = (List) _symbol_a.value;
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_b = _symbols[offset + 9];
final Opt b = (Opt) _symbol_b.value;
ClassInstanceExpr e = new ClassInstanceExpr(new ParTypeAccess(id, a), l, b);
e.setStart(NEW.getStart());
e.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(e);
}
case 471: // class_instance_creation_expression = primary.n DOT.DOT NEW.NEW type_arguments.ca simple_name.id LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_ca = _symbols[offset + 4];
final List ca = (List) _symbol_ca.value;
final Symbol _symbol_id = _symbols[offset + 5];
final Access id = (Access) _symbol_id.value;
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_b = _symbols[offset + 9];
final Opt b = (Opt) _symbol_b.value;
return n.qualifiesAccess(new ParClassInstanceExpr(id, l, b, ca));
}
case 472: // class_instance_creation_expression = primary.n DOT.DOT NEW.NEW type_arguments.ca simple_name.id type_arguments.ta LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_ca = _symbols[offset + 4];
final List ca = (List) _symbol_ca.value;
final Symbol _symbol_id = _symbols[offset + 5];
final Access id = (Access) _symbol_id.value;
final Symbol _symbol_ta = _symbols[offset + 6];
final List ta = (List) _symbol_ta.value;
final Symbol LPAREN = _symbols[offset + 7];
final Symbol _symbol_l = _symbols[offset + 8];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 9];
final Symbol _symbol_b = _symbols[offset + 10];
final Opt b = (Opt) _symbol_b.value;
return n.qualifiesAccess(new ParClassInstanceExpr(new ParTypeAccess(id, ta), l, b, ca));
}
case 473: // class_instance_creation_expression = name.n DOT.DOT NEW.NEW simple_name.id LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_id = _symbols[offset + 4];
final Access id = (Access) _symbol_id.value;
final Symbol LPAREN = _symbols[offset + 5];
final Symbol _symbol_l = _symbols[offset + 6];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_b = _symbols[offset + 8];
final Opt b = (Opt) _symbol_b.value;
ClassInstanceExpr e = new ClassInstanceExpr(id, l, b);
e.setStart(NEW.getStart());
e.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(e);
}
case 474: // class_instance_creation_expression = name.n DOT.DOT NEW.NEW simple_name.id type_arguments.a LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_id = _symbols[offset + 4];
final Access id = (Access) _symbol_id.value;
final Symbol _symbol_a = _symbols[offset + 5];
final List a = (List) _symbol_a.value;
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_b = _symbols[offset + 9];
final Opt b = (Opt) _symbol_b.value;
ClassInstanceExpr e = new ClassInstanceExpr(new ParTypeAccess(id, a), l, b);
e.setStart(NEW.getStart());
e.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(e);
}
case 475: // class_instance_creation_expression = name.n DOT.DOT NEW.NEW type_arguments.ca simple_name.id LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_ca = _symbols[offset + 4];
final List ca = (List) _symbol_ca.value;
final Symbol _symbol_id = _symbols[offset + 5];
final Access id = (Access) _symbol_id.value;
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_b = _symbols[offset + 9];
final Opt b = (Opt) _symbol_b.value;
return n.qualifiesAccess(new ParClassInstanceExpr(id, l, b, ca));
}
case 476: // class_instance_creation_expression = name.n DOT.DOT NEW.NEW type_arguments.ca simple_name.id type_arguments.ta LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN subclass_body_opt.b
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol NEW = _symbols[offset + 3];
final Symbol _symbol_ca = _symbols[offset + 4];
final List ca = (List) _symbol_ca.value;
final Symbol _symbol_id = _symbols[offset + 5];
final Access id = (Access) _symbol_id.value;
final Symbol _symbol_ta = _symbols[offset + 6];
final List ta = (List) _symbol_ta.value;
final Symbol LPAREN = _symbols[offset + 7];
final Symbol _symbol_l = _symbols[offset + 8];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 9];
final Symbol _symbol_b = _symbols[offset + 10];
final Opt b = (Opt) _symbol_b.value;
return n.qualifiesAccess(new ParClassInstanceExpr(new ParTypeAccess(id, ta), l, b, ca));
}
case 477: // type_argument_list = type_argument.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return new List().add(a);
}
case 478: // type_argument_list = type_argument_list.l COMMA.COMMA type_argument.a
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final Access a = (Access) _symbol_a.value;
return l.add(a);
}
case 479: // type_argument_list_1 = type_argument_1.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return new List().add(a);
}
case 480: // type_argument_list_1 = type_argument_list.l COMMA.COMMA type_argument_1.a
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final Access a = (Access) _symbol_a.value;
return l.add(a);
}
case 481: // type_argument_list_2 = type_argument_2.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return new List().add(a);
}
case 482: // type_argument_list_2 = type_argument_list.l COMMA.COMMA type_argument_2.a
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final Access a = (Access) _symbol_a.value;
return l.add(a);
}
case 483: // type_argument_list_3 = type_argument_3.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return new List().add(a);
}
case 484: // type_argument_list_3 = type_argument_list.l COMMA.COMMA type_argument_3.a
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_a = _symbols[offset + 3];
final Access a = (Access) _symbol_a.value;
return l.add(a);
}
case 485: // type_argument = reference_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 486: // type_argument = wildcard.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 487: // type_argument_1 = reference_type_1.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 488: // type_argument_1 = wildcard_1.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 489: // type_argument_2 = reference_type_2.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 490: // type_argument_2 = wildcard_2.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 491: // type_argument_3 = reference_type_3.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 492: // type_argument_3 = wildcard_3.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 493: // reference_type_1 = reference_type.t GT.GT
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol GT = _symbols[offset + 2];
return t;
}
case 494: // reference_type_1 = class_or_interface.t LT.LT type_argument_list_2.l
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
return new ParTypeAccess(t, l);
}
case 495: // reference_type_2 = reference_type.t RSHIFT.RSHIFT
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol RSHIFT = _symbols[offset + 2];
return t;
}
case 496: // reference_type_2 = class_or_interface.t LT.LT type_argument_list_3.l
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
return new ParTypeAccess(t, l);
}
case 497: // reference_type_3 = reference_type.t URSHIFT.URSHIFT
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol URSHIFT = _symbols[offset + 2];
return t;
}
case 498: // cast_expression = LPAREN.LPAREN name.n LT.LT type_argument_list_1.a RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 3];
final Symbol _symbol_a = _symbols[offset + 4];
final List a = (List) _symbol_a.value;
final Symbol RPAREN = _symbols[offset + 5];
final Symbol _symbol_e = _symbols[offset + 6];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(new ParTypeAccess(n, a).addArrayDims(new List()), e);
}
case 499: // cast_expression = LPAREN.LPAREN name.n LT.LT type_argument_list_1.a dims.d RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 3];
final Symbol _symbol_a = _symbols[offset + 4];
final List a = (List) _symbol_a.value;
final Symbol _symbol_d = _symbols[offset + 5];
final List d = (List) _symbol_d.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_e = _symbols[offset + 7];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(new ParTypeAccess(n, a).addArrayDims(d), e);
}
case 500: // cast_expression = LPAREN.LPAREN name.n LT.LT type_argument_list_1.a DOT.DOT class_or_interface_type.t RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 3];
final Symbol _symbol_a = _symbols[offset + 4];
final List a = (List) _symbol_a.value;
final Symbol DOT = _symbols[offset + 5];
final Symbol _symbol_t = _symbols[offset + 6];
final Access t = (Access) _symbol_t.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_e = _symbols[offset + 8];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(new ParTypeAccess(n, a).qualifiesAccess(t).addArrayDims(new List()), e);
}
case 501: // cast_expression = LPAREN.LPAREN name.n LT.LT type_argument_list_1.a DOT.DOT class_or_interface_type.t dims.d RPAREN.RPAREN unary_expression_not_plus_minus.e
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol LT = _symbols[offset + 3];
final Symbol _symbol_a = _symbols[offset + 4];
final List a = (List) _symbol_a.value;
final Symbol DOT = _symbols[offset + 5];
final Symbol _symbol_t = _symbols[offset + 6];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 7];
final List d = (List) _symbol_d.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_e = _symbols[offset + 9];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(new ParTypeAccess(n, a).qualifiesAccess(t).addArrayDims(d), e);
}
case 502: // type_parameters = LT.LT type_parameter_list_1.l
{
final Symbol LT = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return l;
}
case 503: // type_parameter_list = type_parameter_list.l COMMA.COMMA type_parameter.p
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final TypeVariable p = (TypeVariable) _symbol_p.value;
return l.add(p);
}
case 504: // type_parameter_list = type_parameter.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final TypeVariable p = (TypeVariable) _symbol_p.value;
return new List().add(p);
}
case 505: // type_parameter_list_1 = type_parameter_1.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final TypeVariable p = (TypeVariable) _symbol_p.value;
return new List().add(p);
}
case 506: // type_parameter_list_1 = type_parameter_list.l COMMA.COMMA type_parameter_1.p
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final TypeVariable p = (TypeVariable) _symbol_p.value;
return l.add(p);
}
case 507: // type_parameter = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), new List());
}
case 508: // type_parameter = IDENTIFIER.IDENTIFIER type_bound.l
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), l);
}
case 509: // type_parameter_1 = IDENTIFIER.IDENTIFIER GT.GT
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol GT = _symbols[offset + 2];
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), new List());
}
case 510: // type_parameter_1 = IDENTIFIER.IDENTIFIER type_bound_1.l
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), l);
}
case 511: // type_bound = EXTENDS.EXTENDS reference_type.t
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
return new List().add(t);
}
case 512: // type_bound = EXTENDS.EXTENDS reference_type.t additional_bound_list.l
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
l.insertChild(t,0); return l;
}
case 513: // type_bound_1 = EXTENDS.EXTENDS reference_type_1.t
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
return new List().add(t);
}
case 514: // type_bound_1 = EXTENDS.EXTENDS reference_type.t additional_bound_list_1.l
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
l.insertChild(t,0); return l;
}
case 515: // additional_bound_list = additional_bound.b additional_bound_list.l
{
final Symbol _symbol_b = _symbols[offset + 1];
final Access b = (Access) _symbol_b.value;
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
l.insertChild(b,0); return l;
}
case 516: // additional_bound_list = additional_bound.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Access b = (Access) _symbol_b.value;
return new List().add(b);
}
case 517: // additional_bound_list_1 = additional_bound.b additional_bound_list_1.l
{
final Symbol _symbol_b = _symbols[offset + 1];
final Access b = (Access) _symbol_b.value;
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
l.insertChild(b,0); return l;
}
case 518: // additional_bound_list_1 = additional_bound_1.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Access b = (Access) _symbol_b.value;
return new List().add(b);
}
case 519: // additional_bound = AND.AND interface_type.t
{
final Symbol AND = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
return t;
}
case 520: // additional_bound_1 = AND.AND reference_type_1.t
{
final Symbol AND = _symbols[offset + 1];
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
return t;
}
case 521: // import_declaration = single_static_import_declaration.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final ImportDecl s = (ImportDecl) _symbol_s.value;
return s;
}
case 522: // import_declaration = static_import_on_demand_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ImportDecl t = (ImportDecl) _symbol_t.value;
return t;
}
case 523: // single_static_import_declaration = IMPORT.IMPORT STATIC.STATIC name.n DOT.DOT IDENTIFIER.IDENTIFIER SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol STATIC = _symbols[offset + 2];
final Symbol _symbol_n = _symbols[offset + 3];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 4];
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol SEMICOLON = _symbols[offset + 6];
return new SingleStaticImportDecl(n, IDENTIFIER);
}
case 524: // static_import_on_demand_declaration = IMPORT.IMPORT STATIC.STATIC name.n DOT.DOT MULT.MULT SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol STATIC = _symbols[offset + 2];
final Symbol _symbol_n = _symbols[offset + 3];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 4];
final Symbol MULT = _symbols[offset + 5];
final Symbol SEMICOLON = _symbols[offset + 6];
return new StaticImportOnDemandDecl(n);
}
case 525: // formal_parameter = type.t ELLIPSIS.ELLIPSIS IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol ELLIPSIS = _symbols[offset + 2];
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
return new VariableArityParameterDeclaration(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER);
}
case 526: // formal_parameter = modifiers.m type.t ELLIPSIS.ELLIPSIS IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol ELLIPSIS = _symbols[offset + 3];
final Symbol IDENTIFIER = _symbols[offset + 4];
final Symbol _symbol_d = _symbols[offset + 5];
final List d = (List) _symbol_d.value;
return new VariableArityParameterDeclaration(new Modifiers(m), t.addArrayDims(d), IDENTIFIER);
}
case 527: // primary_no_new_array = literal.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final Expr l = (Expr) _symbol_l.value;
return l;
}
case 528: // primary_no_new_array = primitive_type.n DOT.DOT class_literal.c
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_c = _symbols[offset + 3];
final ClassAccess c = (ClassAccess) _symbol_c.value;
return n.addArrayDims(new List()).qualifiesAccess(c);
}
case 529: // primary_no_new_array = primitive_type.n dims.d DOT.DOT class_literal.c
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
final Symbol DOT = _symbols[offset + 3];
final Symbol _symbol_c = _symbols[offset + 4];
final ClassAccess c = (ClassAccess) _symbol_c.value;
return n.addArrayDims(d).qualifiesAccess(c);
}
case 530: // primary_no_new_array = name.n DOT.DOT class_literal.c
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_c = _symbols[offset + 3];
final ClassAccess c = (ClassAccess) _symbol_c.value;
return n.addArrayDims(new List()).qualifiesAccess(c);
}
case 531: // primary_no_new_array = name.n dims.d DOT.DOT class_literal.c
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
final Symbol DOT = _symbols[offset + 3];
final Symbol _symbol_c = _symbols[offset + 4];
final ClassAccess c = (ClassAccess) _symbol_c.value;
return n.addArrayDims(d).qualifiesAccess(c);
}
case 532: // primary_no_new_array = VOID.VOID DOT.DOT class_literal.c
{
final Symbol VOID = _symbols[offset + 1];
final Symbol DOT = _symbols[offset + 2];
final Symbol _symbol_c = _symbols[offset + 3];
final ClassAccess c = (ClassAccess) _symbol_c.value;
PrimitiveTypeAccess v = new PrimitiveTypeAccess("void");
v.setStart(VOID.getStart());
v.setEnd(VOID.getEnd());
return v.qualifiesAccess(c);
}
case 533: // primary_no_new_array = THIS.THIS
{
final Symbol THIS = _symbols[offset + 1];
return new ThisAccess("this");
}
case 534: // primary_no_new_array = name.n DOT.DOT THIS.THIS
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol THIS = _symbols[offset + 3];
ThisAccess t = new ThisAccess("this");
t.setStart(THIS.getStart()); t.setEnd(THIS.getEnd());
return n.qualifiesAccess(t);
}
case 535: // primary_no_new_array = LPAREN.LPAREN expression_nn.e RPAREN.RPAREN
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 3];
return new ParExpr(e);
}
case 536: // primary_no_new_array = LPAREN.LPAREN name.n RPAREN.RPAREN
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol RPAREN = _symbols[offset + 3];
return new ParExpr(n);
}
case 537: // primary_no_new_array = class_instance_creation_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 538: // primary_no_new_array = field_access.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Access f = (Access) _symbol_f.value;
return f;
}
case 539: // primary_no_new_array = method_invocation.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final Access m = (Access) _symbol_m.value;
return m;
}
case 540: // primary_no_new_array = array_access.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return a;
}
case 541: // postfix_expression_nn = primary.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 542: // postfix_expression_nn = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 543: // postfix_expression_nn = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 544: // unary_expression_nn = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 545: // unary_expression_nn = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 546: // unary_expression_nn = PLUS.PLUS unary_expression.e
{
final Symbol PLUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new PlusExpr(e);
}
case 547: // unary_expression_nn = MINUS.MINUS unary_expression.e
{
final Symbol MINUS = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new MinusExpr(e);
}
case 548: // unary_expression_nn = unary_expression_not_plus_minus_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 549: // unary_expression_not_plus_minus_nn = postfix_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 550: // unary_expression_not_plus_minus_nn = COMP.COMP unary_expression.e
{
final Symbol COMP = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new BitNotExpr(e);
}
case 551: // unary_expression_not_plus_minus_nn = NOT.NOT unary_expression.e
{
final Symbol NOT = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
return new LogNotExpr(e);
}
case 552: // unary_expression_not_plus_minus_nn = cast_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 553: // multiplicative_expression_nn = unary_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 554: // multiplicative_expression_nn = name.e1 MULT.MULT unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol MULT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new MulExpr(e1, e2);
}
case 555: // multiplicative_expression_nn = multiplicative_expression_nn.e1 MULT.MULT unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MULT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new MulExpr(e1, e2);
}
case 556: // multiplicative_expression_nn = name.e1 DIV.DIV unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol DIV = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new DivExpr(e1, e2);
}
case 557: // multiplicative_expression_nn = multiplicative_expression_nn.e1 DIV.DIV unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol DIV = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new DivExpr(e1, e2);
}
case 558: // multiplicative_expression_nn = name.e1 MOD.MOD unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol MOD = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new ModExpr(e1, e2);
}
case 559: // multiplicative_expression_nn = multiplicative_expression_nn.e1 MOD.MOD unary_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MOD = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new ModExpr(e1, e2);
}
case 560: // additive_expression_nn = multiplicative_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 561: // additive_expression_nn = name.e1 PLUS.PLUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol PLUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AddExpr(e1, e2);
}
case 562: // additive_expression_nn = additive_expression_nn.e1 PLUS.PLUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol PLUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AddExpr(e1, e2);
}
case 563: // additive_expression_nn = name.e1 MINUS.MINUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol MINUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new SubExpr(e1, e2);
}
case 564: // additive_expression_nn = additive_expression_nn.e1 MINUS.MINUS multiplicative_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol MINUS = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new SubExpr(e1, e2);
}
case 565: // shift_expression_nn = additive_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 566: // shift_expression_nn = name.e1 LSHIFT.LSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol LSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LShiftExpr(e1, e2);
}
case 567: // shift_expression_nn = shift_expression_nn.e1 LSHIFT.LSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LShiftExpr(e1, e2);
}
case 568: // shift_expression_nn = name.e1 RSHIFT.RSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol RSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new RShiftExpr(e1, e2);
}
case 569: // shift_expression_nn = shift_expression_nn.e1 RSHIFT.RSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol RSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new RShiftExpr(e1, e2);
}
case 570: // shift_expression_nn = name.e1 URSHIFT.URSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol URSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new URShiftExpr(e1, e2);
}
case 571: // shift_expression_nn = shift_expression_nn.e1 URSHIFT.URSHIFT additive_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol URSHIFT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new URShiftExpr(e1, e2);
}
case 572: // relational_expression_nn = shift_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 573: // relational_expression_nn = name.e1 LT.LT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LTExpr(e1, e2);
}
case 574: // relational_expression_nn = shift_expression_nn.e1 LT.LT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LTExpr(e1, e2);
}
case 575: // relational_expression_nn = name.e1 GT.GT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol GT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GTExpr(e1, e2);
}
case 576: // relational_expression_nn = shift_expression_nn.e1 GT.GT shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol GT = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GTExpr(e1, e2);
}
case 577: // relational_expression_nn = name.e1 LTEQ.LTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol LTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LEExpr(e1, e2);
}
case 578: // relational_expression_nn = relational_expression_nn.e1 LTEQ.LTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol LTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new LEExpr(e1, e2);
}
case 579: // relational_expression_nn = name.e1 GTEQ.GTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol GTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GEExpr(e1, e2);
}
case 580: // relational_expression_nn = relational_expression_nn.e1 GTEQ.GTEQ shift_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol GTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new GEExpr(e1, e2);
}
case 581: // relational_expression_nn = name.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Access e = (Access) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 582: // relational_expression_nn = relational_expression_nn.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 583: // equality_expression_nn = relational_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 584: // equality_expression_nn = name.e1 EQEQ.EQEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol EQEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new EQExpr(e1, e2);
}
case 585: // equality_expression_nn = equality_expression_nn.e1 EQEQ.EQEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol EQEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new EQExpr(e1, e2);
}
case 586: // equality_expression_nn = name.e1 NOTEQ.NOTEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol NOTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new NEExpr(e1, e2);
}
case 587: // equality_expression_nn = equality_expression_nn.e1 NOTEQ.NOTEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol NOTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new NEExpr(e1, e2);
}
case 588: // and_expression_nn = equality_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 589: // and_expression_nn = name.e1 AND.AND equality_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol AND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndBitwiseExpr(e1, e2);
}
case 590: // and_expression_nn = and_expression_nn.e1 AND.AND equality_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol AND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndBitwiseExpr(e1, e2);
}
case 591: // exclusive_or_expression_nn = and_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 592: // exclusive_or_expression_nn = name.e1 XOR.XOR and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol XOR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new XorBitwiseExpr(e1, e2);
}
case 593: // exclusive_or_expression_nn = exclusive_or_expression_nn.e1 XOR.XOR and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol XOR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new XorBitwiseExpr(e1, e2);
}
case 594: // inclusive_or_expression_nn = exclusive_or_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 595: // inclusive_or_expression_nn = name.e1 OR.OR exclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol OR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrBitwiseExpr(e1, e2);
}
case 596: // inclusive_or_expression_nn = inclusive_or_expression_nn.e1 OR.OR exclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol OR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrBitwiseExpr(e1, e2);
}
case 597: // conditional_and_expression_nn = inclusive_or_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 598: // conditional_and_expression_nn = name.e1 ANDAND.ANDAND inclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol ANDAND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndLogicalExpr(e1, e2);
}
case 599: // conditional_and_expression_nn = conditional_and_expression_nn.e1 ANDAND.ANDAND inclusive_or_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol ANDAND = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new AndLogicalExpr(e1, e2);
}
case 600: // conditional_or_expression_nn = conditional_and_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 601: // conditional_or_expression_nn = name.e1 OROR.OROR conditional_and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol OROR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrLogicalExpr(e1, e2);
}
case 602: // conditional_or_expression_nn = conditional_or_expression_nn.e1 OROR.OROR conditional_and_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol OROR = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new OrLogicalExpr(e1, e2);
}
case 603: // conditional_expression_nn = conditional_or_expression_nn.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 604: // conditional_expression_nn = name.c QUESTION.QUESTION expression.e1 COLON.COLON conditional_expression.e2
{
final Symbol _symbol_c = _symbols[offset + 1];
final Access c = (Access) _symbol_c.value;
final Symbol QUESTION = _symbols[offset + 2];
final Symbol _symbol_e1 = _symbols[offset + 3];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e2 = _symbols[offset + 5];
final Expr e2 = (Expr) _symbol_e2.value;
return new ConditionalExpr(c, e1, e2);
}
case 605: // conditional_expression_nn = conditional_or_expression_nn.c QUESTION.QUESTION expression.e1 COLON.COLON conditional_expression.e2
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
final Symbol QUESTION = _symbols[offset + 2];
final Symbol _symbol_e1 = _symbols[offset + 3];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e2 = _symbols[offset + 5];
final Expr e2 = (Expr) _symbol_e2.value;
return new ConditionalExpr(c, e1, e2);
}
case 606: // assignment_expression_nn = conditional_expression_nn.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 607: // assignment_expression_nn = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 609: // literal = NUMERIC_LITERAL.NUMERIC_LITERAL
{
final Symbol NUMERIC_LITERAL = _symbols[offset + 1];
return new NumericLiteral(NUMERIC_LITERAL);
}
case 610: // literal = BOOLEAN_LITERAL.BOOLEAN_LITERAL
{
final Symbol BOOLEAN_LITERAL = _symbols[offset + 1];
return new BooleanLiteral(BOOLEAN_LITERAL);
}
case 611: // literal = CHARACTER_LITERAL.CHARACTER_LITERAL
{
final Symbol CHARACTER_LITERAL = _symbols[offset + 1];
return new CharacterLiteral(CHARACTER_LITERAL);
}
case 612: // literal = STRING_LITERAL.STRING_LITERAL
{
final Symbol STRING_LITERAL = _symbols[offset + 1];
return new StringLiteral(STRING_LITERAL);
}
case 613: // literal = NULL_LITERAL.NULL_LITERAL
{
final Symbol NULL_LITERAL = _symbols[offset + 1];
return new NullLiteral(NULL_LITERAL);
}
case 614: // annotation_type_element_declarations_opt =
{
return new List();
}
case 615: // annotation_type_element_declarations_opt = annotation_type_element_declarations.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 616: // default_value_opt =
{
return new Opt();
}
case 617: // default_value_opt = default_value.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final ElementValue n = (ElementValue) _symbol_n.value;
return new Opt(n);
}
case 618: // block_statements_opt =
{
return new List();
}
case 619: // block_statements_opt = block_statements.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 620: // expression_opt =
{
return new Opt();
}
case 621: // expression_opt = expression.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
return new Opt(n);
}
case 622: // interface_member_declarations_opt =
{
return new List();
}
case 623: // interface_member_declarations_opt = interface_member_declarations.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 624: // argument_list_opt =
{
return new List();
}
case 625: // argument_list_opt = argument_list.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 626: // subclass_body_opt =
{
return new Opt();
}
case 627: // subclass_body_opt = subclass_body.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Opt n = (Opt) _symbol_n.value;
return n;
}
case 628: // dims_opt =
{
return new List();
}
case 629: // dims_opt = dims.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 630: // class_body_declarations_opt =
{
return new List();
}
case 631: // class_body_declarations_opt = class_body_declarations.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 632: // element_value_pairs_opt =
{
return new List();
}
case 633: // element_value_pairs_opt = element_value_pairs.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 634: // throws_opt =
{
return new List();
}
case 635: // throws_opt = throws.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 636: // for_init_opt =
{
return new List();
}
case 637: // for_init_opt = for_init.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 638: // formal_parameter_list_opt =
{
return new List();
}
case 639: // formal_parameter_list_opt = formal_parameter_list.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 640: // for_update_opt =
{
return new List();
}
case 641: // for_update_opt = for_update.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 345: // annotation_type_element_declaration = constant_declaration.constant_declaration
case 352: // modifier = annotation.annotation
case 353: // annotation = normal_annotation.normal_annotation
case 354: // annotation = marker_annotation.marker_annotation
case 355: // annotation = single_element_annotation.single_element_annotation
case 608: // expression_nn = assignment_expression_nn.assignment_expression_nn
{
return _symbols[offset + 1];
}
default:
throw new IllegalArgumentException("unknown production #" + rule_num);
}
}
}