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 /home/jesper/git/extendj/java5/build/tmp/preprocessParser/JavaParser.all
package org.extendj.parser;
import org.extendj.ast.*;
import org.extendj.scanner.JavaScanner;
import org.extendj.scanner.Unicode;
import beaver.*;
import java.util.ArrayList;
/**
* This class is a LALR parser generated by
* Beaver v0.9.6.1
* from the grammar specification "JavaParser.beaver".
*/
public class JavaParser extends Parser {
static public class Terminals {
static public final short EOF = 0;
static public final short SEMICOLON = 1;
static public final short IDENTIFIER = 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 LBRACE = 17;
static public final short COMMA = 18;
static public final short LT = 19;
static public final short SYNCHRONIZED = 20;
static public final short AT = 21;
static public final short SUPER = 22;
static public final short THIS = 23;
static public final short STATIC = 24;
static public final short PUBLIC = 25;
static public final short PROTECTED = 26;
static public final short PRIVATE = 27;
static public final short ABSTRACT = 28;
static public final short FINAL = 29;
static public final short NATIVE = 30;
static public final short TRANSIENT = 31;
static public final short VOLATILE = 32;
static public final short STRICTFP = 33;
static public final short PLUS = 34;
static public final short MINUS = 35;
static public final short CLASS = 36;
static public final short NEW = 37;
static public final short INTEGER_LITERAL = 38;
static public final short LONG_LITERAL = 39;
static public final short FLOATING_POINT_LITERAL = 40;
static public final short DOUBLE_LITERAL = 41;
static public final short BOOLEAN_LITERAL = 42;
static public final short CHARACTER_LITERAL = 43;
static public final short STRING_LITERAL = 44;
static public final short NULL_LITERAL = 45;
static public final short QUESTION = 46;
static public final short OROR = 47;
static public final short ANDAND = 48;
static public final short OR = 49;
static public final short AND = 50;
static public final short XOR = 51;
static public final short EQEQ = 52;
static public final short NOTEQ = 53;
static public final short GT = 54;
static public final short RSHIFT = 55;
static public final short COLON = 56;
static public final short URSHIFT = 57;
static public final short RBRACK = 58;
static public final short INTERFACE = 59;
static public final short ENUM = 60;
static public final short LBRACK = 61;
static public final short LTEQ = 62;
static public final short GTEQ = 63;
static public final short DOT = 64;
static public final short LSHIFT = 65;
static public final short DOCUMENTATION_COMMENT = 66;
static public final short INSTANCEOF = 67;
static public final short COMP = 68;
static public final short NOT = 69;
static public final short MULT = 70;
static public final short DIV = 71;
static public final short MOD = 72;
static public final short EQ = 73;
static public final short WHILE = 74;
static public final short DO = 75;
static public final short FOR = 76;
static public final short IF = 77;
static public final short SWITCH = 78;
static public final short BREAK = 79;
static public final short CONTINUE = 80;
static public final short ASSERT = 81;
static public final short RETURN = 82;
static public final short THROW = 83;
static public final short TRY = 84;
static public final short MULTEQ = 85;
static public final short DIVEQ = 86;
static public final short MODEQ = 87;
static public final short PLUSEQ = 88;
static public final short MINUSEQ = 89;
static public final short LSHIFTEQ = 90;
static public final short RSHIFTEQ = 91;
static public final short URSHIFTEQ = 92;
static public final short ANDEQ = 93;
static public final short XOREQ = 94;
static public final short OREQ = 95;
static public final short DEFAULT = 96;
static public final short CASE = 97;
static public final short ELLIPSIS = 98;
static public final short IMPLEMENTS = 99;
static public final short ELSE = 100;
static public final short EXTENDS = 101;
static public final short PACKAGE = 102;
static public final short IMPORT = 103;
static public final short THROWS = 104;
static public final short CATCH = 105;
static public final short FINALLY = 106;
static public final String[] NAMES = {
"EOF",
"SEMICOLON",
"IDENTIFIER",
"BOOLEAN",
"BYTE",
"SHORT",
"INT",
"LONG",
"CHAR",
"FLOAT",
"DOUBLE",
"RBRACE",
"RPAREN",
"VOID",
"PLUSPLUS",
"MINUSMINUS",
"LPAREN",
"LBRACE",
"COMMA",
"LT",
"SYNCHRONIZED",
"AT",
"SUPER",
"THIS",
"STATIC",
"PUBLIC",
"PROTECTED",
"PRIVATE",
"ABSTRACT",
"FINAL",
"NATIVE",
"TRANSIENT",
"VOLATILE",
"STRICTFP",
"PLUS",
"MINUS",
"CLASS",
"NEW",
"INTEGER_LITERAL",
"LONG_LITERAL",
"FLOATING_POINT_LITERAL",
"DOUBLE_LITERAL",
"BOOLEAN_LITERAL",
"CHARACTER_LITERAL",
"STRING_LITERAL",
"NULL_LITERAL",
"QUESTION",
"OROR",
"ANDAND",
"OR",
"AND",
"XOR",
"EQEQ",
"NOTEQ",
"GT",
"RSHIFT",
"COLON",
"URSHIFT",
"RBRACK",
"INTERFACE",
"ENUM",
"LBRACK",
"LTEQ",
"GTEQ",
"DOT",
"LSHIFT",
"DOCUMENTATION_COMMENT",
"INSTANCEOF",
"COMP",
"NOT",
"MULT",
"DIV",
"MOD",
"EQ",
"WHILE",
"DO",
"FOR",
"IF",
"SWITCH",
"BREAK",
"CONTINUE",
"ASSERT",
"RETURN",
"THROW",
"TRY",
"MULTEQ",
"DIVEQ",
"MODEQ",
"PLUSEQ",
"MINUSEQ",
"LSHIFTEQ",
"RSHIFTEQ",
"URSHIFTEQ",
"ANDEQ",
"XOREQ",
"OREQ",
"DEFAULT",
"CASE",
"ELLIPSIS",
"IMPLEMENTS",
"ELSE",
"EXTENDS",
"PACKAGE",
"IMPORT",
"THROWS",
"CATCH",
"FINALLY"
};
}
static final ParsingTables PARSING_TABLES = new ParsingTables(
"U9piNGMy5SNtdmr2tWDUszsjs2YAc63hpsxALcon5SGE15HinHQx4572xi3kRh7Rk$l$Jkt" +
"ExfwvR#yB1F#xvtDtPyuvyptdJEtithrx6NkaAhnY5g6hMUyMbxry5g4hGIqjU#aiGf#3Mb" +
"hsibc4hWArjEo7UOdTo#uh8zsC3MURirFP27O6ExCqcHsP6pb4wHsTWoEafzXTxjxiJkSWj" +
"bDfCf3kBaqElw3BUjUo9f7wGcXyb9VO0#p1Cj94BEmvzdnUtDBlACrZKNdl7U$5qkziNUS9" +
"jbFuXNyoQohzxZrBbtLFatROCwmUnq$o4gjX3MMaYLYy3fwN5xVq6qhpM5HUnF8RMzjT1B4" +
"S8MBvpQ#pb3x2coQiNy$MmV7ZlCHkyIQNaIPZERrqUMxS6$3PaUsky#v8TxGxnhs8xSfsOg" +
"kpxTX1fSlPSNHPqIxy#13tBHZ9#h7JsLdiR7OEEvUTnyvd5mGZWv7E2cBVWst7Zzv7R3TdC" +
"sVbqeF#HfIslvxJqzd0sT3PoDdOsSJPrEdhzEDycjYD4bMIlniueUD4qem$xARmDmlIPjwD" +
"R7FtLrM3bpeBEfzvgtjhU6jwQpcBEeivIpXhE6jvgtghiLgsC#hxQjHtaxSAcyGUPe$mtk0" +
"CrtLNseTDTIUvezXEmQPEjVyaMuqDSYUoHhQo#x3xYR#4Cu9ju9pAUZZ3t7lSUztxtFlT1z" +
"m9xYFkP7UAEzMTvZxgFkO#xZxXFka#vJuORCg9VSHMyKvbAuM$UVUwv$gT$QTPdNkcEy8zt" +
"Jt3FSizspt7FSyztxt0NxmqWQtXdPS$7kzxVr5$LnaHufdCfiXus7Ow7k#iA9vDU5zdgmNV" +
"k1Cz5K$mZVSiwyCsO3syfbpnRC99nyEMyUxDjbDfeFJ7MLlv$rq5xLDYWNCiso3yZUtihL9" +
"wXFTI7e$xK1JFL#2AU4gFS6AhbKv0F1lBUDZofObiLNODwy6kp1EFSvetXKrpkgju1Y6UGS" +
"vIfKUSfTX5R6FdS#TBvsldMsU6yuFpa$EByvlpX$ENltN#U4h7miFrTFk4X$ah#yUBzjb5n" +
"#DlxY#lsgTlU5Xu6FfRaplHlLZ6KpgMhIdRn#cOgttwSd8z5KyJrJxIcs0ZrWIwWztXFyes" +
"SnwAut7yCktJYzsE$Z#ShSk6UAi46m7b0nvFQM0KpsHtBnaFx6o2SRQQSvOxqHccsaUElVN" +
"HFlton0CxwxBn81aFR8SRKuJpPPnUWTRHv0xtfb1y$qmrUsPgZ4kT5TWVx2#lPsbYk77fL7" +
"OR6ybdGdTOOF4eEnCYadvSKdgGJOEN5x6BCKDV8dG$SZx8tmRUeweMCRzZp1$dRiIMIyvXu" +
"ThifAWDzkPjWDgUwDsXse3NujhkbdddC6Mj7rl5dO4soDzN#cALiuVelI#Whop0jWhN4dxs" +
"qdu62mGBI3$3Qu8DeR5Qk9Ox4IDO#dbvQR8tXzU9zIXDpkLdNs1iYFue#ye0NiFESgLnxdV" +
"466Zo7iCAUItldFpnXDUeSVohioxg$T3mSpP4h2I#YiwxhvT#bV5uKzaWzWRw$bA8vrSL3w" +
"#99kHwk1lcw$l#43Q#z92CftH6ceBDIW#Lpc2RkPUmpP5$gFIGsyVx9dyy$Y6bWS5caX3F9" +
"tgkPSz4vyA1MB$9kVOoTpDdLSHp9FhHLZ8URxY$htCILdOzd5pd3lXuDlpTHyLpUfg2VcmG" +
"zjywIs75URgpNlXHyAs$PGNZOeepFEWdoOmdFdTWbkgbsWTdGdSxn3CCyHobpkrrfO7EyDB" +
"Pw6zdvuhdT7Td#3bCnkFF6TvC4qPzbFQdshGa1LlwSvCO$Kl3quGpry3IS2uj3IaDbtsJfu" +
"Cj9R7FWYrj7gN7WtCVvWGkkv4cDiZ8hMlJaXHimPwb#F3ryD9mv#ZIi3G9wJ0sE3mS6iYn$" +
"OCj9266BImUPMBmvlRc5B9nDB5ZudImbKrBoJVtVgFupWdk3ixGqZ3doDAmO2j9xXp1LgWV" +
"Bbt7c#ZTnw$qmd7#wi7cajZTRaVQYlS2rcFPimttDVyetYUQVGQWrw$kNCg6YL5yOjphIz#" +
"h5SR6uQ$EKAoOXc1M#bwjC8PmEN8zdEDohJ0s3ZPsIlnim5R4YlOccb0VSMuTcvQaqWHQmx" +
"cxT5AQmb#zATZpKaDA9x4c$pq$v6bscdCyFn$2h#Ci7cNgsV#G3H2o6sX2376kfqrB4gxPI" +
"0tuk2u#uql7fqb8ZrUpDtAb8SwwxZuy1lIj8HQFCZ6umqlN2TcrDBd3upJYiMX9yXR2J4L9" +
"Dk6hrjBntgAbuvqZmqt2UPm6TmD$wTA30bL4u9yRpWDh5xCcPnctRpWFcyx6qLQ8Sp5Y5hB" +
"hQ6BJZVG0cvOaN3yrKNpd$j9nQM83qFEFurBlD#Jk4EFsElzoxpVl5z6NxiRvZ$Q8Q0VKBh" +
"V$74tivZZjd6FJakGjwVr8Iexpzy7djDBG377fK9mFchmtUOuDS2$sxtQMytuATmjtitX4n" +
"E2zBMJFM6X4dFPMj6f9#JAi7yLtvWpcPnDAGyEvIqET8xrbmxcyczqDWlc3#RaqdDjRpZao" +
"c3#SYwVPhQ8lpGM$LgAj4EU01ZPHo9wWoTiyJZjRshGaiNuOYGGVQuIJquJrDUTowOEba$r" +
"rU5ygFU6Fztvpzs1tO8rmDut5hMJcfNMzwKBs54tejr7QwMJJKl8jO9UId1pCLpfPdo7SGJ" +
"YBJFBM3UO35rB$PNQFVr8m7#jIUihjnwfOLzRDkSIvWrci4J4inJeBIUxpc3C4A$P1xc3dK" +
"kTUN2tCcrsD1lE2AyvZxi$kzy6ykAgv7wkt4#Hvp3tC$HzRopcIzV1FoBMwlX$NOzUMpfBd" +
"iGgkQdZBdkO$u0vXM6M6lT2omvDNN#mwrbFwwHpfxmMDrKhxutnxYl9pVsSuLfs7vBtwSe$" +
"q1pZ3$BqhzdCp$nsskJFStp7S5FKvZvZL#DNAfb5zpXFCerR32tfB1FEmrTnZpIjr$oFCwp" +
"kZFkV9uwV$k$#t$uztKSL#zdCwbWO52s6at08$vtAl2XOIg$PR8p$d0bUkNnPqDW$cOgi5J" +
"Ux4O46rVZanQF8MzfPYFRnSLudUUluStkVUBPNx6SpfNHCixEyJhWS$vmxc31OMVduJ#Jbt" +
"CBUwwdxMQGpcnjNiKV2pb$GpF8fj5$Jo9kFguinSzRcXlxyx7EEeGZ$TK$s5moE3TTnJmux" +
"UAgKPFCtzzAP7wy4PfLzKk$T1UWRyzD4$Vr5NTNsSBhXA$GNjFdUkgw21R5rtkBjdfNxo$b" +
"WwEZmQvwpdC8vEyvv0Ek5dU5euNFdvl7z6U1hyFCQT60vNzNbCk3jeUDvsTnhzQ$s#E4TMw" +
"ASpJ#XY3RU$Vrru9kfpG7XSU8OOHsxafuUql8jn9fV3ppFWfwUkAaVupuKURtTdaLpjVhJ$" +
"V3W2wmcvlhxUGYFYjFUILKlAf$lpK7n$vT8VVZox3WXFToVvovR#S9OLqfUTPVpbId#mBjo" +
"QF0U4f$iliawq5TRNMJeOa2JMcKjApzFaB1Ed$MTjMf94Rw4aFvP#TgEPDzWhFCkTn7dEyW" +
"BrPMT5diDv3DPK36Tvj#CyHdkqaZSzs2j9E8znsRCq#GFZjDl7fYN9ETjPZvJyKFh97nJ5i" +
"8TVZnZ0SpON5bv6Eo6769ujVIjZm7Wu3p7GLjOlVHliaIJ4m6LFqkGS6gV34snQMkxVG$A7" +
"blxqJurYsCQfTYU5fvJ#T0xZKl$bSAYpJUbFnF1awJiPWtzlU0fYe3qwelHTi4rCx0jdEyJ" +
"0PK$Jv1mJfzaWcvRIFT4vXU8JtsIyLNgdz8PpEfTYvkZddEbSx8n4Uh8tEJm#F57AQIjSxe" +
"psR$4diHETovox$DqTlYQ69FYB8hPid0wFBRr9QvMNOrQhmpb$oNXMO$yuypdpEsiwgyUp6" +
"lkH$UHux7TdJsSlPm3xsfbWyIXxbsYIymYNE6yud#3OnpdIURiqaDzt2NwZo5qtJfVUBhrE" +
"QvMNjoGcPmV$4zgADoLOb$Yc4nB$#g0tZki5wxlhk#i9xLyfSZSoqXkxcz9QIhwL$nd5Rr5" +
"CWzmjB5QsThSbOeB4Nm#hbb$TxTrTt9tSNONsxnIvUnlftTt#j9QI3tGFeFWjYcaVTp#BbG" +
"FTW$q9cPWWyQz7JB#xXxf7kKUuHtDEs8CYzmGZFTGzcTQIn8Rv7v3ybiI4US9Y9Nl5VPbx3" +
"PVuxxfNuBWoHUxLHcujzrfQI#dU4Qv5yLiKnxHW3ekLKztdtHVTLzpNuCyRxjlkk#xxxgT2" +
"yg7x9OuhKUH#RgI$Th#YjPJyH$zJYj#YE1uBBhDO#SLvnFsJBUl#vPOyvWQUu$bUPo7xoAl" +
"6VaMAIeV6QVTthvRMaiIMzVyW#Is8mwttwcrMlBcyURpvS9pVMyHRsklXxbawaalyFxtDS5" +
"o18cyJ8zqNUgIMacyTJgFuBOgZqTkMjb8w8EmGBXukvktj3GWNzVOD5mcwXVC9sJHl4FRBa" +
"xHWdFRs3xjOjAJyeF1nYj#YE1Rm3h5OETGxFEpaRUOTxGqDgd0yqJiva7uzxet0VZcAl3EC" +
"z2XlDAsbv9U4Zr7y5iMna3VMOkKAxohlQkzwRvntWpF96#$TvjtftIraZtdtOByiHTxzHdg" +
"2zo2jfUGFXuzI$1QDyzkyXonM7l7UmDpRptlLUyLxotlFUz$xqFjCo1xrVi1#6OgyBupqpv" +
"ZJIIr9VaU$ck9N7WVxrk$YLrciTFCR$2P$hj9#mPB#Glu2$YB#KlvYGhAaVpQEIrFahnYds" +
"Vt#chIMqbtBNvlYjw0zTl9x#RqjLjRtD$0tzRVp#$ax#3lvU$hz$S6eNouv0FMuTBWKHVw1" +
"HlfWdzI9v8VwXrFy5iJHtp$2FyfYvKJ$TFyS$tp$0lz2rEoL$bN#DVuu8Rd1ln779IbYzyT" +
"f$sR$FbfBw$eFaVpAuxZHVvWrqLRyfrYJ$m8#Bx6#$ll#nnWhVVtFXQJa$uNZ0XGnPgRD7A" +
"LBoriGnyrsMupS3FlpKWI9aJPpb2ujRq4SjzfjMUA8xTTJ18cHDdEKBYslF0vtBhijInon$" +
"JgA837IPexIfUKjY6CUkorB797zu6#A63FJPexIfUKjY6C#koqwZjX#E0T5YD18cpbAbvPN" +
"6WUReUhOQeLeZzY#Gn4aHjhCKRgqlEBss4NvPhL2n17RPnInH9gHEit9AuvZ72jZon97P3y" +
"8AMBCJ3EBLdbvnN5Sh$gyrGenFcBxv0Q9aJPpb2ujhpGETt7bczKA4KTilqGH94RQp56wjB" +
"pYE9PKlbcj4774zl#X218ZRUOeNLeU6Si#gy9AH#adWMEV#9F0Tbl4ay1ALnt$e0WI8stcA" +
"5rQtk8uI2kME6Bxlr04YP4sSvGkBQ#iNx4VehvYjKBqgzZ#dnH1OgJD7ALBookC8$BKReM8" +
"8xR$CqMG66apH#dIyWhZ#2topMg5Y2Es$nD5a1XfCqVfql8AuuXgt6w5Y2Eo7zPIX3EaaJP" +
"pb2ujhp2EQ2LejvBT3FjhKWI9aJPpb2ujh$3y4VjcjKB4eUql4Mv04IH6sinHkhIymZZSo3" +
"Uh5U8fOIxhGn5mZBIP8tHtfkKLHh1Q58758p82BbkV8k0OQJD7wEvCookCOBSe0ej7P5$Yi" +
"juKGMQapHobIyihZ62Fo2kh5I82BfjLnlEvBHtFuHeKGMQapHobIyihZE2Ao2kh5I82BbkT" +
"8iYCj9cZT6bvXH5S5NbbjK94m6MhKGIPaJPpb2ujhp22QoAlh5Q82BXiLOeWCz9cZjAbvPL" +
"5u2uJUMMrGaJ0PQjG19cHDdEKBYslC8Bb8g#iLeW880cwKuJLav4sSvGkBQymWXMqLtOhsO" +
"rBmlafGdH6sinHkhIymWYYMhPR8Tg0onQc238ZRUOeNLfUOGJngi9gXOY0onQY238ZRUOeN" +
"LfUOGHhHLvPhH0HS5aLHP0PQJD7wTBo2YDOE$BAQeM8WCiwKmIPaJPpb2ujpna1DiTpBZAy" +
"ibeX8e34$TXzElF4phT0rVTDbkMQxc$knUANuCJx70HKT#A#IIKHZ8szSbzr$tRVSfzpF$D" +
"ShwEtlDV5w#vPlf$Wlv48krE4w8oqcQDqQNb54TnfrAlL2j46NDQD8iYCj9cZT6bvHH7SOt" +
"XbjK94m6LTAOBCI9ivIfUMLnJ10uPNLYj415nMJH5aHjhCKRgqlA889l9ZQKXfYCqMOzvhV" +
"gFKC2BWiXgA83FIPexG7SG6KNnfZR$JnUc4esqE42j$vqY#zowtsmB286Xyxo#QY02Ie2j5" +
"M774kGCJkGpvlz5oQQCq6TAjWmEJL9hix0Y$z#RlguB6Xfm7vMzu2OkThMCIJsspIBUQej9" +
"a8xS$D4ajIGB9mfSn1Di6#oS9tei8j8xagGXeEzl6v5QxtS9FjIvrFl3E33yrpmVEaVnyu8" +
"tnBgZaV13EYLR#D37m1e0pftDfy6hmgkW3SrAZapuVa7v#cJnlbVTJs2JyvDvaYPuvMkQdl" +
"rabVbhhiudoWdE3wS5qdMwLduzKL9$JBVKvdQAshC$I4QQVmRujNAyOMx1laZ8ZJF3a2Al0" +
"pyCJVWvk0py79odZf#2LypFSa2BqdIWTx6FcA5rQdl1pdoHb$1GywQV5paOKGJjA1uFC7AL" +
"BonD#3afIna$1KtwILiXvwUn4kn$G1kr#G98oVWfUfVtJEpVXvtvjuET#IShuANWL#tb#mi" +
"#1RU3dm2InrERMkGrHcXv7WoX2BudImPvcZjAbvGa$zqnIsazpizWPI16qetImkvcZT6bvm" +
"i$TarJMJzhE08gW7QM3lSqSfKlB4txkdQIaP$vPwhVkp8OL3YXzHX7MQL4ww6$cA5rQdl2p" +
"VvBArITj9UnF4Q8oqluAj9OaVxYfRPOpQcobSfwbsfsqKlgK8aHbfCqSfKlBytkMga$QpXS" +
"KGTj8cpbAbvQts4$QpkSKGTj8cpbAbvQts4$I2ZdFVzqczw5Qk5LmFcgR#sNjx#UCsSDFVu" +
"lPnC#jPXC$jvbD$9moc$WvRJRnyx7skOzlVNkCiNchMDR9l#3C$r4o8iuJR#FXvR1tNme$y" +
"dRCyyxMl9v9gtBlHTyPkYydlFZPsydRsTl5szMBdvFvEVPCb7Ws$AMDFVjPs#5r5jLUOcKV" +
"$aHuzbFAivVWVzjwzfEsa$0iiSuFVoGy#p7bsNJutxQU$QZj93mRdF3i1yAp7rAUlGd$szQ" +
"p7xITX6S793pxdl3i#vHd7y7$jlNiUsqduTaH2Szc49xDI7hczOF$RUlP33uVX3DYpq9S#t" +
"Z7Idl#nbWnJi6eDJmBvJNJ5EbPQOeaRpludyEpuCFWGs7b8uuZvoB16y3tpd9y7tmOVbUQo" +
"YrWspIgY#zWTQft2fT3AWYUHfx9aXHnRutyvTA3M8hqvS7bsaBu7TARMh0#0dseFIeDuMdE" +
"C$UWMyBlme$y1U7X48uhFhS4jmXBaFiFyhIUXyEJD9ycBezpFCq6nHoEB3$S7uaPMf2adQZ" +
"33K2w9R#2vlUxzdVsSxRb84uVztfvdUuixYo0de9MSshPk#vrKRjz97eOzavddRDlIfxy7n" +
"75j$pdI5BwBVyV4RPxGeeh1BOjsobfXKRYculsScy8Nijw5xp6kNpldAzpRFlI1yA2j9FHH" +
"hjymBPcsx3$iHq4#bsSJnF7S2uK#FN1QsZ7rpGE9$TIzqgZDkTYW$ZHXcJKfh6LtYjVcwNt" +
"l2ds#asrvrRDjOlXGNJd9porl0TSRlXpSDQ3qi6bW#MUlu#K7yjv8BMnHVVomfCrdoOkJt9" +
"CVTe3cb8UH7LGUh#y1rpUBXv4TL1wjnaFtctlEeZvzdBjuW5h3m#GAJmeF9Wf7WGVP3q8FW" +
"W#q7jvBEU1rajld4zJIlfEaYFIxmJlwBqysf5YlOm7xzWe9NqloH7fzuBtz5uUxKYnNiQ3z" +
"soKahwLv8ZqMy5RUY#FTgHOB#F1MpPAINzCSaJwn#17lPT7ErAib$7WHnjngRDGb7$3iADj" +
"lX6yeVVoQ4UAzJ8Ul66ZbFJI94UaBmqkrNjvj2F5UXaFBhLHIZesoH7fiS5OlPT7ErAib$5" +
"Wh8rIqXb9ZaZF26RelJpQaMAzZ0SpR9IINfBaYFGbmILwBuzsf5Wluy4bDaf9noGv8Zqc6A" +
"FtycX7YlKo7eonKKewEiaHwT71QBsNHpjIh9VnOBIDKj8BaXoHlY2uGE$bqOuKwsKykC16A" +
"UdvIOv8dn#Sh$VoQ4UAzJ8Ud6#ZbFIy94UapmlEqtjvj2F5UXaFphDHIdfkaYFIvmRdwhqy" +
"sf5YlOm7vzee9VqwoH7fhuElzLuUxKYnNiQ3hst4fSvwKVuhmuws#LNmbTxBenqfrijuy9M" +
"DX7X0bF$4iADjVX9yelVoM0Ofqijuy8cDKjAFanoH$ZZuME$bqOuKwsKy#DX6IMaO93aypL" +
"z3elVoQ4UAzTAR$KKgAMafoH7fKbZIUtcq8yLw6GzADaf9$qboHFgVy1#zbqSxKgoNyU0V6" +
"wMaVoSv8lrt#BVUowCTATRBUF2tZLBIlv8SaVuh$4llvT6E5EjbFFZBHYdfdqcEIFyP$gdt" +
"ycX7YlKo7lnfevJqZoH7fFy8$z1xURGZnNeP3$wmKKhwUv8Zqh#7l#kzFDgHOhsC1x$RA2a" +
"DtazoU3fuFtXVx#NHZXJhfJVEfoabVJl94UctWxVrNXxjIB5UneEtRPIKbZvASdYwz57f8x" +
"sNHpjIh9VUE9#cf3JuDCaHtdmQVAhtycX7YlKoTV2fZLBIBvCSaVuo#5BlvT6E5EjbFFZIH" +
"boAzO7EVs7OqJQ$2BxGUtcq8yLw6G##i94G3z2vqks67IKjtLwwNU$biGnIf9Vf1xVRA2Kz" +
"ACaHwODA1#czFDgHOhsC1mVPA2aDlajoH7ry5todz$9eHuhrCgtmdOsIqj9jIOxmvhRIRNe" +
"lZtQaM2zJ1xVPA2aDtaroX3Vl1k$glJpQaMAzJ1syQwEKzCqaHwJV3DxKUtcq8yLw6G$Uj5" +
"5AUb6I8z8N1HVflJpQaMAzZ0SNsIWblJ394UaBWmlrNXxjIB5UneCBRPIKbZvCSaIV#B3qe" +
"TxBenqfrajld4zJKXfSdEG8RouEBjPxURGZnNgPEhZOHYdfg2H7f4S5e$HU7kr8iLx6Wr4s" +
"IafB7oSveZu#Bdsiz$9eHuhrCgtmiOrIqfkI796#gNIJtikZ7IdMotXmaurIqXkJ796#iNI" +
"ZtikZ7IdMotXmeurIqXkI796#eNI3tikZ7IdMotXmWurIqkkJ796#ldIztikZ7IdMotXmlO" +
"rIqa#I797#fFI9tikZ7IdMotZmYOrIql59ZaYFButNUtcq8yLw6G$6soWblJN94UbRIxVgl" +
"JpQaMAzZ0UtsYWblIN94UbRIhVelJpQaMAzZ0Uts2WblJd94UcRIpVhlJpQaIAzp1CjeXn9" +
"IIbFiyVPxgPKR4#OJxHOa5hsVCzZjkTxf2trV4yBdqnLYKSnowjOWflYNzG7DqjkS5Dm4y#" +
"9$xVxdzHmdsKir$$RZIN#Pwi$nnMVczmxyRd1FTVVZ$$cddeQL$X3l8727g6$XtzG5655DH" +
"CzUxiAVrhJlJdNFukozBEK#MgcnMtMyeW#okbPEg9$PjM8l7ujYyZRhiKHTSinPjynnwosc" +
"HopxErmS$OACY#PTH5k3gxQnyVah#$IsiJpUPlRA2wdBOddyn9IR5T5izdBDZI1ivdfZNkA" +
"v76ktCV7Q4kjI3DoiVaZEPycI8VBSeBwYlAlnLB8#ePz$L5yhtCs92tFs5z6bICfBiSfUDs" +
"mewJ1wy7hUY#FvP2qNdhZV9fYkTC1#nzYEv7D7u8Vz5uUoo8flOm7FzWe9V$UiADjVXzyh$" +
"VoM1P9wMKy#Dv6AVddXXrjy$FWSxsNnx98IY$ZmUSsIia$C#necvy5d#czF9P5KdeP3pwpK" +
"L8UzZFiA6dOB#odz$9O3adfPUUJVZQAosbBOZv9IB4zb7ZUbqPgsUheoPQjZbhtPFLCmsRk" +
"EFxqiwguDZuNkRTnR7ak0akVYzh4YZ#lm8QLu3OTJsmbk2tGz#kG3unxXgL3E4zmnLuUEPU" +
"9Sv7KK6KvoWTQJ$CKtekSJvEsp76nVrbm1aHIM05FxOK$BtCT4aa#vIMqivieHr8ivtl#2R" +
"#9zQDnyatpQArhBMx1wQFjYDPwEjbQfI7ElC7JWbjYylyaa0kCEnhoMY7y9hXHSgKsJpjLZ" +
"l7VBQ8SIR6yD4IKVJhycWsICgUxn0fk3B#EhG7xS#TBvsldMsU6yuFpa$EByvlpXqFy7sv5" +
"jV6rg8slZTfuDTrtKHlY3KZwFKZc#v3Yzv25qVCQiHorCNUiGRzPATOMwUdIKa9Vl2z8lpL" +
"87GVHIAXDozk5wFSGnThQYlp4#XIM3QqzLywwBQBwRgJyubpz74zI0ssnTLlufvyjIli7Vi" +
"A$gARAF6UKyk$mcLf$3OpOE5S$2vRKW7ydjqdzgUVJClLtWQN#oZohblBlZ9bPVnZxKwaQP" +
"D6lav8QyE#2jl3F4TzsU3TbwkyrI$sL#NLIilvSuctqxLb$jeq$3UcD9FpRf4twdtf2CrD$" +
"eotrL#PfpPH$cyyYzJSooDIUy6#RDgc$aT96flv6Mkfl94L2ahW6XdyxjdtzUPTbpkNaTRV" +
"joZlXtsupltq3SHqGN9$aSMvmlUHg3VWteBN#1JUWVM$WkC3Bvv$ubMamBidZt62Sv6eD#B" +
"Tlg$sx3lvTnt61by#$QyN#cYIFSuDh95ThmB#3MktVjV3lMeuBl7p#NItsLoLvd1jS9RbQ0" +
"$wrUdqGN0t$hkQumCldtvLYVqMInxd15PAhDU3VCQtsxqhuToN71Lu#$uXlju9RJQvEErNU" +
"XQtsxrRuf$5QF3$J6$oxUDOuVrZzkt8Mzu$wHcnMyk$MMTo$ksQAVvivvy76Aif6oB$tSPd" +
"h96suAxahk#iOthq7$nwOnUjlKdlwXsk9p3T7kCvuNrzjoBTnk4kvYxfDRgrRvNPsExYkyq" +
"#igrVzpblkwkuQxefkZVEkyqxwog0qLRvXGUb6xq8mSUWh26mlvxtQmCgibVUnojSM4wtf4" +
"U$FRsiRBl4FW#qG1x6vxx7DlBKDoxd7qipmEBmjJORdwcbsoVMgihfIc#zTybkgzeZ0UJyv" +
"4zZ7aXVTqqkE9SdpJva9yzHCwDaEyLy#RMl36UFqZk#MEEbdfSHtKkw5olgrpdMCs9pNdEd" +
"EoywBphFEyywJpjFEPEScS6zXEpe7y$dBcUeywjGxk4fo7dT7iPsSovqhdQlvdEGJ$zLccR" +
"$Qlwv7pGGRhyy46n$FX1dt#9bWuuMPO6Ccj8VxnKomySTCi47y3toRdxDgPeAD5ThRXhUEj" +
"t8yftgzM79hxpdrYYpQlpMdUflE11jjSa#r6HlzPuAD$MQ2ZLRV7yfXuwJsjU7mEU8Xu3zS" +
"qRCVyTftHvRzDm3vPhpsy7lxoEylia$aAkNBs1RHc$7ETSNlIEZtupgtitZ5j6Kxr$DNxOp" +
"$JJlZVzVE#D#tC$wFxOp$SplZ$zhE#B#tC$wVxOp$D$N6RA6HU6EsrmsSpPoLcNMplTdR$T" +
"ZRlJ9y#etPTlnA$VVsSV$s3lJsQYlyu20Jtvs$Cl$b5XoK97T1TsvWpMlAaPyJduKj$mmgp" +
"aVkhoty5OXOqRaZusVDtKbyHQUqji17$KEKjs5BUuotGzuUKob#IshSsvxenCmbtuMN$rtp" +
"QJ#z$xLcvBHlFRJ$oAmKlzAHENlZLxxH#Eqwye$3vqYLth3o6b4bSu$ycL7ZzCZto3U1qlX" +
"v$2H6VcRbdVMp$CgRRy4vvXCpF6VtCpX7ovCRvwSfnf9ofqFCKpeLFJ5JEf2#qeZgIBRukS" +
"ty4mVHLzeHURIDk7wSaccwDkYjEMIbCyf6GXwbPDfcH#Cb#CqWAvshR2JaKKgcIVi2CUjRS" +
"yXAvq8R2NcKacdIla3C#jOSijAvn4P27gLachGl4BE#DOUiT2wsaP17APacxGl4h6$D8IkT" +
"Usmav55Afadx0Z7hMtF8IcUaZOGyIiaqQLyWPdrh3bdfN64Z8OzICatQ5uXPtvf3LZeNs4Z" +
"8evHCa$O5OjQtvf2LpaKs4l8e9TEaVO6OzQqvPAKpnaP27gLachGl4BE#DOUiTEwqaP17AP" +
"acxGl4h6$D8IkTksqav55Afadx0Z7hMtF8IkSE6mbvb99fqhv0pFhM7BBIkTT6GXwbP9gqB" +
"n2plZM7h7Jkif6GHocP9kqBnAnlpI4hdQjj9EHHIgP9#m8nwrjpo4hdIXi9UPIIQTA#GCpw" +
"rXnol6$TRoevejD7#vQyt#MysHQ$rmpEbh$8ajWy9x3rUm0Jtwi5PtDvTkFyD0aiSIqcvH8" +
"xE9jVYocTLuEp$3MCNsgTfOxqhydE4lBCxtavFqqnbfJBF3uxiYEKJlpxhvFDt$Fc$VrNhd" +
"hUhVbxbkw9oHgcQfSTJdBbLlvgzsd6V6v$KROKEuKjnfPWItA#FpI1ORlwuFiUMib$FBhsM" +
"rZaTqbzvqfUe$h7iFdP0cn1jX1RfApdeUDOFMVIS$#u2ZoVo$3ys9dZUVWkgzQU1$TbFG$k" +
"0vUt47y$30lkew$a$1wiUsHfdYYbFMSSHHFxmjcEln#6uqfiDaVAyrRE4FugLCzbxxV5p9F" +
"5TLvjUzpmJLRjVDZyA9EjOhbJmLkyUwvHfbiShMBqrJaoveYUMpe6EAl6BSwl#7cBsw$uzL" +
"Qchs8BdwQ9IxI6rk8jJkigxVp$$$UqHkVtveI5PsdY4kN7irhBsy2Ypxrvbce$soOjnBcsw" +
"M4IrLcSVTZ6FVQLDiOBWaORSGsN$vk8pbV7wRHU4FtckEmuuLjtYQBKDmsVeGbr#8nykvLC" +
"2zuSEfNMvNnWDZEAW#YzkReKvmMtgpH6SN0xFOg3aynH79mKdojP9ut2Ff2emKd1ITfQR57" +
"oqyGMvhfy5Ejo#gFr3VVdQxjvs#m5Z7XsiHLzwgMsH7Fzx4petgJlVJezt1jTKSFotYVP$Z" +
"#pN#rtu1ERVQs4SpWrYwlsRtcyJz4h3iAtTFldzPpHvvzMU$xCl#mvtxBdo5VZdi6ckshiP" +
"BwDr9xdwHbsp#M6dj7w$iu#ROCnGpovMoc6sobOt4OwO3Dlq#FxO34RHKYQmyjPz6BjF5i2" +
"VV5WKHj5EaRUfeTZXEdUJQpA1iTpaKHHSn6rMNjSi8YDf0#n1kznLZtiWmORHL5h3YzdqSC" +
"#E##ED#TTLICYrWJw8it5QcxXNZHn2J0HgqnB7gql#IdSFMZY4eMoHwIr5wqlSNBDRuPLCy" +
"UQcT$yJd9#yqAHOxxhUo8rjFAtI$ftwE#uVL$iEuIxqWJFTbKUxkfjg7ayH#d6si0d$n77t" +
"FpRTIalK9YxqEJV5UwYlDY5VpZ9N9Qqbctp$l3MJxM4AkL#e78xqGIPQWkPbZoTIfBNEzRM" +
"Mx0AJLmYKMIQ4ozBwqhj16uFchX4eVI8j5QXzILE2jUdYKiKYXzfzQ3r9KuArwM9InIA6sd" +
"vjBx4IU4wD769Gd4YBPVMbpWfN0in#U7bOYs7rcTAsznA0KrS8b5acbDWqPSuATo$QE8IXV" +
"9Nf1NG#X8dYHlkJHENI1IPviJBqhfIEu6x9qrSeb3sZBJsflKbJgeU7gU9IoIAJ7FYPMbTg" +
"Pt0VPGcBb4eZqPQZzFw4YVLprQbYKiaYanpucLfNQcTmEr04vSeb0wHrggqliH9uNeqSOb2" +
"yIAj3hI#n4dLxpyqSOb4aMbEl2ojAxKJk9O$O#CIXH96Ml$G#X8dXVitJLoYKFwEj49QN#A" +
"aS2qRboYKKgJrDwqlSPAuuSuqSOb4aMbEl2ojAxKJ$Zv64vT859dc92oHkb8xWJkD9YvHAD" +
"CYhSTeVOd3qjlYth3CAdrEh4mEaoZyMJL$DNwNIfHTsdwNAWVkt19Nl8CzmXLtSrk7Es$hS" +
"SEBAE9yTLVj8gqZxggHkb8xXJk68ivNA6CYdOjeROcImHrD4UShbD6HpXXQMw9aS4THnFaA" +
"PLIaCvhMbYWPt0ifudo5Sc6aCuhMbYWPt94KSRv26HdfN4XhIvGCxWKKSRv2kI3I6KbhIvG" +
"CxlaKSRv2EJ$IkO3MbYWPtFCeudo5SbwaSpwjBL4okETInFaAvTn8vpnQMwAaSOFLAE9yYI" +
"BJd7XPMbTgft0xKiJv2gLZfBCQhIrHClLmC4MSBr5acXClI#jAxHJk8HHnla8v9D8vcDQMA" +
"CJTlJVDktlQ7h$$e4jf3yGX$trV#zRAktliyrRTatkkDQNTBkMU6axVmI6ZjzPWU115dA#g" +
"xI2j8#xWaBgnjb7T1r34#GhlW4Zd85fRecHmzw68ynNAFf7E0RIsHCdWxaSHvokK$IATVMX" +
"jYPB1FPiYpbSePqSw#z7Q4YM3Uo15dAzG3enqpgQr9Ke6Tt#AE5#Xx1$f74XhIvGCxc2AE5" +
"#X38vqzgUr9Ke6Tr#AE5#Xx1lf3AQr9Kf5zmPLAPrZBRutc2mHO$hwRUfTnBwATMNTP0alk" +
"khNzmRXmJaK#TD3#Qk8ZlmeUT1$XT8LSQZVK0JZi$S6W$71U3FdtwvBgNk3iYmnI$ct6T$l" +
"7SVUIyzI73V2ji$pnCgwz8rSMOijNbdpURvLA$RIrssmOh#48ivNA$PBj8vOiPEwKZk7lrz" +
"AVqMfo5zHDhU$fTSeudpfhqmBtXoqjaJ9u4wdYFCLolH8vpLQMw9aS5#aYFCLoekHpdHQMw" +
"9aS5#cYFCLoikHpekqjaJ9z8TX576#H95fJhmihIkrKxY7KiJv2kNGI6SOhIrHChX3AE9yX" +
"J8aqZcKrfOe6ToBAU9yXN9nf3E4rfOeQLnoN7obnWKl5OyBNZR$E1vB4UUhSJnMwuXnJEfA" +
"xLG$UvKYpfSeCis9bwLrfNOAznMAE5#Xl1Bfl4fhIvGCxWiKSRv2UI7IUONMbYWPt9Seudo" +
"5ybAaymAjBL7oz0V$2NNdY9UAxnozLBO$b5rt9wzSud$l4vjy3j1oHWkUPfaj#tybIi3FQ3" +
"Pjaj$S$vNmlVneVV8PnNsZEAEjukkBId2fE2l0DTgbvRYsBRFkPB9T$WFrLk3EbFwJjGZSD" +
"kWfEvFQzDQgUo0kyRxEt6N9cRGOAGLkWJkRuOgjT5Yk6PJFS1NVaPpDyMUtzYnm2zpyAwFf" +
"BSPbFh5Qzdutxk5Xys$Lz$3A$UR4t4ZKFpMgl2PJgBWcQnNgtwr53Vz74UV7g9h7vg1rjRQ" +
"1kXr5dAzjQXsH8tMrje6wBKMShsrg7P4ZTRMsWReDHPolRMeTaIDrjRQ1kZL5dAzjQXsH8t" +
"Mrje6w5KMShsrg7P4ZTRLsl0MhKyJvsgRMuJbQLsiRg9qeudnjK#k87AchjOqQs98YpjSsj" +
"GxFqRfQsq3TWYBErpQrZiYHkaAR#hPX63q3wbBQ0t6mVoUw0qMSRs187lzEbDHDQelyzXHn" +
"liRJEY97wchjUADcAlzEFLF9Kdgc2hVFFLFjI17d2vjofb8yp5Iahj2ku3fRbz8Ub6sZzhf" +
"#Bt3$dViZrDRIknNy#zWlAug0sluhDLxW5hW5xco3w$PmLsqjhhkcs$DVhuTAjbRCzCx$Yf" +
"c#m2rm2zm2jy0jS0lS0hV0BN0Bt0Atm2rm2zm2jy0jS0lS0hV0dJrmWpkokC4TmHqnRd07V" +
"SSz$8X$EEbSSkCemFb8FBUWj3XkXCrq#IJ5M5cUpBdN5lVX2zm2j$X6iC3zZ#5My6O44xVq" +
"IEaHbdep0kV5RqOeFU9Rtep0uYSH2UiSXIOX7YJUZB0NVpD2ozxBeAqhF6DBlnaXl2jDtZ#" +
"#7zx5tylW1VnNff9Bwsf#CtMQiAvB8NLVcg3n3zyBtK1hqBhXVS4apazQ22O5asmvYMBNJl" +
"9fCkHJU4xvyBspgxCxSbE2AGPA8aTOaVBilmHDiL5SBdY9v$3X$nAaPE2z91GkvFqZojciI" +
"tdM#aisWd2Kah$8S$Xmwqe6ddmRmM72kixHssYRdFDfWd0t9N#1v$0Pe$LnV24mVfkTp6Ms" +
"mvKy6$iBDefnW#Tv3XyUkvA1zxnGk4B4hdEscfVopBp0#JIfckVfvtWE7$x$44e6tdEyl9m" +
"NTCud$oCHDQ$a6Q#Uiv4XVvRd94VBm3F#ioIP8wnOv9nFao5$XkSaHyl0UyP0IUG8AnOvvz" +
"Dao9$YESdHCl2UCb0IESAAHSxvD1do9tbEShGCl2SDb4IEi6AHSpvDXlm9dfCSBGFl2GCba" +
"IEiMEISJvCXVvpd94VBm3FUcflC4LOiSiwdoP0$n7EIesNWFMIW97A45OkSysaov9DvJd7q" +
"MMPoCDb0IUG8AnOvvzDao1$XESdHCl2CLKKoHrYno3cV9aC#bUSaHyl0csgW97A45OkSysa" +
"ov0$pdEHe6NWF6oY976758kTycWpvOpodEBhT7mkCDzScSuGLYvppQJBaZ$ASv6WPUCRxf9" +
"Cvmef5plaq6V9fF2SvMWQUyNRTP8wmOf5pFasnl7G#pqcEbfNEBndl14tcifjDplaq6VBpU" +
"4voj0myuysXoHnXnIBdV9eC#Ray9pbQ1fxnVj5aZh1YaNC#JORy79wJ72q3xnm39P4Zh5Za" +
"d4#JMKv$j7vuRvguB3J#NzRabjCExqcJv1f8ai$BPNIpskajl3j3lDpTsakjOT5LVB4lUuN" +
"7VL1yNgu5ruFXdHdYvUxKSMWDYwxYY$qTQP9SXNHNfC7BPNIJsgIdjsU8bxjTnw4rBBgAB$" +
"QtfKbo5T8TaGOlbz5DQfEUZiyGBpTUnw4rBBgAB$Qtfabo5T9jaGOlbz5DQfEUtf8XNkuM7" +
"OVMiEWgFjy7IwH9SXNIhLg3byhg9hL9J#zFaq2xNyUXDMXTpKzUusM$pP0#gEyZUBcaHlbx" +
"F$FXKulF696xoB$4lpZMTP#HR#EKc7wWa8stSGf#yXzgEOvFVNiYTDKlv$rV4lfVbgujNOl" +
"ZL$xh$Xl#c$vRd2jvEYNJ$kYOcx7wapf#Pt9bMOgaDDwZv0p6EdJ0yT8WzUjoKSl$Cxb8Vo" +
"NANbEw9lRMxsxoP8gd$QxCaocEOfAplS1oDROpq15lsIhj9SkIT2b8MhqcYXEyE6McKs5ax" +
"XZ4tkgo98q5NSfxK#dIw3ucU6nrtfk4LBxVx#aeLSwcuPSiIzBzeB72vjZ89dZAvlqYZSrR" +
"NATYQ#OTcTXEbBxVHloEZCGgtH#DX6FPJldUIujIzvMCkuFIhvZ7KpBjJnUfxVrlpOholrH" +
"7SoHSnhPW$sCxoB8KGUTWiTyJkGTA3$XV8trqF18uBqwPQSCqhvlZsI7AszI$8SLbAP9ITY" +
"dRDu6ejnC8NdOxohHJ#R#5ySrJ$pdbVKnz1#2z6slwzxld#ft1sz3wM$0rn9xyDY61T1b7y" +
"hxt5os7v8$D8fNsviBm3Vulj7BZlq#t8OdVhdUt$GkjjtxshPtyz#dUOS5A5ANVqiXvF47f" +
"IZviz9RAmOeK2Ok$#Mz7A8fdq#NxO0MAqd48BYzdqUNxO7cACaYSoyjPTFa#M8wY31Bdyd8" +
"MNRuFbgKeWyIvl9n5b##3PIZA874kBsVHvVjWQOeoI9pBorbq#JvOYg8C4kVoSXPTlWzMfe" +
"YbpXg2oylHka19dMKownvvrb1#ePINV2D7C#kauC7qEWae3mOF6h4YL$PDvjyvEoVF6BxFl" +
"sFZvImqGUFoFUiiZXCaLzcCSlvhvjh9r$yQmsqI6ozdeGTYtEZpG63Cwt7Ehn7vYL6KlsgR" +
"mSIOopLuZfUZINefSVL7bwCfWIi$jkzz#Rv7SAVs9Nxk9hWpvlASaER$FbdWIXIK$SZyFfb" +
"ZcTWjmKtugxzFpfJ9uihpMfb$Ar$3S4lyufXQBPMcbARm8pyRfNc975PBBBqTg4SDXStBqI" +
"J4WyH#Kx7FOc$FLs9fSwanfrTBKygiqkH$lF1$qvjQadThzsFH6sKY7XEhD97pln7PhTas7" +
"Dj$XScLfF4VBT5sS8n2KnJdleYJUghWW60tkH8pjs0tSDCvlZAUIinnweeiEC4xtYXp0Zk1" +
"bqkIioC#UoDr0kGQ5z4w1#fIMH9OB3XEoyN#kE24M5#axZTi7wUqxqzmx#VyD4dau9Yu7FR" +
"7gF9Iv$wOs1VETf0Umt5DRA5zJ9OaSd2KbelzKTAQlaSEdl5#8KYbzlO9xlQSdoQ971mTby" +
"F#Q5bUedEK11qDsZvfKPG#EaiIEJXIoyN#I6dDyDruunAaKdk717S7pa#JH0w6nkMm7ohBA" +
"zztID5Gq0v9YwBqq2n9vE14BHVx4wKrTsbtMLUkm8pxav1AxNiIt7iuFqqIEJW#BeVzyQgy" +
"rBb74ljCea5wF4y5gJkYWfyYYHmSg#LYVwoofZIGCkxfGYgrxqrmx#NyD4dauEIu7FOdg$9" +
"Ivrv9y5sWGNeoJvdO4Jz54ZauKyl5$anbJMaWPTnjXLHgtvNWtiNvQPB8mHbnEUpFKEMbpb" +
"sImFX4SCy0tPMq6F5J9963qxLSx4zNrfG6KdSRAAShxRiJtBivFqqIEHWHbyD#X2elTUwM5" +
"Fa#0dHtqcB4Jv543axJSh4$JLbJ6YcKqwGsnK#JH0w6n#Mm7wwidKOXGJgSH1#U9OaS38lB" +
"OJzCMHjE8K6Q#LSEpK#JH0vEZSjXVwgoDen2WlHK4ltKB4dau9Iu7FQdA6kdKaYGdaAYdv8" +
"bZHoNYtbAWteZwJ59PFTSL$nt1xb6AyeNvV$5yfN$5nVBlUcx$nqI$wMSlUTPYG$1hjA73k" +
"gE9R$d6UpAkNfBvg9l81B$6iDzwC2IzrrvkIHXhRmhrigx1hiOkDyeAxk0g$vxslz2v5X0N" +
"7i7EvlSP4wY90asTu7DNGmhiCdB9GbwEqDlvs0d0rVxjbDWN3N9d7ar4KceQun4kIJ1vawm" +
"kLCi5xvPhp4IkD$GLy39hTAUtihocQknikNJMzaxIDvY#2nWyJbXjwpDXARt531FutQznvk" +
"nczz3UilQVLsKUTocep2vvWUvF6mZtmoxdneUMdJydl#ERtwV7BvjyY$vjdqEtuxybtoxsl" +
"2Ds8JEJNbyQzlpdB0xKViMdMD#D7LQTvuhFLnwcFlWVwzqli1v7RouL2dnd63USwr4iT2aq" +
"YGs81afvtLmj0#bIU5duMVfsaZoT3hXwoGR2V40ZMAXJyDFkKuuFVxkJF1YcvzgEtoltb1l" +
"cSNXNtSJnK8Vm9RmY$o7isWhRukfTqp7lePVXU8v0lxTMVY#Z4VprB$hVPMsbTF6LpO2xjk" +
"nnyB6b#6NwNWCdiWnomOyyXwojC5HQ8e0ZFkymU4g8UuXHpbwItot4UC5XsV9mDfUS0urUS" +
"6XgP6exlFQlhUHzv21aI6EfJ0FqNb$EbA7eCmFflF#Aqp#g$CXqa9mc2cLEM1aY7FLzoL3e" +
"ZpN7C9BPKbXSGi7ntcan7rgO6I8SvM58w8yrqGh0ID3d8jQMynTGifbFb3tmO6H8SwD8eto" +
"#EJvZPrT9y$P9kSPANmxdbdIMpWbdABqvoqt4eLUT#z9VaoJn4aZYv4uETHFsYTcbjYgoYa" +
"zVaoJv1kuqMWF7mbJJz8hNr0gM3jOM$4cQpr#J1FNur9#J1Cler5YBqIfda5FxODfFxQgSa" +
"gF7zCa#GPwX1HE2bE$mLE#e5JuSAYVYU#fzVWnGz3ZKd5CaIXZFhNVKwC4QmLhQHyIzVgmg" +
"Hy#hFNuCKsIRsX7IC6QmPh9k2GgBnM#4EfVbAsbzVWnJLoFI$anJGBH$CtRMXebd1hgtp4a" +
"F8YjgfpIuySqIRw17Y65xwJ7b$A5btinLB$g2wUM7LzS3sSwVaoJA6tyDb1w8SRNwv7bvFX" +
"wCQ7$OhvphDoCyVLA9guN8yjFXlgtKtEKZOlhyRYUp990D7w19IqBz2T2$TkeP5nFclh8AJ" +
"r#J9FaKt45zPcudjGeGPsMXK#KYwly4qp96fLUYBYU2lNltH9nfLTXMeyVqoJvL5pXnD1uJ" +
"Y6MYN8FXkhf3gIL7Zzc27fSAeuf4cMCPqI0D06Ki1gdmmT0kXJq1EO4WhZU1AMV8ebZHXIi" +
"4QmXqI8xKJhe77JMfRWUBykF6O8UbufZYYHESWqOR2VHOX$msIxOBhQAz5V1ZgeiNmFkhcG" +
"x1lh$JxPbEo4ThtwbVBiaYUTdjvCVliddPpcAIK9hH$d1jhr#ojRsh2YBdheiew6ztaZKgN" +
"p2UKlkjR72W4RcoevhvBgwzFQ8Mem$URszVFuwkhhycHdlji5waZyVeRosFNzjnBLd#5oeV" +
"yER#cyYu3uKFkIe9pA5tfRoc27eSHHnJ974IQ0#3ugj2kmezHwhZaf1Js0#doNnx#NFvvj5" +
"WF4MK0LQx4EKUfLLwrcat7#OLJ9l0VMb65LjyHNLQ#rYyMMxnQ2cFInYirkiRJEBgPK#Hor" +
"DBcLMnvmNUrEQx1mYP6MV$#ERftwNBMTyZcAIv8bF#QkIvgvPKdu0p$I3twbw9kjbpF7dpt" +
"DtIh#h8zSTfSxPSePcuZd2nDOvcKtQYilDpZxgUJYFZvY7HRaEhZb$Ytcux1RTcNCJN5xEO" +
"IxpcCywi8w8kZFwSHVOg1RUTMSrh9RLiNhMm1fP4vkJpSNcPlEmUTbyR7ws05kGBSGMPekm" +
"HTbYR76s15kIBSMMPikmPTboR7cs0bkHhSHMPZtOAcnLjXfRdQt1rcHhiPviRROEwyNMPUk" +
"ntcnzreTj8Anip3PXcxA#ZB$tPdESCRPaMucx8jkoxN3ss1xdZntHXtTckx1TsMuu2#x1zc" +
"HxiRsB68eOsYo6$15yptue4y41x41s43kO7SA6i4D5cRmHC4J0lwtJ4N0xBlk9ZMPZH9dVK" +
"SQnHD04$$gp0SBBmVbZSRPqjieTo#ViYzonEAbOVc6$meC18fO1oeF04WktmsFvcase91Re" +
"lPGx5exQkbWcY5YSPcBXCXxB1FXMIImliMcvOta3fVB6yayg5lszC8zbb2XLXrBDjSkq7B6" +
"iBc9vWqqL8xwEqEQnTAren4z0EexbIiIo8Qw7T2nP2o#1HyUIhC73sE7i27OaEueTpOvXGz" +
"cnx3XsF3k1dSXEWiqLb7Oj6#4ixIpZB2jgS49KTzNEggWxNeFLYFCbDXO#NWRv5V3mAkIvz" +
"eliElOoku7To6vYDxDRsAriFBkDtSxkO7UokzZTx1vsBxkFtSyUYAAVn1vcZw2#fuZ#y3TQ" +
"ZkeF8Imknbwf81xq1sTjfM$6iteKpvz6FBolZyNnCgT6nSFxEjU$pfcx1V5SYNYoxLIRyh#" +
"IU7Xlu$xmyJm2lPBtKfx$Eeu7$ijuv0WRYyzbx2yLJnLo3liPxTEKAvufR5$qpBugdbx8zq" +
"9lv9$LyQ5xMoNnrB41Ja$TFl2CZpCUpo0ZdggeVMGyjOYdKSNJG#bV1upAswUMR1$f3RTMY" +
"p5TNr4y4zHe6I3QHrhZd5eZdYag7eaw5gFbCemM6O$ayVPnSyKp03G89EFXbkYPgjQOTLzf" +
"Pcqo3crEhKrq15byFkjg$3giJUgSha3d#4#Z7kcrIHP$093vsgGEhJfGp8EhOnxSZ#qlwZ5" +
"t6y2srEK88u3WEfkbvZ07DPPi0nTjqAJQWElMLJ27IGnNjK7#ldA0E6TmQtr5t#SZa#V6HN" +
"vMHMEvLiosSYpNAJ#RK4#yjQz3fFdybFrHZsLUFxtHLdDHSnHgiGv#LTBt1#ZUw$Y8Pn2yM" +
"o4rrrR1Nn6Fmy$IF9xUYAVAg7S#mg$32CdNzr#25LtlsHYgqHkxHcSptXk$hIYU4Dxg#M84" +
"pixPkROMLcNxrC5MDUAfD#RQ6epZ6d3oparyFJi8hM#FfnVYgHRpRwsOW#igYcTVSNOl5uy" +
"JpKtyJFWYuddPY2U0LJwpNGSlyyNp8ZHVbl4uzTRh9hU2kQdQMOEScyOHoFjY3TLLp4tLqJ" +
"ctJshrICzDMInUJ#Mk$NePCJZDnI1MCTJyvuZsjyslFSNeg6rn37mcBHT3dH53TRCnr5hQe" +
"GQZVm1A3qhus4kinEGev5TwVN2bf#M$MsFWlJ3hAOyXVw#FLnAzqEj7OTIC4wsvWj7hdMY5" +
"uS9xiGACPgKwiGx0h0JlywymzApK5lsbpj9VgWda$kZrSP#lPHixrQA$Z0Fn#Tx5#J1lVva" +
"BNhPLdxV5eDSljZwlP#y#6Fc#kCvQ0vRgSiSm3hhbOXXdnD2hcHYU1W8LGvN07W3v8E6R8n" +
"3uUE8no0ZuzxXzW2r7JPsOIVF6m6Ck5qDj1J7KMSOjrPTwmPxiIt8bhCSj7mto3arj1UrGl" +
"YzDg63kUPgzPUbBiYVP#jA#m1ud#b8lSOtPcvL4BFbZc9Px$cnkFDZwaekIgwipGJskGdLV" +
"gfPZ6bUXzQelrQ7EP5yQnzRC6uEp5d3BnV2q4OFRJ0nSJiKmWK1snKZJyz8ueo#z29INqPV" +
"gSxV3D7YPTrvgBeO3B3785j1dYCN5zK9Lr0vZHUtpTNWV85pDhc7NGbBDhiyTGorxgCBp6B" +
"$oxWNztY3woZ##Mf1NKVAg9bwDJe7FM8qwZRdEOwvONzTLV5N3MxOEBSklhBcVlqVNnDfFV" +
"dT7#bcFaSpzT8ohcXUX#N85Lryl0kzbZEJAhxwuvWJqnIhX9vy9v9LVjZxvd597NgbFWvzx" +
"vV5JlPcYfc8$NUXMYr5JfQuIxNvMYsk2iU34zLadxidsXv$JSlav5thu6otoimfjNesHufX" +
"#Ehq9F#kKdtoTLHtvoU#XylgiozNkRy1FFfjNxATJB#hJJVg9EILpbIhEbdMPzM2rMW#kaS" +
"lFMeoZST5LNNu$QuMbQd4kQTxF2OIVjQ9CpdONw#8tS8wirCzgUC5dosdAJqVTnQWsrjTrH" +
"dtMghiOgjqn6qrGxTupPxk$1CHnpQolpNDntsRFnNkHvm0UYN7VMzHsbLWpodF0Og9##JcW" +
"hpe7yFlXjdF00UpRpBt#XygUnnOpOlYdcHXgBUjhHzHLDePlLGozenWMYsAOOetXMzHLPJ6" +
"yPSJmRRFt7NjPOoWHCVHMCJXH36uKGvKrXfxmeB8Ot0hMTRMMjIcFeTg8WOy81zWrAWPvVy" +
"#CWQzDRJ5KLnp3DnLS8tm3V7fjciQLert6i2$arMX3lZQT9cO3HunsspK2b$J4Q7u3aNoBS" +
"WvikcM#cwvDj8BJJ2lGLpdvPxMJsIdiL3QC3MUdmRVyLmZZH0HhWWQAwnW#V$FxBdbwrioC" +
"oRN4j2zv9SXZudSU1uep4h#lcYycVa#qN4nJsCPj69FjcuQQCZ6vYEa0iMx96nFNB7zdRCf" +
"i4TEQYPYgcfcPdPdGzwWxtd96w2tw7Xc7itXY3FKj6qULvIpPiZZiLzqrmjyQUCFRGCwIF8" +
"vgUnpYkmeTHwspNjaurcpJzh35iQQOpMknIkkNYgCtZhOudCJuRsvEQyiuhhIUQQuKBSAFh" +
"bZtyxXa7AurZkJuS6TYUzZ6l2DgVM3KkmOAad4CjCOnC177mB9nrBHf78ur3kw7YrepZysC" +
"yyJvlxgPVbKzK#Ae4NRao1WdqZLHlxAFZvf$BOwQCktXAfgcPg$cnuVP7cyrCpwSDboxkCw" +
"YbZYgn0hKKMjjLrYLvu$GwM2Deofnjx1y73MMbN5BufXcFG$MgFiJl7zmhRT4$V8uECzs7b" +
"mq4KTjsJX2oztdbiHHOvsl9e2gKFDLecLalvgcugYnjaTohVLMCtUWswuzx5Sg4yItDVnp0" +
"7pkBUx8EIeEw$W8mpYE45kvE8IyZU8GM6GS8RdnECInYAE8euXZDeb3#LR4KSHHn574CPFZ" +
"Y6nbyC6BVXDX#0HyUnmqVX57#$MhA9vPh5yLSHHn574KSLGUX#Mxa5P7m5Oe8cXTNvgTUb4" +
"HGH514K4HGH514K4HGH71Vpa2KHeH65uL4HGH517CrX7mPn$i4S0N$dw6khQFGFmsYOgWB#" +
"khIheuMcCN#tgnRohN1cnnVDPcwrGU0Qjk9eB1T1ie6xnMgpFFN5UpDS1VAtgNqRfiFUJNj" +
"qUGHcWkWiHlsPg9mDQBedeQa8q0N151f5Dn1BnToqPGP$QYya#UMyS1h$tL4stUIxH7Ruui" +
"yea#NNuav#djpJmXtzVY9$a#77hcc1b#bgjFmWlUl$vVrsThHvYGjtw45NuMVXP#phP#9ZV" +
"ffqhFmducT0i$M#cd$gNVhEvdszHdo9#lBkEdqz2ydyuIvJnhApzRNv#LR8MVXP#5duMVXP" +
"#5d$yV$Sp$NKh2on6stzL2vgOYuYkaAzbL8bs3ptMile9tjkRvbeVVQUh5UcFVcus8xBwPy" +
"C9b7xAFsCVi4$OfvPd8NyVwjxrdt2jPPuLdXMV$$pmJSuBXcSWhpyHymD$NOdWcxsjgpwBx" +
"zdazSzJTxbxyRhIoMoNUoyjdojuAZV$orAYpo68rUrFy2u2o2axacVrV049#tpxnxmm2J$q" +
"BWFOW3FKy9TwjHR#NdS$p$IEF7BPlL5RSzLNUEwWB$llC0SYj2MvFhOMZz1vrAB#h2KDv9x" +
"dCVnZK2g#KzqXl8FoClDSMiE#hwyn#rzVmlXVRjsM$WaRPq$c$IGcKSw8tyena5weQkOXTp" +
"2w9x4Jr8tfJdOwRtdZzO9$mgtpzg5Xqwxh9$wk8UiveDiQmKlQkEFiDdp#eE$nKB6ngjg#Q" +
"iOXUCPszobvZh$ESitZPdjhVtbETFiu6fWVY$T$rvMBH7XW#DTlRq2loZ1MZ3l9u86iedmU" +
"9zYplmRvgn1KUp7OUA7xUSTrc7gItjl4WcliB3meF$cKFyi$AXGU51uK7XGU51uK7XGU51u" +
"K7XGU51uK7XGU51uK7XGU51uK7XGU51uK7XGU51uK7XGU51uK7BV6WvK#qX67sYHQXaUE9b" +
"XR#oy5Ks$CzofPulgUbJwQguyzXg9#mOOxypNrSjr4TrwbdpEha$$21a$CPC#hVI4Bv9DQQ" +
"x3VMa$qXdiRblxadVqqBMgoI2EDVrBCHbTLCzEmjQePTvsoO9qApd4ZdhPcMFatSYeZoULP" +
"4r89dDyqnEy8Siv7Dz9XrsAL8NvweYyni9ew9NzyPsYsQpS8m$sp6lh7DPaAQU2hFSUmHHC" +
"XJgGZIczEXN0JYrtU9CuApRlgCu2pHcdEIir7#Elotpeg51uK7xUD1Uyud8ZSBhuxoFLazi" +
"x13zVIpuhNnkKWzMQqjgNDHsrXHsE8fz4GymefULyepYFbk5f7Fzbcv2lr6vbFZ8Z5gzBhI" +
"SNBrsJNrgC7AK$LPSSQBdsNjMsxKg3DUAyPj6AfHuoR7hP1N9z3QSjIerXA$NJX7FobFjHP" +
"gvtAYFOpplle5Id$pDnMIonva4okh3TuUiZRYzj1jgj3x$fkr4VTTQdqJruhnkuweR$3QoF" +
"JTyhNXoDeGUTqx2UkeAxes#hP5ppIjKrZjqnO2rxfoZcUhTCqd$BA#$qcqHHlu5$t29trEw" +
"9jTsTjhYl2yZVmhwc$cr5#O#HrlnE#c$t75l0ugwe$shrpzjOT$$p$gh$tyQxlwI$hPFlKd" +
"VlEUF9TNT4PhR$$Y#gFRLwr64dErMW$ejPTSYzMrXNzO3vo3LPTSUnN#5VxD9lwbU5NcLPH" +
"UnRITVmglnVCplSqwvu$2lyA$zlEl4Xk6ToF#lzSVSublZggTkkIx49nvd7cT#PpvdGMS1P" +
"s5d8MTHIBTwBw0ivoplBE2iwApahEoquEwBn16xoWrlmLNd3Bt1TWt#Tzsx3YpMc#RbMsGD" +
"LZLuh4qCsg5#3$Ig8owkkDF08WuohnJtzcSx6dj4076KY82#rXogg9KOYmfl0V$AxsklMsm" +
"QjWWxvOGRLp1VKq#V$7lfCBqKpoZsHZZ7lDb1Dg$Tb#pi57OA6mKDeevTVQfwyB6$pyRBNt" +
"sG#684PGQ7#99cVRmcqqr$BQinyqtuydrU6ZvZolsfVoFAw4nOzQivmA$m2$mS#4Jp#WBZT" +
"GRi$5fOdE6rit#RtELublUc3tBuij$Dj7uhBuoV6MbxDstCFcy68tVkb#1o1MTyQmv6sKy2" +
"JusNj6ngrhQOzYaMQF7oCtnidqOt6uKD$#xvjD#EgiN8wV0R#V$F2X6$cmnyedVmcN$PQBi" +
"obj8Z2VpmlZTvRIV5LxNHtBZkbxaM$8CQ3DrfCesyqySL5#PkSZYdVXTXRvurxqgMtP6prV" +
"ZvczCnRvtw#sp$cm0zeCA#uNzmdvXlx1Vs2$i5$Pd3$jYtwhVL7Bxx1njlrr#hwb$7IYVAw" +
"yFetjfXFSj#bujJDxjCRvNGqjSHgpzwVLt1R$d3Mrtclx5t$D65igs8Lcxdr5S9SjrjSkkO" +
"5SwdTdLx1fshU1Vdy2mN7s8VVHx5JOvkaPzJEoVJDKAUOtAtcRli7VPU#nzza4vpzc6R2ER" +
"vzWBpnsMttEdQUPxpfZunQ$m73DFnlFeoN9nJSpgw2ivU1v$6pKvIYdFYVw#Dbl7#AUkFad" +
"FMpj3ECpISzjWvfavkBnLqhWXiPMxKo7cZSNoZ3BTug9LehxAMoLbZUYvOYOsMbnSyJz9Uv" +
"H2i$PL8MNqUL2FSHpvVpBLgwSMMRcd5Yjed#YzHI5$ChDFPNxmjzkGBJ6OxHEFZpoRwGTlY" +
"RRfOTmFsSFQkiUsELupQw1G$WgUrxbZxsl6dDJC7JtHI#9tLlKkt#fYdCIjtgSSBkgycL5i" +
"$6ezze37AiQV6CLrz2Y6ZZ6AuKtgNAbcNTdg#X$7ebbNMQBMX8$nbGWVnQ7bb#X6#JQSjrE" +
"zO5P6Q#R$ZTNliEIzJwBzrRemntSIzhMIE8SJixXi$rR5Iwuuihwbsp#lvoBz7$HSx7FrZ3" +
"1pxHPvdgDdb3zpgfxH5bTPimf6sRE1qAdJAu5cvlZSI6AER$QyacTBh2a6jrKiR72aJwxAp" +
"6$1H2oDrhi5rXxNp5bui55RlCVDX7hFyx$oqRoRgFVcOatKI9cpFrgGnsgiFVEiFvh7hN1L" +
"aMD#e$fVAA#rSivl8jUYcJcoDZdK$wEjvxSSwsbsLILrotui7p#k3bnT1qudMGSsBvmvgQk" +
"B$2sSiDeh$Hrtv4Ntybw4v3KExOMpMdlsimAtm2rm2zm2jy0jS5kA6rhMlmLkWLlW5hW5xk" +
"o2c#$#GnYcxp#4wjkq$FTzxLlhx#xzgwLpF5iUXcrtjogalgThvcxLxDKd2zm2TnQuDvWeO" +
"M2ELSTiYScHJloS27sV#25rntcoUJ#CFT5StG8jSsym$Jx2xBr1iITcANvlCFeMPmMsOdgM" +
"ChzPBMQf0hV0BN0Bt09tri3Dj#uEAxvoiR$pD$iF7VoCHcYtxNzabFqst42lyFgY4bmgpaf" +
"mutPfEIuLcz3lIV3uIkC$K6y5xipeFyHynFjFwtlA2ZQR14Phxu6qfcmnKWhS0dUsnrNIVE" +
"ynuFDDnNSaPs$ysQqz2zm2D$$AA7N5Kz6yqTmzF56wudjuvL7bDLbqxxDFWLgW5gZ$3TIAP" +
"i2AlbKkPghsRAFGTfrToVspThf#Bt3$dViZrDRAknKLH41Q$u$KU85Ru1Qu1MunqnSpVO5R" +
"u1Qu1Mw1M#0Mk0LkWLlW5hW5Re5Ru1Qu1Mw1M#0Mk0LkWVlluifVXoHnurzWSbnMHzznZzx" +
"mBt7gCpxfNuVmE#xg5oHvtcqRHc$PJ$vpjk3eD$mNz#4Bt0Atm2rm$rkubRmPmS3bpv25wN" +
"$Gu6#lZT$4NcT$CqA4Ghq7l9b$vE5lHi0PwicqTI7DzLu69U#VYI$rPeHidJikUqpyolH9f" +
"rFhtuQQjMwyxPveRrXNpoZozpAKjot#0o3zt5$gFG$95KJo2JtTOmW$S$m65Rr3hI3OOFrs" +
"$FBMCrPaVytrBq4sw$6$1CNMrNlYsy4wczesrjbdBQdvj7MdSnYsfEQrzVzspUj$3cwBca$" +
"7BlAjwFE5zS9wORsmNbWlh1VM2#kpWlKmrpjbGk8tL29LzjeeBr9B$ts6#AqJHzBlbXlSLf" +
"x6I8MdXQU5fyt#MrFoDm4kOOSZoL#cS$patOgAx$t4kfZTHaby$l$ERApwVsTJjs#O#eTQ8" +
"NkC$bTXI1vI6fCJ#a#eksJFi6VPS#nvzeBWnj$rnF#AzwFjUnF8lbB7xnBStFzR7OOEltS4" +
"cyvYzZUJHJbzXUp85f7$c#siJtlkRE6iAJtF#iFhsTaaUHP1YQtjdelVfIOyfsih9Bvb8ku" +
"O2C#RgorfKzmnw9szZscqq6N$jatRdTgSDhar$M$gsYQtbkkzj75$C6sIFVaXSGTwQdeagA" +
"Cn4jXqzYfxZRrUzixEPsA4Vgd#0HuZWSs8HqAUlk5qnAUpCuVqsUaIPhRcHfApfBDKt1yDv" +
"5MoF49hOxFEAl#tC55oX3hcNdEngsREcilsI$8mbF#XhR3A80dPOhRpXECHRty4ajFTybRa" +
"z7y4vpXVydyB4sbxBEBVOgNbbl#ZOYQELjLlWJIx8gNcWER$tp6fNtxTmv4IzxQRMoV1oyn" +
"tPDaLGRatcOidLfBb7nDdZ3BdFw6jhYjnnjZ0jWh9h9tKDtILNyicROPXEPkEd2EZ#SkfrZ" +
"Qf4cLiokyoKjVFpPrnaYNApTGuwyLpR7JMI$iezhc$JvQuXe$6zydfPubQWclw6#5cnqaMj" +
"uBlMRE$E8uaUbLh$WygrQPYr2GtOzIqu5jhiPVN6Hbih9OYR8ER7BDwjTI$pBy7V2QENnfn" +
"pk3VZMNZn9YJSKuMEOtz15yjeR$FaVO5Ef$bZPElbgWQSZeoHwx44hYMsaUScJdBML9fLPj" +
"p7AjtLccRCHYAv#3KzuLwTgfF$yUxUGqLFMMNZg95w9bIVCR9ZBd2zy9tsdUDNlW#ytn7ll" +
"0zuti2fOArMe7#Rw8hUGN$8P12BlSyMb6#AFzlbg$ulxZ2t9ljxhywHbUmbVWWdj$aLz76t" +
"Vzot$VQVU3tF1FtNNDV8uiSloyT#Q3Mvxc$HOZoEQzuA$SjRVFVy2sbHru1fpogiAUthZpn" +
"FKKpLzC9Mpc#QRDSzMVkT5bzJce#2gt7nLNWKyrzmvVNmsmT4XuAkuB$b4r7yN9xs5Q#cNP" +
"Z3mlV$dk#aUNo#zQcvxcaR#rpdiFSqSnvBc4jfm$bvlNuUsO38NsUSx9F9D1#cRyZoNKNi5" +
"c$4j#TbR5PVXPd$UDxecLimfRoYtX3iv7Fz#H9L1VH7SZ1R1yTZ$5zBV#U8cfNRIkdZNBV5" +
"#zZUCnjHAqOnrEkToKYxc#vXxnFSrueFUC#RnIt$1L21S$f6JLQ$fUxKyLJWjM9Uvprz3ta" +
"qFAzJIZk8JTZfzhytYQ#XnnvQTn35XOIQtJrR8d5WhfNMvtu$iFo3OlqI5f8wxUrXR2Y#yT" +
"ARbh8yHixkqwkzLVECv8visGyY6JiqR9hDV6DFNJo$ryZ7uanUf#qpCZb#iO#qev6UpOkun" +
"jxmtBpSLLYkOYhYAk8guYhY4kkyMmhI5DMxbz5Ah6OH6q$Ywax18J5zAeMgoudaaLhG4EBF" +
"tMP#Qq6$Vni6ARkBfNLacj0aRAl9lHt$MNM96eryQL8o#UlPwYLgtvob5#9ffy3ud7bkhha" +
"7gjKB#6rV2x2kBBZpr#ht1D2GtjjUVxQYEjBet$Fo5Zc$U9BbUPjFwFrVNzczSJ2OdjR3CE" +
"PFwE4PQzJZVT1y7abcb5iAtsHrtT5oUjKmHCpHlchakQkMT9#u6hPlEBWyyDbMIyD$SigkJ" +
"kLvuuIhaVBp3l9vmWJaeTI#QJNyLsj$sS#YdauVbFB4scVR3vcVWF3EdGycV7jneuOH4ypT" +
"k$RZDrNpTX#0ndRVqLyxcJimSTn$0N7wVW4Z4s4VE8Q#6p4c8lLHOSv6Eiq3UNVOAppOenv" +
"P#0uWh4ZcmGqEx8FTlrnF1Z7nt2y51$OFl8dnevQ09z##1o5pxNul83FNumTlGG#s#9p8Zw" +
"tC7RPO1nVPsnfXp5$A6mUWVJs#DpCs09ZyK6P1NU5x3GS9p6ss$meSntotq2t2sDpO6tblu" +
"RZbJX25opMOKViLi7nPHp7uFCxOqik2FyHaxy$OnsxCTRZRnnH3yxf#7o7UBV3vq76haEC7" +
"Nj3RsqSZqF#C$21styywW8nNG#SwtT6NNR0PrFe7OuwQGJsuk2FGfcrOBUAiKj$XVvpZDso" +
"DUf#RgIdmgL5eBiKZgU01tlzlqKUiNOybx41oo66st4y41$O6W1Pn$z1VZHYGfc1a3lN8Fy" +
"Eqj3fZEQjkHffwBgluWZzGT0P15c7SS0w7qUqoI38Em#3lK7m1Vbxhs9ifGyPMtbvV8x5vq" +
"dKHGC#U#C3#wkiojYgsp2ssUUCRNuGS7x4PtF4XZeQ11k3OUC6b1qCEuE1FHYyVRZlQ8ykY" +
"AdBOVZSX$fu1LYhmsVKLHUqHHVqauwewoxmeSCXZ5MX7tH1MrUXlhkWlrHzZSzDqDaAPT1N" +
"gz4NEg5$TVmUQVItwelnEGiyj6tLGaXVZpHadL57LNC24$dgoV1ZFxG9VEjw0DBeSrrG3rN" +
"0yYSYZRxU4VQwNWuUVEmANxfvm5WDnqxGtm9oZ9SJTq3w3l3sn0VzPPK1Z1sCZhN9Hv1FO6" +
"nJ#7NqdpYYNhii2lbenZP66nsB$dRwRwWx#7G6slhY2t7Sah7Rq4$EG5sFFmV76p06uUCPg" +
"9$hNcBiJDJDdV3zJDYwwIqSpqR$nhWyym76BlVnsG2VKv7$14VqeREwCtO5klGLwo6DFde5" +
"nj5PwDTNF0o$uSzcy7KpZ8#pq1Ul#0T7rCcLqBiIzZT5l5NeoslWk6ejz9z1VFCmjYRwieU" +
"nTXRQq4USco$BsDcequtHhWTYtA$A##32q4M$gCBONNDZy50F9oBMRkYJQw9TEw6TDxyR7$" +
"INco5RyobWmFTkbp2s5kQHlh3H5#LkG$nhOLxmzsMiE#fwBSIx5iP9H$InxkWlFRlYoDFeU" +
"prHTptHVcUZltH2VpdxCiI1CTeJzROs$5yRlgoDE6jHzzqlGXhZO1sCnNNGVYUX$hi$YpJw" +
"pNZqhNNUPAmNnc6lNV01Jgzt6LiNSycwU#23CT4TSr4LV5qNOsDLjEr9c9TgC0#kXxXlHPy" +
"#6#DauX36pe6jEp$04MrySpsE68TN$e4Zni9Lc3lFWPshCETTXVvr5VhRkMZ3cz6lRWRUkI" +
"kXxCyuxiRONHX3TwqFRCGo4UrsAzgr2cDx$0gCJKB$N606xC#73#Qtaz2FQZ07heSnj236H" +
"qS#rc2hB#fzFOprJcYdzJvbh3Vce2wxWu#wF#aHb47ThjOJVDZkVIC#MAVNODwlmLnv4kga" +
"1hpLCCUjlpJAeI#SYx5nDVhZZi0u6MEk1dFm#kZ$9wE$run4#bRq4yn$LwC#gc5hNzYu#Yx" +
"8C6#iZtdWt7lHNz26vw8ERqKzdOVpoQqOh#UjYIFE6#VXt7ChwkMy2p1tOWuy3$FvVJmFl#" +
"x3V7CoV5a2ysOrsdg$UO7z0yOXskTcp0lNOAwkmVZgCXnvjFCrEETKeI#WsTWrjp7slnBcU" +
"FZN4MEi1#QJyp6dBOb#S3xcygKnji$7dB0qwh2w5zeQVUHyj7LtzElpCHQwOzoT3rir62SN" +
"eCuxeGqlm9ZjY3Qu07EKX$gw07Dj1$JD2z1NQx0olG1jNeksgaMRza5Rrfw93$fWBN0xe4v" +
"6OjnqnDm#4lC$kYeRUJoE66C#V1g9U3PV5qV4iJNw6fgNROsnUY7QSPk#EEw48yR0XOXr6v" +
"Iv46ss3Vh4XUYpstp5sAZEEAA#Hs6ktXRdcr5xuOX#CWVY78NuVOohlT7Fzha77un77#VNK" +
"HYJdM2xCt16eQzqHh$e3DtHDQWdjFMIg8lHm5WMS$XeZCrbqJUMnJbo6SGw6lFRqfWFHqz1" +
"7lFb7cYtqR1$7zOCO#PYx7xC5MCsn15jD0PZP1cq#HZOMGRjKOV#lHpwxFsepp7ebxV2zXY" +
"CY$4OE#FHhox2N3x#K1mHxtZKyKN7uFWYFi2#3VLw6yRAHPZFRaDVlWXOjs4UlmrrS3liNe" +
"GwktqJpBFeQxTZpDsEURGMzLUBCNyoVA$5UgGF#aaV#Du7xLkB#gY5JwSiYIFgT8ELqOVGX" +
"pjXZ9#2k6lH1rT3R1kWVzUYxKyv2KVKusheMnkWR1tcniwmSGgF2#DwTRJX1eYb3ckNKx16" +
"giFyiZhAR8ZpIMVCuNMON#fGjwUYpkemnZQ4ZzLeXpcmtZeLTLM7lh4wwdH3pFLrQFDJqJ$" +
"hCFRM0Dw6w5zrw7lLg9jJCSxh4CSQgA#DqDvrEBUTolt1lB46FXjXRhyOyr4TvkUBCHzjYx" +
"vOX$LIFyoxNM5xO$JJZfWhDqEvweSmNk3pjV3rMjJLjS2z5ltxsaVnGQpZKA$Zq5RZCF#Em" +
"ubc7DP$7doOemxdG8pLWt5kFWHZimxZvW2C#qCmnzUXlGw1JXtwyo4O0rrHbtNGwyfzGbqT" +
"WtReYdDKHyHR1LurR1o8Egq6holwIbVCVOTWB7V5kQihncaTOk#AEkcAFjWLO#LYjFz2gCk" +
"5SAvR27FlmXZJ2#EyiuYB3yhKOnnqXM$ZCExhJi07v#bwpDtrcByQC6ORu5i3reYDgBj6nD" +
"I4#ct2UgW9w#BhCDxtm7op2EAfHx#u6Fsw7kDm3uoLHJ77rQ7S7fYx5iMdVXd6Be7lzHZpU" +
"zmFtXT8eu$sHztMOruv5UVeUlI9UM6t7lFpdZX7BuQwd1CwzKZFYJcq7dF#9HWhzPWJwt4#" +
"d9FFTnW$Yw7CN3Y7Beu#jZZQwHACethqaSKntzJ3bthC$Ki0nyTSlWFcbKimlkenZzPZ3C#" +
"5S$#UE4VMWryF6vTWdDLZpDQZZkP6ttPHR$LOWy#DFZ4tnav7uDVZl34FpalpOAuQXh5OZx" +
"gU5$DYFURmUhJP9UWZzUWhysBjL8ynrndzfGPrCUzx61E8fHxhmVaGIpt6rTvewth4KO#vf" +
"XPnT4LRTK9VwegrHmFQQ0wiXxjYxN8NvlokM4FFWRxL5UEp0Nrp3c1snJYU3#Eg3dwCnNnG" +
"XRgR7trtBEQ41gmRveT#5uofAhxsmnXPydt6ba9xR87FbcYxiPWpTi7SjpNclR7eA$FZFB7" +
"4UV07kDs0sG6yRZX7T4CzDQ1#wz4$nc8kQO1iJ$Jx9R2Et1pdlJhqdxjGPmtmiHxN36DHlW" +
"5hbJqHovBekmrO8tU3NmreYmNW3qunh05zgG5pGGDiDy27YPYZzyAQi05pT0FQxLBCJGtmU" +
"I#CYGQS3$V2U6r0NJQWhI$5M6Z0lBiNnd83ucw0h3$cZmQCXM4OLmsOG#RZ$HVji3VcvWQS" +
"Fnkm3cd02UDIZFC6rE$U62yDcA$lGlqsOBtJWF5tATOY3OXhRymj3VoyXx7M2NrtVzHJ0$g" +
"6ptr7$4kYxOz1VXdC6yUWlPT16mo57ylWd3GKTRyL#jemzAi6h4iQqDUNHN$fYh4s3Ekd1g" +
"n16j7EowA#jiQQQWduqeYrv33uruWrGYFMaCkYJpXeYqRKvp3KOIFwOYFcekKmxso9wyGgp" +
"DrTiUOOplKnrXen7o#7yTa1zTw8EXo#6OwelqRqX#NGjpfZlcc4xyDHPuteWusGBuznteZv" +
"UZZwSoFECusubbeUvynkgDD6z04N$RuHQqWVw#tE6AVTe7CN#butj6Stp3ytS4oCeswOTuU" +
"YVXenVhgXNhfXFXcEUQqxVDuSyqGtd1kMmBNUxPWV6j5EDOXX5OoJRXWlDV2rEtYDM8isea" +
"$UWNPknFcg4#gZ1dwkz35uc5CQCLOxO4mtOesm5FhrKFJBvJ6EXg8jLi1O6eguLy3rwh4yP" +
"ioPNU3$8JWFTG5l2B0QuMiN#3uSxJa4u$yqw0t1V7WQ#jQXME#UXd5#6iRVQPY7JyDvUmJQ" +
"V0JcX17eAoFWwmYi0nfnlZiTVVO6d8EwebysOivgnFdnKAorDqP$R4Gx7uhpoGsOWsz4NJU" +
"YthlZ6lXOBBIMmFce4MkrQbnNDQA$t8YrMIFQ#5Z4q8XhWLkuZnWtgw1D6r5FtO3RYBvq8w" +
"yRN7TKenqFnVg$4MlFGz4UNT0N3iLvlZl6ms7mrOTFXs7CD67EE0pNFDs1TnpEDSUXdno7k" +
"ZyEw$GcBAOyh36RS3vgmlYz0$sq2NFoggZRLL7FDV2p1h4sOTvjmlnw1$f$4$f99xw6nhZe" +
"0TjtGBS9vRgXJPhGZajXB1w7iRC2viRZuF#AcCkFHvkkYBvmFFfB4#QTZJ7tte7oJSYl1jb" +
"g68irE9VNOApMeFsEnzhrUCoXnoE69jHh5SRiOMWl35zs6ER7pcZpmp57T8DVX$U03kgk6w" +
"u3kwAEcZ2lDA4D3mUlwKZmCDuEnxLk4$hduJZFDA5FDM5St85pGHFwynm0hK5$F1vjV03ch" +
"XF#hvFp3e#gIkFmlNDd9fbCCfD9cT2Ro6AdY6rn1Mc28g28jDr77jb5AIAQ1Lm5uee4bRLZ" +
"eIWAIWGBpIIGu2eWzeRAYcj5L7HjAzPLTDzxloyvTp8JZFxnUzvpldFETyezTT2mrcRHne1" +
"xphFkuxGbpdspd3jeFcCLYL4NUt0EQp30kH3ZJX9d7u#pZyRvlldKdMJENypunVcMfUHFid" +
"vAkICccT#bxbk8CtSbP$7Avn3xP0LdLWLxKWLjht3RnxnAu3l9Ff3a7VWGtp$96Tw3FQK7R" +
"SrdNYLOSqdsj2JZjeOracHzvJ3F4#m$ISOjmLmePusMSuQNKrSftwpSdQUKAyL$d3ToATyl" +
"oNSgOC$hphfOutv3tXi9I9EipkppivXlHp5dPp6sNJZpPp6UNTWNPhC$psQVjpapIbW3CTe" +
"OuNqJP#x7t3SdTy8I#fxFt2hXNfpltltPLslOYsjeOoLxMINhhOeyLSoHAkPL5MibmbmjO6" +
"v66EiIvaOLQx2AlfSm$adQaN3l3dpBAiQXX3j6DUTiDVbg#4RLzBU6Rrt3VbFD#LZDNbLDN" +
"sluZZMi$Mg#HmtxGYtbDh1VLBF#IxXB5Z9VDx9cIb0HUqeHUqyHSxUOkTU9#R#HERsHEcjP" +
"mvFmLSiRePQxtiPRv7V1vLk4zx2srd0ENuBVwBMkxPV477f3Q2$I#7V2yugKpmidhMgAlyn" +
"rE4k5mGt6bZshyVmhNZRXw3FQlhtgupBrURF6nwUMtVYpsjyMXjvkl9xkppIz3u6BK#FtCG" +
"$3h8qGPsRMu5ykls5$uscBzwV6x#bhmgiYZPURiDg4iyzLljdKFldgVwJfUPTSAXomEDKUk" +
"K5ew$W7xXRcD5Ek4mPzRRPsf$gm7lI57qvD6yYy3rnaue7NKzFx7Truc#q9okx6DkYwz7m3" +
"1gR61st9xE$yFiA9pmedjnLEULyuunNX$0U4#RS9YyyHDjiZR1LCzTlgFEMpnjQwY$Bcz7Q" +
"qrhNQPcogFJZFX4#zFJLjn4GJ7jFPXFCuay8b4Ww$OkodjMjORmD$InfFYx5tnqOqi2tnXQ" +
"jC#4pkA77slZQRC$jok8jdkUjjlQ$kvm$Kjin#edVv#lP1QjerEcSJ0M7nDc7pKuHjsoZdf" +
"9PB#iOnCLcvCtFzTcyJtZJQX0SVuxDF4iON6bisTwNijzI#MilC4mRsfjRX7ARfEuN1EIQj" +
"xJl2$8JxtZBsiyymuOvHNrZx4tzFsAwtKiUglIDiVh#mHRumkK3vXR1ak73CIAsVErZ7vqm" +
"z1nyfpEBDay#Tv#3hV6dg8$zwfUur1RsKAuI5sK9xfN2ohiSf9mjdx1DUaANf$OKJlnAUFr" +
"LuzbpXX61T6pA9$8irVwNcxsRIngYFCNg#ZirLzbJgk8vTejIzPEoFmZyUhXohN61yJsgLk" +
"JsJfvZm1OUOyCm24ouReInDBLkexIbyqTXAgeNDMYdBX4L7AtLV2#IPCYrAbQyPM$lnoiU5" +
"7UhddSdJeLpPO2uVD52PTlzW$avlQFEbRJVXw1RM8tVc8Kc9XmQPj25$4ORrdf7WxPdWNJ1" +
"4lsdu4vDtgFuxRCvFwVKD7M72KTv9YUdOxfLuRjYNxnkrHOG5tFyJl3k6wLpCRMFo3jFxNQ" +
"wkdRFr3ZGXPTyIMt1VOsFH5D667zDjuHk5tUSqKkP94nwOOKpwJKsD3phyjxSlqFstbjMsB" +
"3NXaIs4NOOQM$#OB$qqjHrgR7zQ9Xo#NtXXNFFCo5pVoDd2WkR2NDv1eUcfUSuwAdFP0ZtN" +
"HwuH5jQryIQV$zsPoZRU$xF6fTj65PbmuN3cDMyW9zjd6sV2bUtLzcTZYupoXSyNtfCdp6b" +
"jqd8Qd9UZ#ll2CvlO$ZkeUxo4YpBCrOcJJDZHSt6KxgNztz5sw1glwCpSrdruj9ux$TDy7h" +
"WzNNppQVGvQljOsFLONvgkeQvpZUqSVG#TjKbuRoVDyv8ml4BBRXDsqtl7AjxNqIiqJVUHR" +
"lNzblZQSS90JEZeEoxqj33whZ2tXoapBCD#SiOnwRPSFJ$FcDSmJUqxK#D5lDDZUWSvCstF" +
"Ltl6FHpxzdJRy6IwBQJtZE17gVPAtrs$bkzjzp7nh0zzFdN$Z#eOvvt26EhtoHb77tPaRjz" +
"QVSy4nlfidmbp7nKw#bODTrFxLSetJPaS$Kv5EawXhSAf#eQuPBTmKSfUsXJHxyciosdgN$" +
"qklz#aL$GIslSPMvxUHyBrRp693ngjFY#LVpUEzTE#x4lD5zWZBDRuW8bQ$m$2mrRxyuljl" +
"6dSfPwGyEHLV9z$STRvxXJhbD6E#2rFBxzErtAUxvwpxdIrrGeTRLTOV#V8wwgyKkqhw1Dl" +
"#dLNQxyckh$R#lgrDRtUgAw7OlKHqpjoiUu$ONqtH7Qe$NHJDjnIRVCRz4N7FnPBjK$HEsj" +
"qclkRgh6FQ9cQBrHCdwh9upHihybJNDrOse54FzQpf$hUREjU4#Pzxc#JBrttm$ZNmfnTt5" +
"tEDUcBVE$zkDvpa$gUY6wth2MwFwxN$J6kUrvGp#SiVQVbxHB6ZX1E6Q##T6t7D1xJ#rzIt" +
"zb9dPk1#Zs8#JqtSzzpxz0orGtiZwYzDbCvay$zFJrsFVwNQPzwMDR3FR5zYMqdRxxnz8yp" +
"k4BFakZt1$QNpJnuw37ypB2ipUv$CrE97tnjxYlfNh$kj8TQjdNfBsYnwWBLLDM56JHDTRF" +
"8peFxq48hu6aoOLUJq1JBiGUGPu0LK3a#kWeYI$FKvKlDdqCyn$tBnVZxoFq$dU4$FGNiuq" +
"Wx3kQIxnJ2hWQYGPPZVKgUJyd$D7Jr3BPdhP3t5yMtOw#1TRhTKy2w2JPLI$6tr0ggGZww2" +
"bi$ukz5sdO2xJc1lDN4gpsw2jf9x4dIwJuAMA$Zqwz$Pz0socwZdfy8$qJuA$WL$1e$DdwG" +
"zJQ#dg0DJz06KPQFhhBhuq#I$qdAR$KKjBRWfoT#UZAUluV8UXD$Ry2toFyMPKKH7rtbMDz" +
"JfoZBqp9yBiEdA6Jjnyz#RBlWBe#kWlQ9r7CYzPR04XY03MJz5sPHxZ#U75NG$WFsFn2#0#" +
"qWtmxIDyCwFKAyrfDZVKpyO$W1$01#Y7q5uKowzrVgjGogeC$tCGxlelk9hwJETz03r7idy" +
"SRqe1MoJsByJs8iUj6$NXu3TZDipIYx2h#xqKFuNStOlsT5x6F8vwe7SZmvrXfF0MijN0lN" +
"mGreFMKVXgAWVJpvZyT$S#hD9rybzahoN4HRwlG9UWbjzEHOV$CKhESb8Zk1hmI#WjYNusi" +
"vlAnU8Mi6#MOmzqJPrYpYhahnwzTVAJiT$PsmAA2ohTbm3hgSyEKU9Lo6dpBggECLsAwWtZ" +
"hD9JxNesDTIVXAZw85n1V06#0Dy4Pu8xm5tW9lXRV2s#1j#5u4NSt3zckqXF4vZN8NUt9Gi" +
"07hx8ulNY$xI9#EgbT0PTj7U0geRBk59oUZMfBMqgDHAsojFAQhDMcjFJQkBkJfuj6nsn1k" +
"ux5ULZdzAFTeD1$RV7WLlCgZOxUbR5kFZjsES3kFZjsUS7kFZjs1S0UFZbr0kC2ZOtSbt9M" +
"vxAeROLU7uzlTtxRoxUhEW#UOWy#Z6jrZtFtrBlBSHRc3yDCRUs$6iQCLHbd8pgXZzTpuXq" +
"$NugCFQNtmSp1z#WPRdRuZ$tVOH46xB$dw4huE#$MKQt0#UlkHkvzKiLwgMEzxu1xuFpd3w" +
"jj#Dpxk9hyePBb$4$XdRAAWZwv2TZ$AzgEEJh0JTOeS7rq5xM9OZAs8V4Km14CUNJdizM5L" +
"jgSPx4j64T#PuohYewkS#dZTEIAA#kWgD#ryDNILLN$EYCBMDOp9DOIlXbVJpeNO5fBdKSR" +
"bLMolOdEra$XEZuuTeKyHZuxTdN1tZuurax8pgMCcRPr9EqKvQV7FyFiP#VV2lPJjp5XrXl" +
"rXV#mlOtVrYiZxUxwkVYUo7gCjZv7lVVW#vR9X6NMNKNSPTPLHpm$OlYNFj#J$qfDZVGu$n" +
"$w5o3xTasCFWKFW8V0GwZWK7WeFWqUJzt6kY8yJZtC9YSDJuQam2gFuV8hqf#0By0NiCUmn" +
"M0WBiM$2leduoSHF9iwh3TdsOEA3uR3$0vbMQoG=");
// Generated from /home/jesper/git/extendj/java5/build/tmp/preprocessParser/JavaParser.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) {
if (!canSkipToken(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;
}
@Override
protected void recoverFromError(Symbol token, TokenStream in)
throws java.io.IOException, Parser.Exception {
if (!canSkipToken(token)) {
super.recoverFromError(token, in);
}
}
protected static boolean canSkipToken(Symbol token) {
return token.getId() == Terminals.DOCUMENTATION_COMMENT;
}
protected java.util.Collection errors = new ArrayList();
public JavaParser() {
super(PARSING_TABLES);
}
protected Symbol invokeReduceAction(int rule_num, int offset) {
switch(rule_num) {
case 1: // literal = INTEGER_LITERAL.INTEGER_LITERAL
{
final Symbol INTEGER_LITERAL = _symbols[offset + 1];
return new IntegerLiteral(INTEGER_LITERAL);
}
case 2: // literal = LONG_LITERAL.LONG_LITERAL
{
final Symbol LONG_LITERAL = _symbols[offset + 1];
return new LongLiteral(LONG_LITERAL);
}
case 3: // literal = FLOATING_POINT_LITERAL.FLOATING_POINT_LITERAL
{
final Symbol FLOATING_POINT_LITERAL = _symbols[offset + 1];
return new FloatingPointLiteral(FLOATING_POINT_LITERAL);
}
case 4: // literal = DOUBLE_LITERAL.DOUBLE_LITERAL
{
final Symbol DOUBLE_LITERAL = _symbols[offset + 1];
return new DoubleLiteral(DOUBLE_LITERAL);
}
case 5: // literal = BOOLEAN_LITERAL.BOOLEAN_LITERAL
{
final Symbol BOOLEAN_LITERAL = _symbols[offset + 1];
return new BooleanLiteral(BOOLEAN_LITERAL);
}
case 6: // literal = CHARACTER_LITERAL.CHARACTER_LITERAL
{
final Symbol CHARACTER_LITERAL = _symbols[offset + 1];
return new CharacterLiteral(CHARACTER_LITERAL);
}
case 7: // literal = STRING_LITERAL.STRING_LITERAL
{
final Symbol STRING_LITERAL = _symbols[offset + 1];
return new StringLiteral(STRING_LITERAL);
}
case 8: // literal = NULL_LITERAL.NULL_LITERAL
{
final Symbol NULL_LITERAL = _symbols[offset + 1];
return new NullLiteral(NULL_LITERAL);
}
case 12: // primitive_type = BOOLEAN.BOOLEAN
{
final Symbol BOOLEAN = _symbols[offset + 1];
return new PrimitiveTypeAccess("boolean");
}
case 15: // integral_type = BYTE.BYTE
{
final Symbol BYTE = _symbols[offset + 1];
return new PrimitiveTypeAccess("byte");
}
case 16: // integral_type = SHORT.SHORT
{
final Symbol SHORT = _symbols[offset + 1];
return new PrimitiveTypeAccess("short");
}
case 17: // integral_type = INT.INT
{
final Symbol INT = _symbols[offset + 1];
return new PrimitiveTypeAccess("int");
}
case 18: // integral_type = LONG.LONG
{
final Symbol LONG = _symbols[offset + 1];
return new PrimitiveTypeAccess("long");
}
case 19: // integral_type = CHAR.CHAR
{
final Symbol CHAR = _symbols[offset + 1];
return new PrimitiveTypeAccess("char");
}
case 20: // floating_point_type = FLOAT.FLOAT
{
final Symbol FLOAT = _symbols[offset + 1];
return new PrimitiveTypeAccess("float");
}
case 21: // floating_point_type = DOUBLE.DOUBLE
{
final Symbol DOUBLE = _symbols[offset + 1];
return new PrimitiveTypeAccess("double");
}
case 26: // array_type = primitive_type.t dims.dims
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_dims = _symbols[offset + 2];
final List dims = (List) _symbol_dims.value;
return t.addArrayDims(dims);
}
case 27: // array_type = name.name dims.dims
{
final Symbol _symbol_name = _symbols[offset + 1];
final Access name = (Access) _symbol_name.value;
final Symbol _symbol_dims = _symbols[offset + 2];
final List dims = (List) _symbol_dims.value;
return name.addArrayDims(dims);
}
case 30: // simple_name = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new ParseName(IDENTIFIER);
}
case 31: // 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 32: // compilation_unit = package_with_comment.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 33: // compilation_unit = package_with_comment.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 34: // compilation_unit = package_with_comment.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 35: // compilation_unit = package_with_comment.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 36: // compilation_unit = package_with_comment.p doc_comment_list.doc_comment_list
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit(p.getID(), new List(), new List());
}
case 37: // compilation_unit = package_with_comment.p import_declarations.i doc_comment_list.doc_comment_list
{
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_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit(p.getID(), i, new List());
}
case 38: // compilation_unit = package_with_comment.p type_declarations.t doc_comment_list.doc_comment_list
{
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;
final Symbol _symbol_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit(p.getID(), new List(), t);
}
case 39: // compilation_unit = package_with_comment.p import_declarations.i type_declarations.t doc_comment_list.doc_comment_list
{
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;
final Symbol _symbol_doc_comment_list = _symbols[offset + 4];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit(p.getID(), i, t);
}
case 40: // compilation_unit =
{
return new CompilationUnit("", new List(), new List());
}
case 41: // 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 42: // 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 43: // 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 44: // compilation_unit = doc_comment_list.doc_comment_list
{
final Symbol _symbol_doc_comment_list = _symbols[offset + 1];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit("", new List(), new List());
}
case 45: // compilation_unit = import_declarations.i doc_comment_list.doc_comment_list
{
final Symbol _symbol_i = _symbols[offset + 1];
final List i = (List) _symbol_i.value;
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit("", i, new List());
}
case 46: // compilation_unit = type_declarations.t doc_comment_list.doc_comment_list
{
final Symbol _symbol_t = _symbols[offset + 1];
final List t = (List) _symbol_t.value;
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit("", new List(), t);
}
case 47: // compilation_unit = import_declarations.i type_declarations.t doc_comment_list.doc_comment_list
{
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;
final Symbol _symbol_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new CompilationUnit("", i, t);
}
case 48: // import_declarations = import_with_comment.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final ImportDecl i = (ImportDecl) _symbol_i.value;
return new List().add(i);
}
case 49: // import_declarations = import_declarations.l import_with_comment.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 50: // type_declarations = type_with_comment.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 51: // type_declarations = type_declarations.l type_with_comment.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 52: // doc_comment = DOCUMENTATION_COMMENT.dc
{
final Symbol dc = _symbols[offset + 1];
return new Symbol(Terminals.DOCUMENTATION_COMMENT, ((String)dc.value));
}
case 54: // doc_comment_list = doc_comment_list.doc_comment_list doc_comment.dc
{
final Symbol _symbol_doc_comment_list = _symbols[offset + 1];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
final Symbol _symbol_dc = _symbols[offset + 2];
final String dc = (String) _symbol_dc.value;
return new Symbol(Terminals.DOCUMENTATION_COMMENT, dc);
}
case 57: // package_declaration = PACKAGE.PACKAGE name_decl.name_decl SEMICOLON.SEMICOLON
{
final Symbol PACKAGE = _symbols[offset + 1];
final Symbol _symbol_name_decl = _symbols[offset + 2];
final IdUse name_decl = (IdUse) _symbol_name_decl.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return name_decl;
}
case 60: // simple_name_decl = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new IdUse(IDENTIFIER);
}
case 61: // 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 66: // single_type_import_declaration = IMPORT.IMPORT name.name SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_name = _symbols[offset + 2];
final Access name = (Access) _symbol_name.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new SingleTypeImportDecl(name);
}
case 67: // type_import_on_demand_declaration = IMPORT.IMPORT name.name DOT.DOT MULT.MULT SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_name = _symbols[offset + 2];
final Access name = (Access) _symbol_name.value;
final Symbol DOT = _symbols[offset + 3];
final Symbol MULT = _symbols[offset + 4];
final Symbol SEMICOLON = _symbols[offset + 5];
return new TypeImportOnDemandDecl(name);
}
case 69: // type_with_comment = doc_comment_list.dc type_declaration.d
{
final Symbol _symbol_dc = _symbols[offset + 1];
final String dc = (String) _symbol_dc.value;
final Symbol _symbol_d = _symbols[offset + 2];
final TypeDecl d = (TypeDecl) _symbol_d.value;
d.docComment = dc;
return d;
}
case 72: // type_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyType(new Modifiers(), "EmptyType", new Opt(), new List());
}
case 73: // modifiers = modifier.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final Modifier m = (Modifier) _symbol_m.value;
return new List().add(m);
}
case 74: // 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 75: // modifier = PUBLIC.PUBLIC
{
final Symbol PUBLIC = _symbols[offset + 1];
return new Modifier("public");
}
case 76: // modifier = PROTECTED.PROTECTED
{
final Symbol PROTECTED = _symbols[offset + 1];
return new Modifier("protected");
}
case 77: // modifier = PRIVATE.PRIVATE
{
final Symbol PRIVATE = _symbols[offset + 1];
return new Modifier("private");
}
case 78: // modifier = STATIC.STATIC
{
final Symbol STATIC = _symbols[offset + 1];
return new Modifier("static");
}
case 79: // modifier = ABSTRACT.ABSTRACT
{
final Symbol ABSTRACT = _symbols[offset + 1];
return new Modifier("abstract");
}
case 80: // modifier = FINAL.FINAL
{
final Symbol FINAL = _symbols[offset + 1];
return new Modifier("final");
}
case 81: // modifier = NATIVE.NATIVE
{
final Symbol NATIVE = _symbols[offset + 1];
return new Modifier("native");
}
case 82: // modifier = SYNCHRONIZED.SYNCHRONIZED
{
final Symbol SYNCHRONIZED = _symbols[offset + 1];
return new Modifier("synchronized");
}
case 83: // modifier = TRANSIENT.TRANSIENT
{
final Symbol TRANSIENT = _symbols[offset + 1];
return new Modifier("transient");
}
case 84: // modifier = VOLATILE.VOLATILE
{
final Symbol VOLATILE = _symbols[offset + 1];
return new Modifier("volatile");
}
case 85: // modifier = STRICTFP.STRICTFP
{
final Symbol STRICTFP = _symbols[offset + 1];
return new Modifier("strictfp");
}
case 86: // 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 87: // 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 88: // 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 89: // 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 90: // 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 91: // 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 92: // 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 93: // 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 94: // super = EXTENDS.EXTENDS class_type.class_type
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_class_type = _symbols[offset + 2];
final Access class_type = (Access) _symbol_class_type.value;
return new Opt(class_type);
}
case 95: // 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 96: // 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 97: // 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 98: // class_body = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new List();
}
case 99: // class_body = LBRACE.LBRACE class_body_declarations.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 100: // class_body = LBRACE.LBRACE doc_comment_list.doc_comment_list RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
final Symbol RBRACE = _symbols[offset + 3];
return new List();
}
case 101: // class_body = LBRACE.LBRACE class_body_declarations.c doc_comment_list.doc_comment_list 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_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
final Symbol RBRACE = _symbols[offset + 4];
return c;
}
case 102: // class_body_declarations = body_decl_with_comment.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return new List().add(c);
}
case 103: // class_body_declarations = class_body_declarations.l body_decl_with_comment.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 105: // body_decl_with_comment = doc_comment_list.dc class_body_declaration.d
{
final Symbol _symbol_dc = _symbols[offset + 1];
final String dc = (String) _symbol_dc.value;
final Symbol _symbol_d = _symbols[offset + 2];
final BodyDecl d = (BodyDecl) _symbol_d.value;
d.docComment = dc;
return d;
}
case 112: // 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 113: // 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 114: // class_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new InstanceInitializer(new Block());
}
case 115: // field_declaration = type.t field_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 116: // field_declaration = modifiers.m type.t field_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 117: // field_declarators = field_declarator.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final FieldDeclarator v = (FieldDeclarator) _symbol_v.value;
return new List().add(v);
}
case 118: // field_declarators = field_declarators.l COMMA.COMMA field_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 FieldDeclarator v = (FieldDeclarator) _symbol_v.value;
return l.add(v);
}
case 120: // field_declarator = field_declarator_id.v EQ.EQ variable_initializer.i
{
final Symbol _symbol_v = _symbols[offset + 1];
final FieldDeclarator v = (FieldDeclarator) _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 121: // field_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 FieldDeclarator(IDENTIFIER, d, new Opt());
}
case 124: // 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 125: // 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 126: // 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 127: // 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 128: // 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 129: // 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 130: // 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 131: // 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 132: // 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 133: // 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 134: // 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 135: // 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 136: // 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 137: // 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 138: // 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 139: // 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 140: // 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 141: // 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 142: // method_body = block.block
{
final Symbol _symbol_block = _symbols[offset + 1];
final Block block = (Block) _symbol_block.value;
return new Opt(block);
}
case 143: // method_body = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new Opt();
}
case 144: // static_initializer = STATIC.STATIC block.block
{
final Symbol STATIC = _symbols[offset + 1];
final Symbol _symbol_block = _symbols[offset + 2];
final Block block = (Block) _symbol_block.value;
return new StaticInitializer(block);
}
case 145: // instance_initializer = block.block
{
final Symbol _symbol_block = _symbols[offset + 1];
final Block block = (Block) _symbol_block.value;
return new InstanceInitializer(block);
}
case 146: // 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 147: // 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 148: // 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 149: // 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 150: // 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 151: // 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 152: // 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 153: // 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 154: // 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 155: // 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 156: // 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 157: // 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 158: // 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 159: // 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 160: // 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 161: // 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 162: // 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 163: // 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 164: // interface_body = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new List();
}
case 165: // interface_body = LBRACE.LBRACE interface_member_declarations.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 166: // interface_body = LBRACE.LBRACE doc_comment_list.doc_comment_list RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
final Symbol RBRACE = _symbols[offset + 3];
return new List();
}
case 167: // interface_body = LBRACE.LBRACE interface_member_declarations.i doc_comment_list.doc_comment_list RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol _symbol_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
final Symbol RBRACE = _symbols[offset + 4];
return i;
}
case 168: // interface_member_declarations = interface_member_with_comment.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return new List().add(i);
}
case 169: // interface_member_declarations = interface_member_declarations.l interface_member_with_comment.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 171: // interface_member_with_comment = doc_comment_list.dc interface_member_declaration.d
{
final Symbol _symbol_dc = _symbols[offset + 1];
final String dc = (String) _symbol_dc.value;
final Symbol _symbol_d = _symbols[offset + 2];
final BodyDecl d = (BodyDecl) _symbol_d.value;
d.docComment = dc;
return d;
}
case 174: // 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 175: // 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 176: // interface_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 178: // 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 179: // array_initializer = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new ArrayInit(new List());
}
case 180: // 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 181: // 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 182: // 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 183: // 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 184: // 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 185: // 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 186: // 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 187: // 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 189: // block_statement = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return new LocalClassDeclStmt(c);
}
case 191: // 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 192: // 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 193: // 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 194: // variable_declarators = variable_declarator.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDeclarator v = (VariableDeclarator) _symbol_v.value;
return new List().add(v);
}
case 195: // 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 VariableDeclarator v = (VariableDeclarator) _symbol_v.value;
return l.add(v);
}
case 197: // variable_declarator = variable_declarator_id.v EQ.EQ variable_initializer.i
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDeclarator v = (VariableDeclarator) _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 198: // 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 VariableDeclarator(IDENTIFIER, d, new Opt());
}
case 222: // 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 223: // 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 224: // 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 225: // empty_statement = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyStmt();
}
case 226: // 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 227: // 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 228: // 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 229: // statement_expression = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return new ExprStmt(a);
}
case 230: // statement_expression = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 231: // statement_expression = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 232: // statement_expression = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 233: // statement_expression = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 234: // statement_expression = method_invocation.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final Access i = (Access) _symbol_i.value;
return new ExprStmt(i);
}
case 235: // 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 236: // 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 237: // switch_block = LBRACE.LBRACE switch_statements.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 238: // switch_block = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new Block(new List());
}
case 239: // switch_statements = switch_label.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Case s = (Case) _symbol_s.value;
return new List().add(s);
}
case 240: // switch_statements = switch_statements.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 241: // switch_statements = switch_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 242: // 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 243: // switch_label = DEFAULT.DEFAULT COLON.COLON
{
final Symbol DEFAULT = _symbols[offset + 1];
final Symbol COLON = _symbols[offset + 2];
return new DefaultCase();
}
case 244: // 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 245: // 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 246: // 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 247: // 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 248: // 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 250: // 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 252: // 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 253: // 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 254: // 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 255: // break_statement = BREAK.BREAK SEMICOLON.SEMICOLON
{
final Symbol BREAK = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new BreakStmt("");
}
case 256: // 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 257: // continue_statement = CONTINUE.CONTINUE SEMICOLON.SEMICOLON
{
final Symbol CONTINUE = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new ContinueStmt("");
}
case 258: // return_statement = RETURN.RETURN expression_opt.expression SEMICOLON.SEMICOLON
{
final Symbol RETURN = _symbols[offset + 1];
final Symbol _symbol_expression = _symbols[offset + 2];
final Opt expression = (Opt) _symbol_expression.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ReturnStmt(expression);
}
case 259: // throw_statement = THROW.THROW expression.expression SEMICOLON.SEMICOLON
{
final Symbol THROW = _symbols[offset + 1];
final Symbol _symbol_expression = _symbols[offset + 2];
final Expr expression = (Expr) _symbol_expression.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ThrowStmt(expression);
}
case 260: // 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 261: // 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 262: // 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 263: // 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 264: // catches = catch_clause.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final CatchClause c = (CatchClause) _symbol_c.value;
return new List().add(c);
}
case 265: // 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 266: // 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 267: // 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 268: // 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 269: // 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 273: // class_literal = CLASS.CLASS
{
final Symbol CLASS = _symbols[offset + 1];
return new ClassAccess();
}
case 274: // 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 275: // argument_list = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new List().add(e);
}
case 276: // 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 277: // 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 278: // 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 279: // 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 280: // 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 281: // 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 282: // 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 283: // 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 284: // 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 285: // 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 286: // 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 287: // 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 288: // 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 289: // 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 290: // 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 291: // method_invocation = name.name LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_name = _symbols[offset + 1];
final Access name = (Access) _symbol_name.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];
Access result = name.buildMethodAccess(l);
result.setStart(name.getStart());
result.setEnd(RPAREN.getEnd());
return result;
}
case 292: // 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 293: // 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 294: // method_invocation = name.name DOT.DOT SUPER.SUPER DOT.DOT_ IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_name = _symbols[offset + 1];
final Access name = (Access) _symbol_name.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 name.qualifiesAccess(s).qualifiesAccess(m);
}
case 295: // array_access = name.name LBRACK.LBRACK expression.e RBRACK.RBRACK
{
final Symbol _symbol_name = _symbols[offset + 1];
final Access name = (Access) _symbol_name.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 name.qualifiesAccess(a);
}
case 296: // 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 301: // 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 302: // 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 305: // 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 306: // 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 308: // 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 309: // 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 311: // 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 312: // 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 314: // 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 315: // 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 316: // 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 317: // 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 319: // 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 320: // 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 321: // 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 323: // 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 324: // 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 326: // 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 327: // 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 328: // 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 330: // 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 332: // 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 334: // 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 336: // 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 338: // 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 340: // 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 343: // 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 344: // 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 345: // 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 346: // 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 347: // 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 348: // 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 349: // 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 350: // 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 351: // 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 352: // 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 353: // 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 354: // 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 358: // 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 359: // 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 360: // 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 361: // 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 362: // 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 363: // primary_no_new_array = THIS.THIS
{
final Symbol THIS = _symbols[offset + 1];
return new ThisAccess("this");
}
case 364: // 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 365: // 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 366: // 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 376: // 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 377: // 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 380: // 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 381: // 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 384: // 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 385: // 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 386: // 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 387: // 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 388: // 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 389: // 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 391: // 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 392: // 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 393: // 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 394: // 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 396: // 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 397: // 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 398: // 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 399: // 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 400: // 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 401: // 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 403: // 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 404: // 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 405: // 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 406: // 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 407: // 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 408: // 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 409: // 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 410: // 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 412: // instanceof_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 413: // instanceof_expression_nn = shift_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 415: // equality_expression_nn = name.e1 EQEQ.EQEQ instanceof_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 416: // equality_expression_nn = equality_expression_nn.e1 EQEQ.EQEQ instanceof_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 417: // equality_expression_nn = name.e1 NOTEQ.NOTEQ instanceof_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 418: // equality_expression_nn = equality_expression_nn.e1 NOTEQ.NOTEQ instanceof_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 420: // 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 421: // 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 422: // 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 423: // 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 425: // instanceof_expression = shift_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 427: // 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 428: // 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 430: // 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 431: // 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 433: // 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 434: // 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 436: // 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 437: // 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 439: // 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 440: // 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 441: // 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 442: // 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 443: // 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 445: // 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 446: // 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 450: // 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 451: // 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 454: // 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 455: // 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 457: // 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 458: // 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 459: // 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 460: // 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 461: // 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 462: // 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 463: // 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 464: // 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 465: // 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 467: // 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 468: // 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 469: // 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 470: // 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 471: // annotation_type_element_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 472: // 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 477: // 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 478: // 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 479: // 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 480: // 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 481: // 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 482: // element_value = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new ElementAnnotationValue(annotation);
}
case 484: // 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 485: // 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 486: // 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 487: // 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 488: // 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 489: // 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 490: // 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 491: // 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 492: // 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 493: // 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 494: // 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 495: // 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 498: // enhanced_for_statement = FOR.FOR LPAREN.LPAREN type.t 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_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_p = _symbols[offset + 4];
final VariableDeclarator p = (VariableDeclarator) _symbol_p.value;
final Symbol COLON = _symbols[offset + 5];
final Symbol _symbol_e = _symbols[offset + 6];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_s = _symbols[offset + 8];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(new Modifiers(new List()), t, p, e, s);
}
case 499: // enhanced_for_statement = FOR.FOR LPAREN.LPAREN modifiers.m type.t 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_m = _symbols[offset + 3];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_p = _symbols[offset + 5];
final VariableDeclarator p = (VariableDeclarator) _symbol_p.value;
final Symbol COLON = _symbols[offset + 6];
final Symbol _symbol_e = _symbols[offset + 7];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_s = _symbols[offset + 9];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(new Modifiers(m), t, p, e, s);
}
case 500: // enhanced_for_statement_no_short_if = FOR.FOR LPAREN.LPAREN type.t 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_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_p = _symbols[offset + 4];
final VariableDeclarator p = (VariableDeclarator) _symbol_p.value;
final Symbol COLON = _symbols[offset + 5];
final Symbol _symbol_e = _symbols[offset + 6];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 7];
final Symbol _symbol_s = _symbols[offset + 8];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(new Modifiers(new List()), t, p, e, s);
}
case 501: // enhanced_for_statement_no_short_if = FOR.FOR LPAREN.LPAREN modifiers.m type.t 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_m = _symbols[offset + 3];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 4];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_p = _symbols[offset + 5];
final VariableDeclarator p = (VariableDeclarator) _symbol_p.value;
final Symbol COLON = _symbols[offset + 6];
final Symbol _symbol_e = _symbols[offset + 7];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 8];
final Symbol _symbol_s = _symbols[offset + 9];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(new Modifiers(m), t, p, e, s);
}
case 502: // enhanced_for_parameter = 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 VariableDeclarator(IDENTIFIER, d, new Opt());
}
case 504: // 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 505: // 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 506: // 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 507: // 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 508: // 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 509: // 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 510: // enum_body = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new List();
}
case 511: // 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 512: // 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 513: // 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 514: // 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 515: // 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 516: // 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 517: // 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 518: // 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 519: // 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 520: // 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 521: // 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 522: // 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 523: // 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 524: // 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 525: // 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 526: // 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 527: // 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 528: // 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 529: // arguments = LPAREN.LPAREN RPAREN.RPAREN
{
final Symbol LPAREN = _symbols[offset + 1];
final Symbol RPAREN = _symbols[offset + 2];
return new List();
}
case 530: // annotations = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new List().add(annotation);
}
case 531: // 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 532: // enum_body_declarations = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new List();
}
case 533: // enum_body_declarations = SEMICOLON.SEMICOLON class_body_declarations.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 534: // enum_body_declarations = SEMICOLON.SEMICOLON doc_comment_list.doc_comment_list
{
final Symbol SEMICOLON = _symbols[offset + 1];
final Symbol _symbol_doc_comment_list = _symbols[offset + 2];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return new List();
}
case 535: // enum_body_declarations = SEMICOLON.SEMICOLON class_body_declarations.class_body_declarations doc_comment_list.doc_comment_list
{
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;
final Symbol _symbol_doc_comment_list = _symbols[offset + 3];
final String doc_comment_list = (String) _symbol_doc_comment_list.value;
return class_body_declarations;
}
case 536: // 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 537: // 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 538: // 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 539: // 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 540: // 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 541: // 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 542: // 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 543: // 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 544: // 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 545: // 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 546: // 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 547: // 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 548: // 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 549: // 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 550: // 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 551: // 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 552: // 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 553: // 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 554: // 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 555: // 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 556: // 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 557: // 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 558: // 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 559: // 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 560: // 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 561: // 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 562: // 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 563: // 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 564: // 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 565: // 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 566: // 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 567: // 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 568: // 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 569: // 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 570: // 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 571: // 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 572: // 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 573: // 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 575: // 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 577: // 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 578: // 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 579: // 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 580: // 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 581: // wildcard = QUESTION.QUESTION
{
final Symbol QUESTION = _symbols[offset + 1];
return new Wildcard();
}
case 582: // 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 583: // 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 584: // wildcard_1 = QUESTION.QUESTION GT.GT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol GT = _symbols[offset + 2];
return new Wildcard();
}
case 585: // 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 586: // 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 587: // wildcard_2 = QUESTION.QUESTION RSHIFT.RSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol RSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 588: // 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 589: // 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 590: // wildcard_3 = QUESTION.QUESTION URSHIFT.URSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol URSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 591: // 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 592: // 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 593: // 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 594: // 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 595: // 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 596: // 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 597: // 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 598: // 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 599: // 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 600: // 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 601: // 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 602: // 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 603: // 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 604: // 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 605: // 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 606: // 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 607: // 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 608: // 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 609: // 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 610: // 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 611: // type_argument = reference_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 612: // type_argument = wildcard.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 613: // type_argument_1 = reference_type_1.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 614: // type_argument_1 = wildcard_1.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 615: // type_argument_2 = reference_type_2.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 616: // type_argument_2 = wildcard_2.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 617: // type_argument_3 = reference_type_3.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 618: // type_argument_3 = wildcard_3.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 619: // 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 620: // 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 621: // 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 622: // 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 623: // 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 624: // 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 625: // 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 626: // 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 627: // 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 628: // 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 629: // 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 630: // 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 631: // 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 632: // 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 633: // type_parameter = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), new List());
}
case 634: // 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 635: // 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 636: // 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 637: // 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 638: // 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 639: // 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 640: // 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 641: // 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 642: // 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 643: // 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 644: // 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 645: // 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 646: // 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 647: // formal_parameter_list_opt =
{
return new List();
}
case 648: // 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 649: // for_update_opt =
{
return new List();
}
case 650: // for_update_opt = for_update.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 651: // block_statements_opt =
{
return new List();
}
case 652: // block_statements_opt = block_statements.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 653: // expression_opt =
{
return new Opt();
}
case 654: // expression_opt = expression.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
return new Opt(n);
}
case 655: // dims_opt =
{
return new List();
}
case 656: // dims_opt = dims.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 657: // subclass_body_opt =
{
return new Opt();
}
case 658: // subclass_body_opt = subclass_body.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Opt n = (Opt) _symbol_n.value;
return n;
}
case 659: // for_init_opt =
{
return new List();
}
case 660: // for_init_opt = for_init.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 661: // default_value_opt =
{
return new Opt();
}
case 662: // 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 663: // argument_list_opt =
{
return new List();
}
case 664: // argument_list_opt = argument_list.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 665: // element_value_pairs_opt =
{
return new List();
}
case 666: // 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 667: // throws_opt =
{
return new List();
}
case 668: // throws_opt = throws.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 669: // annotation_type_element_declarations_opt =
{
return new List();
}
case 670: // 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 0: // goal = compilation_unit.compilation_unit
case 9: // type = primitive_type.primitive_type
case 10: // type = reference_type.reference_type
case 11: // primitive_type = numeric_type.numeric_type
case 13: // numeric_type = integral_type.integral_type
case 14: // numeric_type = floating_point_type.floating_point_type
case 22: // reference_type = class_or_interface_type.class_or_interface_type
case 23: // reference_type = array_type.array_type
case 24: // class_type = class_or_interface_type.class_or_interface_type
case 25: // interface_type = class_or_interface_type.class_or_interface_type
case 28: // name = simple_name.simple_name
case 29: // name = qualified_name.qualified_name
case 53: // doc_comment_list = doc_comment.doc_comment
case 55: // package_with_comment = package_declaration.package_declaration
case 58: // name_decl = simple_name_decl.simple_name_decl
case 59: // name_decl = qualified_name_decl.qualified_name_decl
case 62: // import_with_comment = import_declaration.import_declaration
case 64: // import_declaration = single_type_import_declaration.single_type_import_declaration
case 65: // import_declaration = type_import_on_demand_declaration.type_import_on_demand_declaration
case 68: // type_with_comment = type_declaration.type_declaration
case 70: // type_declaration = class_declaration.class_declaration
case 71: // type_declaration = interface_declaration.interface_declaration
case 104: // body_decl_with_comment = class_body_declaration.class_body_declaration
case 106: // class_body_declaration = class_member_declaration.class_member_declaration
case 107: // class_body_declaration = instance_initializer.instance_initializer
case 108: // class_body_declaration = static_initializer.static_initializer
case 109: // class_body_declaration = constructor_declaration.constructor_declaration
case 110: // class_member_declaration = field_declaration.field_declaration
case 111: // class_member_declaration = method_declaration.method_declaration
case 119: // field_declarator = field_declarator_id.field_declarator_id
case 122: // variable_initializer = expression.expression
case 123: // variable_initializer = array_initializer.array_initializer
case 170: // interface_member_with_comment = interface_member_declaration.interface_member_declaration
case 172: // interface_member_declaration = constant_declaration.constant_declaration
case 173: // interface_member_declaration = abstract_method_declaration.abstract_method_declaration
case 177: // constant_declaration = field_declaration.field_declaration
case 188: // block_statement = local_variable_declaration_statement.local_variable_declaration_statement
case 190: // block_statement = statement.statement
case 196: // variable_declarator = variable_declarator_id.variable_declarator_id
case 199: // statement = statement_without_trailing_substatement.statement_without_trailing_substatement
case 200: // statement = labeled_statement.labeled_statement
case 201: // statement = if_then_statement.if_then_statement
case 202: // statement = if_then_else_statement.if_then_else_statement
case 203: // statement = while_statement.while_statement
case 204: // statement = for_statement.for_statement
case 205: // statement_without_trailing_substatement = block.block
case 206: // statement_without_trailing_substatement = empty_statement.empty_statement
case 207: // statement_without_trailing_substatement = expression_statement.expression_statement
case 208: // statement_without_trailing_substatement = switch_statement.switch_statement
case 209: // statement_without_trailing_substatement = do_statement.do_statement
case 210: // statement_without_trailing_substatement = break_statement.break_statement
case 211: // statement_without_trailing_substatement = continue_statement.continue_statement
case 212: // statement_without_trailing_substatement = return_statement.return_statement
case 213: // statement_without_trailing_substatement = synchronized_statement.synchronized_statement
case 214: // statement_without_trailing_substatement = throw_statement.throw_statement
case 215: // statement_without_trailing_substatement = try_statement.try_statement
case 216: // statement_without_trailing_substatement = assert_statement.assert_statement
case 217: // statement_no_short_if = statement_without_trailing_substatement.statement_without_trailing_substatement
case 218: // statement_no_short_if = labeled_statement_no_short_if.labeled_statement_no_short_if
case 219: // statement_no_short_if = if_then_else_statement_no_short_if.if_then_else_statement_no_short_if
case 220: // statement_no_short_if = while_statement_no_short_if.while_statement_no_short_if
case 221: // statement_no_short_if = for_statement_no_short_if.for_statement_no_short_if
case 249: // for_init = statement_expression_list.statement_expression_list
case 251: // for_update = statement_expression_list.statement_expression_list
case 270: // primary = primary_no_new_array.primary_no_new_array
case 271: // primary = array_creation_init.array_creation_init
case 272: // primary = array_creation_uninit.array_creation_uninit
case 297: // postfix_expression = primary.primary
case 298: // postfix_expression = name.name
case 299: // postfix_expression = postincrement_expression.postincrement_expression
case 300: // postfix_expression = postdecrement_expression.postdecrement_expression
case 303: // unary_expression = preincrement_expression.preincrement_expression
case 304: // unary_expression = predecrement_expression.predecrement_expression
case 307: // unary_expression = unary_expression_not_plus_minus.unary_expression_not_plus_minus
case 310: // unary_expression_not_plus_minus = postfix_expression.postfix_expression
case 313: // unary_expression_not_plus_minus = cast_expression.cast_expression
case 318: // multiplicative_expression = unary_expression.unary_expression
case 322: // additive_expression = multiplicative_expression.multiplicative_expression
case 325: // shift_expression = additive_expression.additive_expression
case 329: // and_expression = equality_expression.equality_expression
case 331: // exclusive_or_expression = and_expression.and_expression
case 333: // inclusive_or_expression = exclusive_or_expression.exclusive_or_expression
case 335: // conditional_and_expression = inclusive_or_expression.inclusive_or_expression
case 337: // conditional_or_expression = conditional_and_expression.conditional_and_expression
case 339: // conditional_expression = conditional_or_expression.conditional_or_expression
case 341: // assignment_expression = conditional_expression.conditional_expression
case 342: // assignment_expression = assignment.assignment
case 355: // expression = assignment_expression.assignment_expression
case 356: // constant_expression = expression.expression
case 357: // primary_no_new_array = literal.literal
case 367: // primary_no_new_array = class_instance_creation_expression.class_instance_creation_expression
case 368: // primary_no_new_array = field_access.field_access
case 369: // primary_no_new_array = method_invocation.method_invocation
case 370: // primary_no_new_array = array_access.array_access
case 371: // postfix_expression_nn = primary.primary
case 372: // postfix_expression_nn = postincrement_expression.postincrement_expression
case 373: // postfix_expression_nn = postdecrement_expression.postdecrement_expression
case 374: // unary_expression_nn = preincrement_expression.preincrement_expression
case 375: // unary_expression_nn = predecrement_expression.predecrement_expression
case 378: // unary_expression_nn = unary_expression_not_plus_minus_nn.unary_expression_not_plus_minus_nn
case 379: // unary_expression_not_plus_minus_nn = postfix_expression_nn.postfix_expression_nn
case 382: // unary_expression_not_plus_minus_nn = cast_expression.cast_expression
case 383: // multiplicative_expression_nn = unary_expression_nn.unary_expression_nn
case 390: // additive_expression_nn = multiplicative_expression_nn.multiplicative_expression_nn
case 395: // shift_expression_nn = additive_expression_nn.additive_expression_nn
case 402: // relational_expression_nn = shift_expression_nn.shift_expression_nn
case 411: // instanceof_expression_nn = relational_expression_nn.relational_expression_nn
case 414: // equality_expression_nn = instanceof_expression_nn.instanceof_expression_nn
case 419: // relational_expression = shift_expression.shift_expression
case 424: // instanceof_expression = relational_expression.relational_expression
case 426: // equality_expression = instanceof_expression.instanceof_expression
case 429: // and_expression_nn = equality_expression_nn.equality_expression_nn
case 432: // exclusive_or_expression_nn = and_expression_nn.and_expression_nn
case 435: // inclusive_or_expression_nn = exclusive_or_expression_nn.exclusive_or_expression_nn
case 438: // conditional_and_expression_nn = inclusive_or_expression_nn.inclusive_or_expression_nn
case 444: // conditional_expression_nn = conditional_or_expression_nn.conditional_or_expression_nn
case 447: // assignment_expression_nn = conditional_expression_nn.conditional_expression_nn
case 448: // assignment_expression_nn = assignment.assignment
case 449: // expression_nn = assignment_expression_nn.assignment_expression_nn
case 452: // import_declaration = single_static_import_declaration.single_static_import_declaration
case 453: // import_declaration = static_import_on_demand_declaration.static_import_on_demand_declaration
case 456: // type_declaration = annotation_type_declaration.annotation_type_declaration
case 466: // annotation_type_element_declaration = constant_declaration.constant_declaration
case 473: // modifier = annotation.annotation
case 474: // annotation = normal_annotation.normal_annotation
case 475: // annotation = marker_annotation.marker_annotation
case 476: // annotation = single_element_annotation.single_element_annotation
case 483: // element_value = element_value_array_initializer.element_value_array_initializer
case 496: // statement = enhanced_for_statement.enhanced_for_statement
case 497: // statement_no_short_if = enhanced_for_statement_no_short_if.enhanced_for_statement_no_short_if
case 503: // type_declaration = enum_declaration.enum_declaration
case 574: // class_or_interface = name.name
case 576: // class_or_interface_type = class_or_interface.class_or_interface
{
return _symbols[offset + 1];
}
case 56: // package_with_comment = doc_comment_list.doc_comment_list package_declaration.package_declaration
case 63: // import_with_comment = doc_comment_list.doc_comment_list import_declaration.import_declaration
{
return _symbols[offset + 2];
}
default:
throw new IllegalArgumentException("unknown production #" + rule_num);
}
}
}