// Generated from soot/JastAddJ/JastAddJavaParser.all
package soot.JastAddJ;
import beaver.*;
import java.util.ArrayList;
/**
* This class is a LALR parser generated by
* <a href="http://beaver.sourceforge.net">Beaver</a> v0.9.6.1
* from the grammar specification "JastAddJavaParser.beaver".
*/
public class JastAddJavaParser extends Parser {
static public class Terminals {
static public final short EOF = 0;
static public final short DOT = 1;
static public final short SUPER = 2;
static public final short IDENTIFIER = 3;
static public final short LPAREN = 4;
static public final short RPAREN = 5;
static public final short LT = 6;
static public final short LBRACE = 7;
static public final short RBRACE = 8;
static public final short SEMICOLON = 9;
static public final short DO = 10;
static public final short WHILE = 11;
static public final short FOR = 12;
static public final short VOID = 13;
static public final short IMPORT = 14;
static public final short STATIC = 15;
static public final short MULT = 16;
static public final short THIS = 17;
static public final short IF = 18;
static public final short ELSE = 19;
static public final short COLON = 20;
static public final short NEW = 21;
static public final short COMMA = 22;
static public final short SWITCH = 23;
static public final short BREAK = 24;
static public final short CONTINUE = 25;
static public final short SYNCHRONIZED = 26;
static public final short CATCH = 27;
static public final short ASSERT = 28;
static public final short AT = 29;
static public final short INTERFACE = 30;
static public final short PACKAGE = 31;
static public final short CLASS = 32;
static public final short CASE = 33;
static public final short DEFAULT = 34;
static public final short RETURN = 35;
static public final short THROW = 36;
static public final short LBRACK = 37;
static public final short RBRACK = 38;
static public final short QUESTION = 39;
static public final short EQ = 40;
static public final short ENUM = 41;
static public final short EXTENDS = 42;
static public final short GT = 43;
static public final short RSHIFT = 44;
static public final short URSHIFT = 45;
static public final short ELLIPSIS = 46;
static public final short INTEGER_LITERAL = 47;
static public final short LONG_LITERAL = 48;
static public final short FLOATING_POINT_LITERAL = 49;
static public final short DOUBLE_LITERAL = 50;
static public final short BOOLEAN_LITERAL = 51;
static public final short CHARACTER_LITERAL = 52;
static public final short STRING_LITERAL = 53;
static public final short NULL_LITERAL = 54;
static public final short BOOLEAN = 55;
static public final short BYTE = 56;
static public final short SHORT = 57;
static public final short INT = 58;
static public final short LONG = 59;
static public final short CHAR = 60;
static public final short FLOAT = 61;
static public final short DOUBLE = 62;
static public final short PUBLIC = 63;
static public final short PROTECTED = 64;
static public final short PRIVATE = 65;
static public final short ABSTRACT = 66;
static public final short FINAL = 67;
static public final short NATIVE = 68;
static public final short TRANSIENT = 69;
static public final short VOLATILE = 70;
static public final short STRICTFP = 71;
static public final short IMPLEMENTS = 72;
static public final short THROWS = 73;
static public final short TRY = 74;
static public final short FINALLY = 75;
static public final short PLUSPLUS = 76;
static public final short MINUSMINUS = 77;
static public final short PLUS = 78;
static public final short MINUS = 79;
static public final short COMP = 80;
static public final short NOT = 81;
static public final short DIV = 82;
static public final short MOD = 83;
static public final short LSHIFT = 84;
static public final short LTEQ = 85;
static public final short GTEQ = 86;
static public final short INSTANCEOF = 87;
static public final short EQEQ = 88;
static public final short NOTEQ = 89;
static public final short AND = 90;
static public final short XOR = 91;
static public final short OR = 92;
static public final short ANDAND = 93;
static public final short OROR = 94;
static public final short MULTEQ = 95;
static public final short DIVEQ = 96;
static public final short MODEQ = 97;
static public final short PLUSEQ = 98;
static public final short MINUSEQ = 99;
static public final short LSHIFTEQ = 100;
static public final short RSHIFTEQ = 101;
static public final short URSHIFTEQ = 102;
static public final short ANDEQ = 103;
static public final short XOREQ = 104;
static public final short OREQ = 105;
static public final String[] NAMES = {
"EOF",
"DOT",
"SUPER",
"IDENTIFIER",
"LPAREN",
"RPAREN",
"LT",
"LBRACE",
"RBRACE",
"SEMICOLON",
"DO",
"WHILE",
"FOR",
"VOID",
"IMPORT",
"STATIC",
"MULT",
"THIS",
"IF",
"ELSE",
"COLON",
"NEW",
"COMMA",
"SWITCH",
"BREAK",
"CONTINUE",
"SYNCHRONIZED",
"CATCH",
"ASSERT",
"AT",
"INTERFACE",
"PACKAGE",
"CLASS",
"CASE",
"DEFAULT",
"RETURN",
"THROW",
"LBRACK",
"RBRACK",
"QUESTION",
"EQ",
"ENUM",
"EXTENDS",
"GT",
"RSHIFT",
"URSHIFT",
"ELLIPSIS",
"INTEGER_LITERAL",
"LONG_LITERAL",
"FLOATING_POINT_LITERAL",
"DOUBLE_LITERAL",
"BOOLEAN_LITERAL",
"CHARACTER_LITERAL",
"STRING_LITERAL",
"NULL_LITERAL",
"BOOLEAN",
"BYTE",
"SHORT",
"INT",
"LONG",
"CHAR",
"FLOAT",
"DOUBLE",
"PUBLIC",
"PROTECTED",
"PRIVATE",
"ABSTRACT",
"FINAL",
"NATIVE",
"TRANSIENT",
"VOLATILE",
"STRICTFP",
"IMPLEMENTS",
"THROWS",
"TRY",
"FINALLY",
"PLUSPLUS",
"MINUSMINUS",
"PLUS",
"MINUS",
"COMP",
"NOT",
"DIV",
"MOD",
"LSHIFT",
"LTEQ",
"GTEQ",
"INSTANCEOF",
"EQEQ",
"NOTEQ",
"AND",
"XOR",
"OR",
"ANDAND",
"OROR",
"MULTEQ",
"DIVEQ",
"MODEQ",
"PLUSEQ",
"MINUSEQ",
"LSHIFTEQ",
"RSHIFTEQ",
"URSHIFTEQ",
"ANDEQ",
"XOREQ",
"OREQ"
};
}
static final ParsingTables PARSING_TABLES = new ParsingTables(
"U9piNGNS5iNptukNbvTMu5LHR134RiLEzCKkxCRkxiBkdvtOtTWWYc8ZTYU8XQZOUNV$cPt" +
"TszsxlUVkti3thtVpkTtPtPdPxsnTFSyTO#zS4jsTJS48oVbFcYN#qqa9dLXF4G#lPTrExi" +
"bi8eH$nxPUSiFILZvbgqIVwXICS6PbXqMVEeTWYWrbrx7rWOiK7um8bvRI$g7k$zmBtOkKF" +
"dWYkJNOck7Id6P6tgp7JcmpjXyx9axTwqqjecNG96$DQ99ENZT$MBWen5Cn9RoOv7NN#EMz" +
"bQGq8M2hAtrslUISKzYQ$Z3IuXvDoYUG7e9r20it5DCow3DlbUWpWwwChcIhHf#5CsCAnq5" +
"mSlGPwnfz1l6LxcEWWHu9QNPrS3BR32KaULzBpZsF#e$jofOD5zDbieaTn2vbbyMfXTaYHR" +
"GCcXmj3BjENqRNm3uP#WbIebycivcZoJ1lU0ben3fiP302F1gXzDahCGVzuXmMNGhZy5BmQ" +
"4IY7YknRTYbl0vA3VTcBgAbK$YtSrpujqxHVTuOvtA8fs0AFDgPhG#fgu3lvlLWgu764U4Y" +
"iVIKw2fdLNyhfU$V9Jbd9UWTcXTNGOzFCUkn4Ui9EsZ4jkvXtVEr4XG45uI1JZZEd8N38Fe" +
"SKsm5zp6dAqYD20FlCgSZwnq6pY6iXvIEFeS#se7TeEdl8Zas4tWqt5ijN1fa1f2z75eQj6" +
"vYWsDRttYh5j0oAFZ46SgQd2M3Ju9Fl04OEWEZ5Q9VdKLXFLi1Kaju0wFb8HuSV18jBsT6j" +
"88xEfhaFmohn0ci7cRZygZ9wKOsY3Wst5dJMSjPsrd76UAiwwpdDB7JsLdiR7OEEvUTnyvd" +
"5x2Eh1Fh74sAvri7jYphoNe6Dqfh3dFSs791OaEz6zZwxdViD7O6EzExn9dRcU8jwYtcBUu" +
"juSplz7CMS9PpLl0MzXPXKw0c87OpMzfRYBt0xcV3dBtPAa3tkHUmhRpvetlOg1ZT7Uvezr" +
"6sZDVF7SEMS2Ux3qFfakvzxltkAFS1zq7t8VTnTwpxXFkaEyvzodtQ7Uy#upxhFkS#WfRzr" +
"zXItd9iSNy1hsjmZNSlkuMDOaFz9zZwmItUcSKnHrknnzbOzaHmZTCHC2yFemim1xT4Nx09" +
"Y9aznLRsJfMOtLq8S$I5n1mkMX1pJpwxE6RsQN1DS3LW$YAuHT3DtgGIcElPasmSOBwQpGc" +
"O#x8LEUQRsOFi8S8SrNiVnUtSH9ZPIZ7cHOfXZkutC5yTZEIORnPqgxzQSSmmWnT72aO6vt" +
"aB1UT5ztBCjx97s6E86Kf6#2l5y#5UqSxtIyniUD5s3dSFToVCpj#0U5RlNhTZS2jHkBj$1" +
"nlgtAumEtNPcCFpSAI5vq7Sv2tadywQ43ECa55U7yJir8Vd#RT8pCv0mkmiJPZPGi7V1J6F" +
"Pe#2RMhd9l0qEQyNBOxPtvVFkvxXdk6UWFaoTtl433q#Ygt7nyRBR6AuPunvOO7vhBYTDok" +
"6ETm9IM3U25PQVZHrLYI4uKxkjyKnEqUoDTcRW7buE1mmByDkvUl6KFyPq4VC2$gBXSCbPc" +
"zPCPvlYp7lMWopCoAw8hg2C8Up9Livkg8CPdzVxsNs3c3U8zm3vc1JE1DYzj$st$S$u9ZVz" +
"Iy8zqXYZXQHcBrN2ix1HQ95dCl5UBuqYTcRwfrU73FRDJoNZ#XpmtCHipyICNkZuMnp51$F" +
"iq0xdnkl6tk8zVdak9sR2exdNQATdUi5vgjJxRopzqa9pCF3S$o#$dpXEU4vC3QkTGSZPdS" +
"Txo7d4CJipmdjV4xSpfyBpFV5c7iMm#nVmNRplX3ZUVVK3BpBNwKuPZo72VSAzy8OsdaLzX" +
"9VwtxtdcDxyxLkBtOlwoan#nkBENXjsJdeRmQuDY7CS0smAvmzl1ET2MSFPqOx8VctKQp86" +
"nljn9uc7gx9Teew9YL0E#RvjLz7VrQGvRFRzuEVKlAvnEw1gn71XtSW#RDGh0YE3dSuAnFl" +
"RWBy8JO9IU3hqt2sj2nomNHd0tOaZ98xoXASkq#A#U9hrIhXsMo4SqnuTdWszEsfpj7Ojz4" +
"NmNHsDv$tqBFXsV4SUbFqxVxnESxN1UVGNMnNPo1RYYq6ux4mkkYBy2oFiLN2io1Uo3d2S$" +
"bAEjnPnR#Vq7bJmxCakh2FG7UKHEUFAZZoXlaDpi9bqOLdHCi5buHdOEmjv5tZxi3HxUftT" +
"ZRawyyXM1AtNKz2vtU9vyMD1TVv6$sUpYsbqPtftU6k5fuPdWbN3Gl1CKKSxVtEW0JH3OGo" +
"9qPtkpWAzOpHtLcmPuU73gxe9NjsP3Hdk0kG4y4vdpVQNPlQpfiQZUHhoYxHGT6SyJhubbW" +
"7luh7tK75qBcxmTNB8QNHpHMTpXwEJeVuQaJ77k2hz4R#Jj4kY8vAOdJlYwFXBd7RFLmGtG" +
"7#Zir0TsrqXhihx7mz1dIYPxtdecivkZFSaznRu$LuQK8NN2BHkRSLd1LTmCw9PT7nAzxwS" +
"BTmDtS$HEVx$AWyMyZ2qn1TS7wuMt1#Z6u5GWTb0btmLp5qmM#0xgIow8AZdVM3dxqntlyy" +
"w5cscJULevl3cpiydT2vLojqCDu8tUankgWOEc#kuAhowC8B$8NT4xmnuSxXpjXspgVyI7k" +
"#DnzWmYlEUS8BmftZjXDdDFw1yNfNyEeDMkvYvsH25ptcdXGzXkHyJB4YvqJOUQat9he0uW" +
"jaYNi2nTxcclmaRoiuZbs7dDF8UZgTlPkJ5lF9tGwEsOyvZJm5nute4IJ0#8X9$fxH8yvyd" +
"9lBXpWyNvQ4$wCOpWYKz3xkIU7vxiLWwSJeOf2uE6qndvpPuQm4BM3gWMXhs84W$O19R4Bq" +
"WBCGSix9qOKGNnYNdKqnj6SixPpX379EOkk1fPF2pQEpmytzlP8MyybP4Cu07WYcyjIZWEb" +
"H96SGnOf0uj5m1rvsCg1xr5b4blZhKmpOOcbtFNT3voGO0w0JRkgk6cuQxfYqc4$XZj1kZx" +
"hRyDJ3qRom0pcBKQp8Mmzo1$4onFQmitXSTfQG6AEatStThJcsXvqpeyj0uZ9drQJ5V79MX" +
"tPxEFYQfqR1yMSKahC#nOf0OfJt5Iz3RAFyeN7Pt1G3jbZQtSFTbsCRvMmING9#NU8SaBIO" +
"Jyw1q6wZWjDuwi7eODY1dCCfLkGz9KivjWUTW#EoSuJ462Nj7kmUmR4zw1mRRXQT4sxcd92" +
"qc4zuPG$nkSY7gyDvsEf8pgaKAuhEXTAlUDdfqNcGFa#MUC#BU8oIzWzXwmNdimd0RnXkWh" +
"jpIT9YFZddmxNXwd0#ZAbL$RfmLIJ$UOeLGJshEXSYvmmADuPuOra2c8oOormHhWz7h$KXz" +
"$RWV7y8x0SbBUQJCzBT1h2inrChmfNsYaZEpHGhylj0xXsyxAxeV#6Ak1C19YFcCcz75mNd" +
"HnU1nO7H#Vu6qVd1bKcB#UGV1LUcA$hlyjJASDwzCfB$3iMA$Ct3bPtta0ikzVSFL$P6onB" +
"0n6DefrZQwUfV4bmE$gpidnjS5cxWRn5kaBIOJyva7sn6ho0VFUIk63t4wHKHnnHkH7lq46" +
"0P2lnGMGB70ugRDFdNezU2ArZFw27$Id#yknAcanRpoLt5lmhYLtdzQq2Vhe4KlKgn8dzSk" +
"0QSamFdhkw25BIRA86s9eddbBIxfd#Zkwux5BWDM9F$WhknkqNIOZwvcxbRGhWLJwtcxX2k" +
"XkJkIB4YTsVOz#JSxkvU4EuZIy0VajXVapx4FSWzr3qQkCFP2FSuztBtogJ5V797kjT0U1T" +
"FhUHU6ww4n1QXM95x0kmJE3VHVGt2D#EIjqNydYRzWRUM#v7x2LZYr$dkP#xdIOlvXDVvOE" +
"jBdbh5$JfS1SdzYc95pbsG#oDoRA3x4$2$oHBtLn7$eQJTFzt0SxowS1LljU12TxhNYGrCM" +
"imdRtLl7GYxy5Id5EqQxWfMEtapmTuJzjvUOzY9vymUxkhD2$4WTpifxJtXhUqDTgTIAhXE" +
"jmJjTmfRdvrCPwx#lPQwKkG$23RkzbPcmzZsmV7U1jv6R5CuhpxHAjsGeht3lRtDmWPlMDW" +
"GpHCs#FTvmyC6684DqLhXtj6Q4A$XxI6bsUJWkk0wjWMbejKDIyTxVx6DsIPiSxPbjAAtbw" +
"Mk52Nla$c7YJiBDkdUIOfMyVQD#eUzlVrXFmZs8xn387S#sA$o3lEEXfnZlPEaj3SYF2OyD" +
"hgAKi6rkYMptQLCRVBE2wxrplSkOi#oxRsBlIk36zXpR2j$RgjqnoHvbtjN#GT0F1Bsws2$" +
"7euz7OCRmex#lDwjtcsGSwTtlvI6Thysk9Oz8tJlDYpTOw9FrvKcDYMu0OcDvrTZ3mGtUGy" +
"wUx6jhDBTakGzx3tcFHfsWr72T#y5RsBOBRWfx0RjFi5x3N9Uzpw8fTyCZ$RUWpQbr1JTKg" +
"hTKtMboQqBRaB2yUvzoPg2wzcsSANskrMwQvAyQTxVNWXn47RrEy3E$8vXr#1wu7hudOABG" +
"UOoVsOfxVVo6$q#R3kHcastb9YhXwVhIfC$Z#i6rmDYm1vkpnxs1x9hOSmiQ9KUc2H$8NyH" +
"Vt68bu1zATYNzmT3k2Riw$hh#1j1lAc$fPI68zYsNiWk4hhRwPOIs7T8rsMflO#$ix#hlpj" +
"YztVpz$OFPcC0#n5MwVea#KVxn$Z7XVNiOU3FXFqi$pm8pu7zV$x5$eLOubyjfO6$mR#9FI" +
"zIFNLB2Untf#jA4#lfFm3xG$oUrth#Kwp9UGQmFskLxfaaq7ZH$p3iwRy7FCETGk9KZf1cC" +
"fTIXYK3krcMHT8UnyutjpVRAaEtGv84bWvgvs5Js24O8KimbDAO6uoGATEIlmqtDXm3ALER" +
"Kiz1PDlOfBiaISXsaRlt8kUQmYu2UnSATMd09L9fInhsL5sMshEmswGx9qd8TfQxNy#vfh2" +
"pmDwPGbqQS8bKsfA6FLMNfVOix3Rf$aaIiltbxi$4kQQmly3Udq9T6d29LDgIXZrLbwNsBE" +
"mswG594h83rCx39ht4trDA#xFxyr4kwUgM$2EPjhaNf#kor9w5tIRTBqb2jf$S$RKurnJs4" +
"#tUZq9T6jfKfDAMj7PFrMMfFGkxJNh190dP1TNEmoQz14DTMgPLlbvcojIcJEmswGMI96GN" +
"K3iFc$GI37LfcLRvUfafKvioiTka6vCaP1lLpiCclGH3NLgcLRvUPihKfapiDkbUIHAolTJ" +
"EmoQz14DTMgPLlYeBxZTbQfCTUt2$JJPgHC9ouYHXMkRfVDJepPpM2EvFascl295DhmTFpO" +
"p4SsRM2TCoJ#TLkPwJxFcqlI9aQCs4n7DcqWdJCa$dLRcUOyKrKraoj7eYyPoUEc5QvkcyA" +
"jTphBXwbYNMfBJ2MPCanl6iQkTXarw2eIujqr97f1BZF5sNfNRxtBZTAZrBaWIMMTIkkE1s" +
"bQDBoxIKDCjCcTh4ld8s2swN93M3swpIFP8awkcXTiK5jwaSNLgcfQHPPihK9exzDaanzZk" +
"iqjsJ9EhfhdR51NUe75rQfgMaMMRAr2Qtizirk4DIZkv2IHAo2wcTXqsmytkACaUNbccfOv" +
"Rn3Uyffkgor9vr7BD93qgIa1saTfrJERgqJ4j9iyoKgKqevpsPrCpGNJX9GdPXjUkSoX7I$" +
"#ErFIvrQTSj1VTo#SLKVYrY9#2$DDZb9lBWNfjij0aIbXCd2TCoJ#SbPsguFToPtLx1lJgP" +
"zeeGsHHsDqRYEHlhX6cPf$EICpNI$PUqLuH8IsXkXCHpDj89qp9FvoLdQbXnRLIMI4jeReZ" +
"4SpRK2TCoJ#SbPsfOSMrObaXBQ6w0n7Csq0dJCa$d9MTgM75jK9P8IsYkZyHprjS9qp9Fvo" +
"LdQbXnhL#MI4je3aNYEKDrmhJCqtd9cHfMN4FB4ca9pIOadjEa4wPbdivBpjImucegIwGbD" +
"DT3uZdhwOHfcQVpaZCrhBZMAqka9JJNHU8vw#g4QPcdyv8pDQourYrBf2KqXo3nd24wOLhc" +
"wRpaJ0qhhY5bYRI4vZf8F6STdJ0jytHUSgQ65TSwPOcqXERAI3ndPPqmBVDqNdAcXXNNocM" +
"9j8JcO2IUCrWdJCiydPUSgM75DRWiaPRGN1A9voof4wPbdivBpjImubgoB96Mq5m2YUSieH" +
"EcPPxEIyxKiE9QeYoHbj2S1OddpA8JfcMUpalErB3YcgKiaPRGx8V4S$hfX6cPf$EICpMik" +
"FgL9T8IcdsHU4vVdJ0jytHUSgQ65LVViaHQGdCE99upXqwObdawBpbJmufhZh94Ma9pTYIU" +
"CxjEc9PvEYyvKyEAQ$QoH5f2imyIp#cZ4wPbdivBpjImukfJbaXBQCw6n7DcqmdJCa$d9MT" +
"gM77DLfP8IsZEYiHpPjK9qp9FvoLdQbXnpLgMI4jezaBYERrqmhJCqtd9cHfMNBtA4ca9pH" +
"v8FAU7JfYMUJelELF3Ygj7MI8jeTaRYUVqrWdJCa$d9MTgM77rBaka9JIx8$6SxZfXMkRfl" +
"EHC3IkkxcM9j8HcDoIUqqqdJCiydPUSgM75rQqiaPRGN1o9vook4wPbdivBpjImubgyB96M" +
"q5mCYUSifXEcPPxEIyxKiE9Qh2oHbj1S58ddBAeJfcMUpalErB3YMhGiaHPfXhSZOGvnaZ0" +
"jytHUSgQ63PTfhmYH5cb6mv0uqc4wOLhahQtnmoHdQbZRQrXP8YtI36z3uaXlqmdJb4Tbgb" +
"pFLNcMzhgjBEarHJiWSQGxw8HfogCoLQxdgZnBU#rGbeoQjaVYETlhX6dAep9LhkUgF0kkx" +
"SkIKTDsI3ndEvqmJNbKfihrN9LdmRLTMJ9gsXQ9vsoh4wOfZyfKkPwhyYoujYrBHatR8F6S" +
"RNJ2DELHcIhNSrMU1TSsPSceANUTeB8PlKv4MoBnd2rrmZJbKPagrtDLdWNNbcN9g6aB99w" +
"pXKwOfZmgK#LwhigpuDgYB1arROx4SpRN2TEKHsMgNCzLUHPScvSbewRDa7ZEPZfXclAeJ9" +
"NhkIhFWckpicJKj2aIpzbK9qnJ7fMfSZrNvLbmRLgMz9h24v0mXpX9cAOyAbFbUgxAIs#cl" +
"IAarnIjXCIHhgGJfYcFobIvdgloBEsrKbaoQbeDYUUifXEcAO$ALBcUg$8ik5OhIqPDgoBn" +
"d5LrmZJbKPagrtDLdWNNgcN9g6a199wpW4wOfZmgK#Lwhigpu5gWB1arpO$4S#RN2TEKHsM" +
"gNCzLUHPSyvSblIPdgFkyH$UJ1xhJt4dkp#uRxhiEdFsxfp7cBE6#X4NEO4XFSVzo8$Txnh" +
"p#xiLSemk#Iz7pl8usN7dlVND7kAUufxgdksUuPxfdk#UuvwAMXxyy$eFzfUEA5YgBAreeM" +
"gXjS4KB8l4MN50dJ5CUbQboFLVbMVfnmR9arBGZ4i$PKITCKnwLgN8zL#LPSErObeoQ1YBn" +
"d84wOPhog4oLwxagpu9hO5aoQXg0n7C6w8HfogCoLQxdgZmBhW5boQXf41BF6QGJfYcFobI" +
"vdgloBBW6bIMz9dq#UckqdtKYF0u9SuYJX6dAep9LhkUglFHcsYj2UatU1THUpY7GNgSasy" +
"ixktPxSG$RfBqCN1#sJrp#YkqKrytj1vS#7uEpoyx76OJhhFQ3Y#q4yt8f8kB8gaWj7IxDr" +
"e8GEQt4q5cQPm#N5lIok9JfEjdatGXIophdOgZxo16aYAqB9SiG4IUabt4ku3a$K8fsoUiw" +
"OXikBLZAKFu7e6LowGSRwVNfnB4lIqISg6jPsfqUUahokawCVLafPPO5zv4QYsH#DZcVEry" +
"wNplVEDywtpi$E3yvlpY$EN#W3QkqVimxhRbZERWlJQqtnxmpsiySCt2rexaV7Os4ESH9mZ" +
"JbKPagDtDLAhcPzegGKTDHI3pdA9qmJNbKfihDN9LAuJggB1ar7Od4SuxK2TEKHsMgtCnLg" +
"HIk8ykINbEu3HBc42S9qvH7PQhSp5Mfv6RQAq9wJT4HI1pf4JfXclAeJ9MRkIgLQgyZof9U" +
"KxWr4aUwjKwOfZmgK#LchagbsclhicJKj1qIpzbE9qnJ7fMfSZDNfLAujYjBHatR8l6SRNN" +
"2DELHcIetSrKgXMlRigJNPAoh7xUVTTN0zMaxnJMvVUBoLswdk5PjfxXMRwUuRcsdk6vlfx" +
"ZkR3#umYM9O9Nb8MwKalRr5CLAHsoxIWkMijXA7e4GVqUBUxvyHqjDtIM8e9I7$5i9FCNVb" +
"erQIz1El7i9IGffYNi9APKgatKlaKSrS5kaey#9uEo4X$mTv3mbSLEAB43k9IGff0LkQS5I" +
"ngHc7cNZjifF8O9I7dBSF1NZda8xyVu0aXJI4lSKAPKgatLFoQEa1ckgfSk6EZtP#iw00jy" +
"hqCxol8LIjR2iVwgwOs37Ds4pznLlsm9l4I#EIDia8lTLuBVpjlTsy7RqThAWD16zsFQ8l5" +
"rB8Pe1RUJjMGhHwpC0qTwb4Bqp0n0TK0hHfpC0qP5b47aRDmyH2vo#pfpEyiwo2X7xaVta#" +
"EntPqTd9sTNPryufkxdR0fr7CS#LuYYhubWdU4XRfIIwFGKnKf7oKYfT9cIg4qiU#MsoNz5" +
"1AKyv2itJyKhzrUq4y#FEB5ERFahAPKkKnArgGPkYpHz6zBPXzyHNffmOnmk7H$XbrRtdCE" +
"b$JD8KaWpcI#bA5SlKnArIHDEuBT9HvDGq6dWNtTa5FADlqKEK$pB1Rmi$YO5Oyko5nFjAR" +
"yG6VFD7ytiozXQax9Sb1p#hmddNBh7BUvqnqTBkkzDiUIPzMZfNA3T9oUk#VFpfVYkUvEqL" +
"fn47yrczD61gkLL7FUUrQFMx2EteILz93pQgFrunBxMh3N3e#1S0XcS2rnF7Z9sl8IkIXLl" +
"zmWrXRRWczr7cslMcXHVdDgTHy#rWKTR$wCUlV1lyyZjOhFM4e$akvvhU6JPMj6ZRYtro3y" +
"ssKTERxeET0v9UkJ3cQuhxaYxQqbl$EDLlSwWbdZ4lk7svcZTFeAppvkoFEAUf3pIwssPHy" +
"wMMJtUCezqd3Dur0t$rtcqnx$EeoTQxb7BhlSWNiFfxyp5kPdPH#xrxWrYfMpHbQtQrFc#E" +
"nhMZ8TvPZqlqUxP5FeM7Mxygz6nxIlyHzqRIoAj0nIF45B$CN#qFyP$F87udfGFsfsJmaX9" +
"ypBtgjPgoUnDluzI2D#CHFHfkqFqoun3b3twpJixXRvY$1UD$l0lu1WFEwYQC4$6ahTlg4a" +
"s9D#iDMHSbhKIz9kmyHjo56euVrEnMPBow3SYnJVBewUph9MWFuIDFv2ZKCFvXuhDafH7Vn" +
"0flZaUkJDbMIj1lmWRlo17eORp5nMR9IcFVY5IVBCywfbbhJX5NSb6r1Kv2jMcIXLltvnvK" +
"9Ta1DSSZ#PKQ4nhnIdyIRJAJyXHgBNyJoesIr9zz1EHuflbqTnPrefJ8Ewr1byXHw7QLAdY" +
"xHjgIct1DMTbk2tBMWdwKjZu4ZaADPnVgjWiINdq9P7Yotl4lissLfoYJcGZweGSXMfJfOg" +
"tRwWfjGLNle#sohPMd88lHAjyWHo5Mij$eMAp9DL7Nn0flXaUxP9jhGHz9cnyXXo56ixFL6" +
"oMf3pwZ4ZnpV3eqMnh9MYoi34PEGerd9DLR9QaF9fCfFXcU3Gwsre9#bZO#1Wv2ZMS7wlOB" +
"4bvz36HuflXqUFPrahGHyB6HyXHgE7yICLcISgZZuWKNzuZTzPiQoNeGs7ZG#Ger71#g6Ap" +
"9ENHXqIARuP7VRAjbQ0FX8qFaADGm$c1YisIb4SV42c#6HxDaMsjE4NYQYZgW1o5QbEbYhT" +
"lpggeIpA2A#aH#rwlDscj1DK96tN8KQXPhbEnMPBQTaLTaX5SsJxIVZzF5dHhnIcCo4OO8K" +
"UXsbIfukqRQafjmPNrwC5QrafGA6o4o56eMGvLR9QaF1ARuajxz70jQyMtIE2CE1V5QPchu" +
"gYcHxA155$M8tU#MjPAK21i1CXHg5aEL6oMf3mAY1HVsgD#jQoLeB#5ZR#Her2p$BUApPAK" +
"HtyJARwSH#o7sjPAaBXd5Vs578MQvRzK7DMykuMQKbjmvJpwfRQr4lIdiF4dSXHgblzKiLc" +
"IykXF8iMNzEYtsjPAaBXd5Vs178MQvJzK7DMykuMQKbjmvJpwixQr4lIxiF4xSXHgbdzNiL" +
"cIykXt8iMNzEZlsjPAaEZjw3VaADGi$wRYgEOzLTIKse8hjzOvjQqLfr3qTlWdSXIgJPKgt" +
"hwXfjGMN3cFlDhMIj2lmiQlo56eMVvLnMP9ogDVYHHVqgDbQbihGUBvURWbSXHgbhTKiLcI" +
"ycXB8iMNz6YxsjQAappzZ5WKXsgBjBZcYIhNbDg2A#VH3hMjbI1VsF2Her2pxAlOB4bkS7t" +
"aIst1bVFeRBFUfBKI96Pav257eMRPKx5PajfsHLsI4LmvZumdncH1jrQSGl6kht1#v2XKco" +
"fLl7r3JQajk78UtLVRMd4ApY4RmJd8KQWsLQfu#uQQKbjmvJmQLTjQSOeQH3yt84UXsbIfu" +
"kqRQafjmPNoo1rGsrfn2iLrLZWVSXIgJPKgthwXfjGMN3cF5gnjhGI9ixNmT#Ger2p$hkAm" +
"vdaTQafjmPNpQA7QrahGpyB6pyXHg5d#MSLcISgZduaKNzAZnMjRAqw1#5zRC0Kv2jMcIXL" +
"ltr1JQWkkd4TBrhPMWZuLDZv5ZaBDygSgDajI7drAfFYI7YrRsrfn2iKxVSCjaADGRQfKyV" +
"ODDQMsuCfvj7njQoLeM3JMdGvwmy9XCgGj6XlUm$Fk4J6zkNci3CDxK2B6C8n8yPpJpWIYi" +
"NcaUPIoLeBcf5$DXdC29qBQtDF2ntdUuoBc9UvPFBmOyzboOVp41pMbjiRfluuhz3$hB6ib" +
"g2$$7VlfOL$W68MnHsDutXWHzqruD8PsWQ4laU8vDqQXBELHobe9caDuD0TmZCBOez4yRxI" +
"8vqXuD9fsWM4E8iLpRhH2MSgZbBKIDBlmQ7RW68MnHu$nlCT4F7l2eyTe5nXc9r8yvnvJA4" +
"jvbB9Md8BFoQFWS#0OXR57Zs8gV9HYAj4yUfHssb1JQYjEbPVpA6sj14qI7aq2Zb4OU$G8f" +
"i97AAOIpQD7Q1SO9X4fddka$Swrb4SfQyKft4gCkgs0OnJ67ZtCynuMyLO9ZnwcNOoJhOWK" +
"ppdj2KgfKPUoLeBc5HxD2noZCFRe8Pxta8ZdJNZq4Eq2mxn4YkVSGmfbAOzIrahGFCAZUO1" +
"Z5COUFSZp7XJnF0cF7gHTO9Y7IF6SqvxRbV8ePQq4pIqycXiuHc7iqGCyxm4Hpvtmw07Q1O" +
"QvYHJFkRYyf4SfQoLeBk7HNC0n2cEFHl6yKIAUA#7HADe5Xhc85Cyv$LgxZ4SfQyKfsfqyY" +
"dO7Zb4OUtG$fiBxAQOIpQFxQPSRwfACulJoCXwH1TrQ2HekF1eE7ACmzkW#J8NtKKmbcaVt" +
"qHwZ62wr5QUNb$9eUD9Q2TfLsDWLEGeroxkgs2n9RwXBCe8hTZK1c#Cx5zjiwTQAaoD#IHB" +
"#6FueGxN959NLzWXrIKPmPJowp6PBjrQSeYwYLReWHw7MLbrKR9QaDzGb6S6LyUWQcotTMW" +
"aI$nUAEYD7eMQviuhD4ej7dQMsuCfuT9tDbcwj1Bd2XeiSXPfbLyLcYSKZLseBhen7Dzbiw" +
"TPAa7XQ63d8KQXPTbHibbWySgIsuCfuTAlDbcwj1EqcREo678MQvTrKR9POFDfDQWjkg7CE" +
"UBIKy2Z4VoOvqEocH#uYxgBk2igAyw6oe5ihJZFmduRT2zZzq6wNgLyhlY7YrsI6$3UMyr7" +
"wtrXgS$kxyxYDRdUtarll#gxZ$0LvTyD#e$EkkvIxjBkmyu7pFXF$HGo$2x#3LHP3$TzOtw" +
"bOyeatgRokPCc6mTrB8SNkyVGc5SvVmBR2tF1U$RzbtYnUNuXl8GkyrdibNvY#3RzbJHXwu" +
"xqJsTlUk13lUdqRZWt7mXd7jyZhxGIvPw646nzFKPTa91UEPVOjzuo3BEZMIj3d8LpByr37" +
"IrVjfs5ibkZdJb8s$5oye$ppf9sodl1tb0iRPCr6zdUKXzF3wU09XhedquKdqoLVmvFfKbj" +
"npUwJwKbh9UZxy7lGug7coVSgDajmmxVmuFlomn$u#z#$bzh4QM$UIRnFFsNd0iRYj$0ioz" +
"#7yttAMd7IttrVyYqyCsuDRIMxj0trbjAibphYgCsz3jVGraNgl0CsxsXzkwrzT78#gdLqi" +
"XrnH1kQHvoCpU$AMu3tL2iTIr$FEvPgswjjSGJd$sg0MgEb8NSEYkqRbBoUpdMwE9rYE$g$" +
"Cjvl2LhyvqJU#OOpX$qV5zdznz7sQLah1f$auwg5G6x19ohak3PkKNjzKWGNIgKffxqEQbb" +
"xUPUsJdlH9g$k0TVnBS65L#3vkEnNxZdjTLfRdsUNQIyDrtdj4vUxSZl5jKOxnJMadU9Qlv" +
"tYshITuXhMJd7jr4vn3M#dkFPkfxWERAUu3ckVk3pB6xxQ1QuBsockAzefhclRAQvRsYckk" +
"zefhb5jWAk9ls$w3UTSvoBdIeKBlvF2vUxMCT0TFkzF3z#ViLoCY$yQnxd0x#syIVUcdB7E" +
"Oux#MxTIptbnmpjMpWCE$ms9Swzpl$E8ywJpb3FUUTPvtddHcU1CT5vrNi#yqtKxMz$zhbd" +
"lJpFkTWjElzkzgIT#RUeDBT5vfB5DMuwhy4ceeKFu9CP6hVGbj2TfjsskkB#3kjxwhDNkv7" +
"YRM51#7duEAF6UzASA3zwXTZ$4sEc5l7EkjxItJFeDTZ0QwzKzyLhtn$6#Qs8q6kzlX0sVc" +
"HIwFwwFHizlncXiqxN4M$6$ETw3qMvVhuCpb3LvyQ$eWvDelAilFOdHC5XAu0hc7IoVKGIZ" +
"FVuTIdSkTpOt$XKfIAp0cl6b9syJeVu7#ykT9HYT9gDr3csFHnb$lpP7rQtDQvYtpMjOhSr" +
"h#1$DQkVEvhmjZWrZsmjkKvZLROaLLWVdBUjGkefjm3Pd6V#vTQuIp8PjtfAMRogqLWtqdJ" +
"aNrv21i8fetvd3zIVzdJcltZtBwqzdKFvRU0PbVcVExnstJyxg0nOjPr3njyVRq6DlP$3uP" +
"UMnjuzteFBOsotROyRQpcFzYt$9dc2MB$vvzVZ5Ftr4SbpyTnBiPFsBEVcun3QC7IguWzbM" +
"RTeJssbZxwqQ7X#IxN5m3vlQt6ySQZP8dfyXj6vFEBivkpjx1lVeLBWdZAtjvmH5hkLDYws" +
"yplpGiZPjIL$$Gsrg#SzhAvyzM$xvtCerBD3cDIpOrYFFsx1v8o#ugnLMcRk4V6ALmUCGBq" +
"WTXn1N#ZXKOvMvIwVsEYF8Os$tvdaStDqAFN5tc$V4tJgryvxOhvazSMShzCITRTuJT#hKp" +
"dlYc9Pvt9AUcB4UEpErcUKsEtjnBEyzRoNBKzlCyhGsi$nTcrcUtcQMBVy8QYNBbZU0j99b" +
"o$l8Mibooyv9cvmEP3buFtXVMUPtA$#4bTtuhMNo5zN9BNYVVdk5japDqizRVWn$b3R8cet" +
"il$vIzs33bzZKuAJm9OWjzs0n5$TQNf4kbzyYUApyFTZWlU0zhewhCFh2$ysFUSumPsSwjc" +
"4TYhJMV3TubwJfT#Pe2#ZTZCQV5ZnceNVfbzre2$ZfuNI9I5YpKFQlrcD4xsQH$NVYqS#CH" +
"JyJ4KUGAGNCEhojbmgNYduEbqAE99IEbCTIZEKp0U2q$wzWgTIfGJ#1r4z4nD6p64fXxRvu" +
"Gq7qanuhdNIfFn6$fKKv#hUqf4uDWXaJ$KX4dB3w8#rgqqjqdMHft3O$9l$R8tLg45pJHpy" +
"G4IVQXgUuTx9jVj1ZfPCkzT$WRVD3gcr#o2KOzz5q8kA4rUcqQsqpNO#LJh8qRflfgRQPda" +
"imawBlYOWJRSDJt99yi$htUgnqagKnckzJQBxFfUz0wZiYuWGQdZBGVAV7IiTMQd8g9vU#1" +
"QblYOWJcj$IhjdwLe#LZgtKv5HEBaq3gMb4n0dDQRHhjgRfiTAnbPgSoicbRq3g6oBYXEOt" +
"j6kslj5ZfMChDJcLaqjJGMeg4N52SohjcgsfUgnqRAKcftBog9N$0zESRx7K#k$BCOb$AfR" +
"x4fvubkqjP7#MxQ$XFGDP$Hc#YKDxDkerIGxFP1n#9kFUvDuSvyRNasnUDZ$hvmnsxzHRFN" +
"4ca$XgFIFlSgyd$IPcVHhFpsH#Phywp77z0Nu$dZShcutrOREpkQ7FVoKYZfSsKieO6R$gi" +
"TA13N$$CzoKubp23wcJJLfrw4UJz2Cuqpz5zOHxcgqdw9pGtzh7EusfV$VxswVQbVS4Bono" +
"faljEfVHhkZbBqJ#6HZAFBz9yZ97ZsETH4ye7KsxqQmdcxYNPT#KMcCsiKzQSMQ#qOgsFac" +
"EApNds9iiVfAipJcA1xl7ijnVgvZZgj0zdEHifN6bpRcKXDeachbiQDYotfmcNhyf9M5xEZ" +
"wBEQvQe#sPvHbuCthmjLQn4eIdkfU6fuQdmfa$3t6ZbDuCUWb9Akcqb6sJEjdKSdzOQnm1N" +
"scv3TSBBm6FBr4XRu5BQ1UfvtdPynHJEL5S#hpIixOew4gT6eJl0RfOXLppOjerMnVhCKeA" +
"wQ#SpNWzH9dtFfHE3O9P5buamuZ$KnlZy2B3paKoHWcK99r4RLBAyZzsgPDDpb3tNcV9u1W" +
"yiv1smkdfLSwqwrvilpUWo#IjSk65KDU5AkHryvI#okab9AcaDJzJENfPBi5PG7YA2hdMAR" +
"IBr0kyx0MAgPmeBdr1wLbHWAxKoIRZFEzshlSK7dF2ftYSwetmgMXI#9HxSJG9YO$G5oHXU" +
"OJlCoJTdDv0oMYIUorfSMjoqth3E2Q#5$Uq6YsJiJPdC5aW6v9Fazu#pNkkaSJNulNgvPPQ" +
"S3leVIXwwMdUXq$pEDs7J#CUdwjRVkc3vLmthutKBttsrSycpJQA3kEz8a8Y4i8OzibKcxu" +
"fQS5laIuLsyPi4#tNTVlB6chG8To628c4tKD4$ZuyUO1MOomjUGFF8IppA#EoXXfq8BSXGY" +
"9nH#L0cO$tli9dUSyyYx6IbZpcaWJb#2$1Fe7IyjuNwieQiYd4jnZuF6JXZKHa1sFOBID6I" +
"NF#2wo9aAfIlgaHSoAD65b33Rg1oucGYBw96TuGBSNprutmtkqoH9ox0NyRXf92GcnO6ap6" +
"78##E$0n$ZPCVjEJwzwGHtA#1PDnlialdCAQT19#TzDP8kHVT4aVmIINyRtEoS7a$3N9$lL" +
"IPiotaCyE6H89$mwJ#SbDITiaC2ThVCiQQX2VBp8a4kzjEaJcy$7z79Tu3cCb7VFFIGdAyT" +
"#qZ6$GbJNKe8D1utKCmTB1HCBkmNotZUzOclDVy9g00lgwty61$0eVZ6$1NoZ6zy6vT12NW" +
"p08muE8HAq7qOub9a4kdiiTf4je$NMGrdc9yqPPGmtYwvuCYRZg9HZ3RckVM5hoj0K1vGVo" +
"ctxOFiHV8zhdW5pYgp66GH3kGoHgtOTsB34toCNssKUNu25zAsgVG7sbwcADPwHJcwB3KGx" +
"3uC$eS2BInPZuu4#Jf8ukmKFwOjhXWVQjDfqddHpYAog6mH$HeKH2zr3QiSGagQDBy93kx1" +
"mQQFTz0lCUqA5v5FAL3yFWbt0maMZRmRHZYKbIHvVW8Rq$St2WFOyAZ6TJieOQnBzRW67mO" +
"xWyaT1TddOiCKdgw18yf3TEBHzexxtIUTB98NwMXc7mGtWJaT2zYNOiCKdgw18yfBTdtHHe" +
"x#tIUTB98JuUCGo#3myd4hg7quub9aaTNOA7zEMommFj7gZEaquEyV68OV1hU2YHq3sKTYm" +
"nIUhe4bgTXxBCJTPGW$RZSY8a4hhxoNo8nrCeubXQI8sN4geqXOJhoXfg49tlYP18M3XGvA" +
"$BKyiISIwMvX9Ji2vUsxBAbWNHigg66hGlbnKXaT3Vb#TG7SzGAE9OMaWz8oLKQGeDrvKrr" +
"A3zkRG8YOI5$ML#odOipVafM9U6nweZot9fXN0So448j0AHq5s1yY4Sbx2w0eKaWUMwHBW2" +
"ozna3JM8$rzPXaH2TpcUymJx5Efx0c9bLKa$mINCEfTBf9zmZrHbUUGTZt9#VpOmE8w9Rrl" +
"vkq2mWCq$w$EHZsMflxrDHspv$rjKI8vj9f9uQncIY3zNY#ua8YMCepjjvfIqJSAk8yjowG" +
"ukTmUHqBg3TekzMDecOTUHPRd4xqz5jnC9hTjfjzYBfMqITXrPbalytuNHRKH2wpRQBVPYQ" +
"Pk4NKUMvH9$Mt9qAv7GkfLsYxrOsYPXrv5bUHJoVoU4Tn6H5iQIDpSbRPEmwyYoNEBZFRoJ" +
"I6ZTIRl5NYnjax3hoB8yYcv1kUWM8jB2MFBcfgHj4dOTMPPB$1b#T3EHqBgPTekzMDecOTU" +
"HPRd4prwZcuY4rasqM#p5qZO9kuuiooL#LogwaKXetKYxnLuiRPEmwyYoNE9tgA8RY8JM3R" +
"HRxCNIDWcxZYpBev3tRNWp4MbX75hxN4dR9EmwiYoNZk1oHn09hIDejzYBfMqITXrPbaVH2" +
"9IBHX2H5iQIDpSbRPEmwyYoNEBFUg9JY8JMARHRxCNI61fFKk9I#tCtMKCswVNathMq$iuX" +
"#1ypd$JOdm3M$9q3MzPxzj#4XAks3CdkR5c$UoaaYQrKcvJQAYGLahP3mjcM8TazcV6F8M5" +
"iwzP0qdvwfq9I8QcGL4Wg9C7BmSlfkisyF2HI6cqbhDb$EuMoubTxQNpI1bcpKOjQodnQN0" +
"xVCBQzQBzDvPbky5Bm4ajjPbvk#xsaR0bU$hueZK#ylIkZ$TQ6zaCR6qfhDYhRVj79A1MTJ" +
"4Gw6CEk$$QCgHAIbho#fNFqibmwaSkTI2IqJgJTOY#MjadOTMHPBXtBvOub4bh7qcwn5qlR" +
"9EmwiYoN#5E2w7WYeNKyxHPxiJI6sfgXbMPSXH#VHtez$xLrj49I8Vdl8Odu5qoZwuX81sF" +
"ORKU6M5ho#fREqSjowIGkTnAHq3g9TekzMDecOTUHPRbq0fSxWKXedK2xnLuiRPEmwyYoN3" +
"g6onr39BIEeTrYBvQsITXrP5ak7SVbZYCIMiVHRh4NIzia82Vpdr#oXcmgy4yr$iipJ$sAg" +
"jn$NPdte$UpzujuYpEXkfv28fKdUT3vLRt5MKdh4aBkjsIELlQzh26RT7d$Sj0f$5i7Rxfu" +
"H$EwzbyOUD#gNnYu7oVAlYdm2mF#Z3MwYqYqn5sqntQ6n6qKIviIUgbzapLaKyZ$3HWs4P4" +
"Mnf8tDoLjax3hoB9SejzDhKiajDQbtM8lbhP9s7LaMIwjnUNM8X9QQz5kiHTBsoJiEh8ib#" +
"WDAUiG2QrrQBVOYwLj4dOTMPP7qUKe5rrEH5eOIzxSbBHDmguZotA9VnCYEer8Q9r6kyLUB" +
"6sJiEl8ibpY$$gCJYKIMgVIRh4NIziax3goB8$2zL0kN8#8j32MlBafQPk4NKUMvH9VjS8X" +
"H49h2EqMUx6qJSAk8yjoQKqkjoQHq5gJTekzMDecOTUHPRcqDfTRcqXehKsxnLuiZQ5vdqQ" +
"MsizsPGtPfDVp3pvVILgka5H8AYGLaWf9XQH2KY6faFpBaRYBkKkuoxZB$VD8sa#RL4Wg91" +
"MI2ac5f49I8QcGL4Wg91MI2ac5f49I8QcGL4Wg91MI2ac5f49I8QcGL4Wg91MI2ac5f49I8" +
"QcGL4Wg91MI2ac5f49I8QcG$7z1KlqMj49I8Sb4mlzJxL$AM72gznFfu7$MtTDixvneoxVY" +
"QqXEII2nR6twVlxzKGp3Q7$YPSfcJahR9UmwiYoN#BT4C8psYyHtHIXbjIUaxH9s7LcMI$o" +
"h7HX6#qRY2nwKijeJqdO9kuuiooN#nISCetqYyQqeIbdj2McxX5r7bkKIV$S5Xj7UaNWF1g" +
"MizeIqNSAk8yjoQIykjnVknCkKrPwGjalOTMHP7eNyJVOOXhU4ugtsbBBPaz9s2RkEBCib$" +
"fKI3CCZG$754afPxGbfkuHTHvRbKRGdoc4OxKcyJDdiIMcxX5r7bkNI7bnk3zo9bochFI5D" +
"4ib$YbDfnjlDziWZlPxSzoBnRyvX61qGYU$FKShwNYGXBIIIFgLozB9SUehBFSK6QbfFqMw" +
"n9wJj4dOTMPPB$8taaV5USao9dCHN$AGqKQesCsSOaqVFJTbMKYURmdV3Ts4My53RnDURgO" +
"np7uOVob1iMs2QT4NPkyAEU2#ZYJFMtH4vu3Uqjvx4ucphR4yMasJQ8sjMcXPEWt8UQlQdg" +
"PZuy9lm6nbgSj#GhYYRbhHZoafTv4mxPjsYncbPPDeZQrQQ6aw5SXvgzgUgcFZmw$1h6Mfo" +
"NvEkA9kQj6FAIbtaJ3jctQB6gLbasYDhLleg$0hAUQZP$qh5n8TVXb$AK9FxadH5sLT9EwQ" +
"ir4NEj6FMBMhyAejCUsJDIb#4Nq0v3pNxNwYO#71AE4M6cjmKqXLbNoJjcB9I5pdJZbctgF" +
"6BB3BjaJKhVHP#1kKyrEn$fcBYmydXP1bgSfD9LvHzbhHZoafTv4mxPjsYni#ooBH7rgmqA" +
"SJlf$DGipz9nSI7xuJlo53RffEkA9kKj6FOZ7MHIzWnwXOrJieYqnvVJz#nqWVX1o37Gyt#" +
"1oecFdm$V5#6cjpxf2lAFaZQCMMbBdAc7RDkKUC7MMJQ8sjM#YZy2CfvgDd$ICN4X##5xyb" +
"GswQJhYZxA6d7i1dh8fUmOzGjQlmeYqnxlD$UizAduQSWnqFD$gSg9Zxy9Fn4XfhS9wGhoZ" +
"vDsZ5bfIvofXspRb7ZfrbasYDhLleu$1ZAUQZP$rZ5n8TrOPqCDRawqXLb7oVjcB9I5pdJZ" +
"bctgF7ZB3BjaJKh#Q4FvJpKxFig9ZxqGa#6cfn7kgBCJzenPQKkSgOTisvHevz5fZsoPYKt" +
"X7Dv2ZNxhehD4WiMLqaRTag#Uv8sRo5fWwpPAE9V4wLGldiIKz4ppB99QI9xgNsJEZM8VuS" +
"s6czeZK$cS9phojneF56gjl7UuPb8nkVIqrpkQKFhQTgzr9lNf3IHlJG3oTEv9A$QTAq2Ls" +
"rqvMOhpK2IVzN6l$CQ6T#3nLGqpcfFI1FPIpEGZCkb9xdSauRMayaSlGH38djf1f8dSub$R" +
"pOolZgBgUW9gpqXJMGlpK3oH2wDvN9Z3QsnoHoz14CYUsa6ah6vz3YNUzpGUZoPevTWI6Gl" +
"pK3oU2wDuN9Z3AqnoHoz14CYUsa6aZ6vD9hBZJQqHYTpz18CYUob6KX6vr5uASfHA3TCcJb" +
"w2OP4zbBx9dMoANgE8txEmF#SoecMqMCfJMHAyDACDq67tqkTR2ho9kZm#$1x$YRep3TEKs" +
"qsac#2pgt7yxjXdi#$H#7zchmJHfltDfUv9ax$1lkhzAp9FyaVuTDtDOQnG$5DqEvPx6Ysb" +
"VUdXzTwYQzXWtnlNa#yUTzfXRdFcZowJxO5s3b1wqDr$IFlX3NmrFuWDrPx8hOZHt0gEq9$" +
"8kQ$bVD4x0hOZsNMEw6#0vQip#Qyo5VrNidsbEsLtW39SI2VsLvwVq4QxB33MNsnzcBnEw2" +
"3CtpwKcL7rebrLaZyHmqaBFyfeVyAx1C4$vW$sX$ZFvwF91HlsFTV3gyBjRVj2pvnfaov91" +
"cctisVpj7BSkbQwMvuRSoZ9l31KIbxrrA8iIwjbsOWkJQNHiQo8nMFAQkzaKeoBM7NKTPpA" +
"9xRuJMAnvJLtZLACYrXrr7MS#ZgMFPgnMFAQkzg9PcMiEiewpbqLInxbU8nPRLtbP9CIzXr" +
"bFKSkZAMlLBncBBQkr99fYNiEifw3bqHorwXU4nPxLsX9DCITXrbFOVYjvQ7boiUKrPxbol" +
"9j8HTHrdFeVZB1k7rYiUKrTxrIZAy7fyIUai69vYb6U#JlZwFz7hodX8cQnPQMFCVxAyIlw" +
"59dPsK#3LFykm4Vt#MUNQIQictmhTac4P1PThPIQO5H85S#1QXmBCJ7OKtYzVNq7epV5E6Y" +
"UqxPsigyqyWYqa2wxrqNUHCEtxctPhmZV0D6IRynNfvcRIO9Dq2z$SD9FivOShVjyEtPMZn" +
"bvUHxJI1lq$hkiWfEybdv28t$tTSKA#EBar5HZ$L7Bx8yDdTYn0RDVDVb0t6NDnhRQJBzRO" +
"eDkz4pI#7BylGKZClWzHkpkxEdbY7ehXchajSgPedS9ydG6ohUGANuDQJ5DVCTSlw73oIrS" +
"zKSrn2Fa$GIPOf6yumP#TYgrpogYQZvcd18scYgng#xIjd2zVDN#MirrACVhDesxRGU5KhN" +
"4ibdk$ptyY5huMlYN17aQ$z4edAhBN8xGgkUm3$LS5hs9OfYOtP9ibQ4rlshskceVKaGJx#" +
"WWokfS9NGxYEeJ2zKHddNWbVaQ7OZf8oG5Jsge4#ySqcfHk#OlNIZlxLD5dbNh7Gn70YrCP" +
"3YsyJQOVmzV1r6IPbWAXiOYtCf1ky4BmGlfwK2rv8IWSF2SmJqoIbqPRWfw7r9A6DuDdWMP" +
"fzXldfUjre8tY0h5b9$8O6RGb#Ml2GXHu0cV71#9pwk8tWGNnoHnPJ9ExMeot1JmDyQNeGP" +
"9u9dicfZzi8Hl7wnbj9F9L0MuAV5ZneeL4WytJmT4vzt4RmAA$l6Ik9E$veI$3JWb4MWglz" +
"uBdWkNHzhlRLBR8HFCphUzfAuduOsXByjE1H2pqCCXE22UdwWWaQBsou0zr1P3554wGMMUF" +
"rFPmcBlDYO3bYwtdI1bcpqejIosxDiFnyyBmjLw#RR90rApslRDci6POd1fQLHS#JDiYQbI" +
"OgMpPhXkLt0ijl8lGyQOEiMUaTPSjcpR3yTf0#qsHwdhH1rgpqjh9bisPOVYjuovQRHaJMh" +
"FIMicMpPbX#CqXVEJ0zJzeWQrPwKzcoMJCiln6yOSjD8o9hLdf3sR9PCoo$7gIEQ9YRHaJM" +
"hFIwicMpPbX#BR2SwUXvqWPPiz9hofRDcc7vrS1oBg3dIHjapKglAbisQuRbLu9NRBbfH6J" +
"DIgyeMpPhrYtpkOEqGTPibFVS8NcDMQJMR1bllFSIXECArTfgoA3MDtYjjMNU$IUG#OFoaV" +
"bB$YF8bYk0REr$1Ddm0iZERXwoO5mmhXQoQ1Bk52Q1GgqNOQt1E9UVcQEjO5nAvdgK8UreK" +
"l14KEFPFj#qUoXaCKLF42AqLSiQIgKfU3mmdwJhzJrXfIU39qtBqWBQ2ceyb#SoOuEn40eB" +
"Q2jfpK3mk9N6AbkSrpMUjDAO8FifFTSEdWgUaXQJ92oFaN6MjU0f6PErcfkEUOoDt7dT#PL" +
"b6qNftnisHEBNTjhpr0PPY7csPuVQCzRjhSyJhNT8B4ynRNdYVnSmGl5$5vc$xgNDswLskP" +
"nt8ZJF6BVGSwAtjLBjlWpbKYc4C0CSUGTdmvJ5k4uhlPsYr1bwD35wEUP4QHJVdOjU1fgeI" +
"aq9AbNIIYkZPIOcITWmAFWkgHTy5tmRSw9KvY07z9qgDIMeL4ahBJj6j66Ii65Gz5BAjvUY" +
"2J4dIgFuoZIQ0FIIAZKbg3IQm19REaVLO9AmOL2G#izBC2tu9kP4QH3$uoNu1cYQAZKbg5H" +
"9AoqxHhHXah1XK9IwWelUYTwFELbgh0#KIwLIGgqFa5FuNybemoJR#X2EI2asX2ShF3QCpL" +
"h3h5knDInANKb5RqGVnfmiRT3idaQvL2ebj7PyeqGxlf4aAyRKrMNqPlIYuaMitIE9NgHSa" +
"7ipAG5bB#hwIYS3uvj94ZPCIjthZ5w8dbUyYBNxAj7pb0joBoGbeEnvNL$fP61y8Kd2Xa7X" +
"hKczyDRmACMBMFlzINWKvOBShKa9A3jArrSwTenemoHXmw0eTUSYUYlwIF62CSVZMqBkBIM" +
"XZSUytrQPTIN8EXxVJIasHF5$FzBp6lDczBmEqy#h6yAJsXT6Xe##NEOndzMn3goUTGGydL" +
"XdgAShv7HdFTXCR6QGwSLwiqOs2vkLpSRwWCmSh2#R4tBcPlEmUTbyR7xMZ$Ld2x01R21O6" +
"SGMOWj3pg9iCROuMu8joPPYIxDbsB9iEROyMu4DPYkobTZAR1MsAbkDhSxMO6kojTZQR1ts" +
"F7k1hGTuXi8PuGPmplGgrBK9dDjj1cTOMy0vrZ2uqjgQRSEsPTl1cTyER4Us4zkPxS9sPRk" +
"nuMntjWVR4z0EINXK1#aEu547xj5UR6#s3tZ403$nVO1hv1xD1HxzZrt8Bc8NQnxr4nujma" +
"w7SrJY6pcVxz4G8IyzGapbFUfeUkJKiGK1GLT8QHuvFJIFi5#aHuJW2ysZBmoF5XHQHJqYQ" +
"UaHQhNO8#xLuk1H8$S8nq4Tz947wGRONqruv4BP8CYtUQJwxrAG6538emMvjlIeOxD6NTAZ" +
"UjWROe$ag1ibF6hCzMY0qKSZmLu$hbdSeo6nH$tOxCtmo4zvj2xaTeLStIF4D8erSOz#rEP" +
"H8$T67tNFIe#S3l6S6W1IWmfuX7NhVJIDVTiCZ#eI7k4uKnwDWd7MA3p2LR4ZUDG1SdMFEe" +
"0NogFUSHzXRZysdVVFbOKy6WGUeHV28wURqxqP7gdLcyyXuMDNq6pWgtSlFezwyr4dPqOZp" +
"0o7NSurhm9DDUhgm4RHrVjHzXWR3NBIwZYmMW#qGDn76$5V3vJpY4RLlcm$jZyxW1t83c87" +
"iqFOeUmmTZWxWXt9Zc97isFOiUousCueyEmKzZ7xXC#J8K1Jy1SOi4RMiwzZTCy2kilOvR1" +
"6NWa#Nysk0Q#lPTUnwzaDx4Ps4xkPtS9kPRUnszaTx4vs5xkRtSFkPVUn#z6ouxE7sCFi4J" +
"R5MGpQQ0pqsjS2QHrxkWJc1cSMPrPdDcWZ3p3ZKGanBm186pdc$k3DDp7cteGPoifYfcCmO" +
"SOsGiogvSjXheinrmFc1a18cB752NEZXjaJc9$zPp6BUI4nrnDc$AqE$tNEJ0RcHe5vI8ov" +
"Ns7CEESKPi$0t5WICxOesiEnCGL2nDm1HjeY7FDU1cP7OAuhtSvuPF04PWyyJSxhCfXzZfb" +
"Q0J6FuPWR#Un0pBY#DjR0FAWPxOohbOcmN3iZmleOioV6C#dZU5w37xCbvkcfyLnqR8mnC2" +
"TRkHnc7ux$7JNC$EpJMSLPrLcDjtEZ5NF76FFOWfZnZCGHcEjIcEjBOUwdZMZ4F8MtyrWOV" +
"r#ByQnZ7YamJumnUmKnOyjaOoxNpltu4R0XnapZsOVLf8EbdLyHc6UACTSNn3mDZhVV2Spz" +
"KvWNB8KPvvWybpa5rh1NnHnybOuf$9obFeMv$1oS1hWaPWTQ2jVNUdxUGMljqwahI3pptPf" +
"VGVO4NBsXJda5ERkuWkodNK7IMl4id5MHxuY$$1Ka#huUd8tYEGZX#jvwPJjIuF81LuSKBl" +
"tArW4VqCv0VgQq5rz$okF2iqE9gtZV$WXOH$8HZkCHEUhRhTdVl6yxy3C7sRVrec$7bExR1" +
"G6Td4F5qMtDppM727G$GeZe#W4toe9E76NXt5#YUxOeEgU#6UZgW6Wc8pfN74$xEGi3H#WQ" +
"BMqtRunkL45qTO2khXdew0gZ0Thh53wR#D4UqDLpT0vWKxDsb41NNnfTF#ZRyctN8DR18Rp" +
"jne8czMnzlAReFJknsUUfFZy7BjzszQ3N87fshBWNCmR6KqU1hh4ckg975bexohTTFKZBzN" +
"XiV1wdrcESpqbq3QNRRbwmCxuqEaIr5#$RCHmT7It6GwtKTlN6bMBpUxQHhrRbUnR7$RhGy" +
"eXka3Xl7mzaGzVOR7GUNrVBeni9ckkAzMuiN5tGkUHuI2EwHQpZpYjz5ZOIZa6Z13e6AJgE" +
"RPywZZq3nx7d#75iNIZf3INoEEQ9uzXuupWsFZwEEGpNBByPnx6H$3ZcyECOWxM5i8rCOSC" +
"xAlqvDipLZ$rr0jiG3Tiei81tZWO2HkhZaSt0LiUnZHVOv7d9UEjv2Ht$HoNQJM9RLyFs3F" +
"3FmIWPoE$10JQdKpEmVS2nrGbiumMskQtOF85j563x8CPsfHNRCu3jES3M5#oCuTUEvR7rv" +
"TW#IBIROyKsjnMRlTqaDj5kpJflwc#qMtrDR8qAcxD4GMnr0bjpsistOliy3vjbBjYnVIwm" +
"rJK3csV5vjV0LfUO2mqMRADW7Y2cWVmAkg55yzH9ZBS6ApPQG#PEO5lNWkq3WMaWp8DwmDM" +
"yUJeIxAm7ApLXypBNj$fu3HbP05kl69jij#RqATQlscr8Phkz0jZgH9$M0RQnAMpr6hP6E5" +
"9Xt#CynVWxi5GUMo#eHM7pCh5XkpLOZrb313RFE6Ov0XlwvFEMQyvu#wuGjXxnseld7tgxs" +
"R3LyNRp#HhYyUSXOvg5pTVcgPSvJ$6QTOpeKzzOG#InVYyDsnWkrOjZmxFDkkQj8KvFmDPH" +
"O1kGsMuUxnl2rXEm#QdrpTUmDS2P48v$UPtVqApp4BhEJwnlpZ8fR2FZkO3NJZgspW9RdO6" +
"DQ22Rpd7XkNnfRFn9pdfG6s9BFr#d9sbTePnQ3U$4zEAhgiVtFdnLbS#S$WRvNiwouWaDjj" +
"g2yJCdyynrLA7dWi#2bLv0s7vr$EaGdhasM9$GsB5xeiTn5d$BHndYxidtFh3NnTZ9okC2U" +
"qy3Uq#GUP6zn2Qmbu7lMGXxKaQUQHV3ZlTwUegPHEtU0DXxyYCiSdtuB97OwqLPVhiNUnvR" +
"1rPmr6ExD$2QiDr$AeWTHgA3pv9zCPfnXFG2YurEB#v77xvcsDlTnDwGG5y4kyJrXHWrTU9" +
"wfp1sID6OmTNLWtMLOsVqoum#$3wYn4vZKhQxr#9sbxWG#Ilykg$SUFTmhZep2UmTERu5#3" +
"njuEtUe8sP1Yujs$tx6jX$AeIzeuOTaT1zAxyWzZf#xq6DcJe#fd6kZXNj$WgGnExfsC7VR" +
"EnU8UpruBydnhlFptiHUyU2s7#2iACsPdm#Pkfuk#EH3OzwElOwhTthMxn6rlFhGlbSg46q" +
"krCG#rvgZOmYDbC46#i5UsF4DzQ7Xm9x93R23d4cTYWhW3ss1zW51zWXB8HTQ7I5NSDElyA" +
"nOIU$RDWXDIVvnSDYSpKX4$lIBEpChusTfpAmopwfiF#tiAlnhkOgfEGw8pIiSxKnqZRGgD" +
"gzXUrUR8sC4bk5lS9U33khQpbsEDkmOUV8URbnBHhFr9bPJuXxmsuyT#OQwbhKPhdqjIYtQ" +
"JmFRockPC$pqWfN6#DYdeQhrUS6xF8ubaJI$BbHrv9v7V7pPOwkCFPKAnV1Rg2BDIli$mZs" +
"bXyBvFyVceEzyFyVsk0u5XM#FcnPktEvlvEQROETkPXobip6JiTWFkAA$qjZuGJoLZe60zU" +
"cns3OctLCiU5Azr$pZtKLhWfNXQl2LU6gS5MuAbmLhWfNXQl2LU6gS5MuAbmLhWfNXOlDpC" +
"igN1Mk2bU5gy9LuQfmLRWgN1Mk2bU5gy9LuQfm$Ojm9Vz7MWmN3ojS5Qus6lV$GLnE5CdV8" +
"0AN#0rY$Dj4$ivUKPByZnhFp$eD8ltdHMZc$mPHeC5nPVWunFxxoIpiW0PRTG1FjVYtdxoT" +
"yh5RtxVBzKjX5oEYnTZ5RpzRXBsvl$qiCfR$YTz#$aDphC9LuQfmLRWgN1Mk2bU5gy9LuMh" +
"Fk6fSbuZK3Fe$7SWatj4Iwzgk7XAu#VyDwJgMlwCbYPjTLk7#j#1EQ7WrSHT$8$42cirJah" +
"MaaSNvLy9#DRi6mc9l92wCoAXT86Alm$ucUukzpTvXxwPHLeWgH1MYyeZOyUm4TY8xYPtCH" +
"e3rKzbfY8YTgH2rnf4ISlvVhjp$3jmytQ8ZJkejSXbtUw4aFLRuM#HOZuY$HKwyxKsyTHFu" +
"In6$WKjyHuxprEOj6CtnT#JmtIUbluoNzaWTBT6ZP6$OZvQLH$yjZwAevHv5aVx6ZCgZogF" +
"$iaVSMeizKaUTB8ziMtloYFsKwYENhWCX9#6HWwKpYRpUqXkdb$A8FzbkaKTWRyNMxQDQ7d" +
"4#vP7UHwtXKMkFEWFdFp3gAe$#0nwrw7eFuZFPMUnipft7pcSNn6$5Rz6LhPQZdU$3VZdFk" +
"ug79QzikGx$QdHi#oisZaqjXvIz3$k7X9HzoYQnoUmp4x7JC#L3Cv0AMyixAxHMIsPlC$Qk" +
"HOMeEABiqTyCH8xuPdfylSF6QJNzVroxjDKuYluLgt7bKULHvL7bKJltABPMULHvL7bKULH" +
"vL7bKUTHg7cdMAeygZogFAe$#fHuPrYgFAeygZogFAeygZogFAeygZogFAeygZogFAeygZo" +
"gFseL7uWrCAOzOTyZhGNdA8$cl9lIIpQtz0Zhb4UVwQoZB$CkcXHxP##Z$jqU0lHaUwIEny" +
"gZogFAeygZogFAeygZog8X7KLHvr7OU2Hijl9f8UrJiQeBBmzL4mbRbKULHvL7bqR$A8xfp" +
"ebavfSKU$UF$DDJjibEoxCOUNoBYA#8SKQFJEVrlBBKvVPpPdJcSliwSpbpEtCuyphmWzHN" +
"iKvq5d07EG6T1Pv2pK1IL$JTMmi$Fi$gNHWqFnQXXVz6RL3YVyIOLzCOPhFeNh9RjN$nFhC" +
"SzUO8zwIpDda8Kh0VFwPuUgQmNwuCvzCO#koVwMOQXc$$ExfQCrDWJeqxU9pPFz7Edx3wfF" +
"6cf9sNNmSHRv9FhO0zDCkVkSnGbT5lYoRzc3SstAzgl1KSSBStNqDP6sbPsM$Vev7IkTNIo" +
"7N5eCuyucUERjq3PdgfrB6MVvnrBjTh$QeiZE9$xbz2H46irrmsZ$aPrBDLo7s0FyfX$eOF" +
"cVilHyhcVUxwH$QsCJ1y0RSjQaJd5puDg8Z7QgwMu$ltj9MJ$zUrbdwNDRQyALuMhmbNXgd" +
"1Lk2fS5QuALuNhlukBUNIrAxv7gUvNY$UiwtUw8kqzwr4at$kjhdRPmEpxVMM$D35ZxdGPD" +
"T9J2kDkj#1ITxjvxjMbU$2XjXnNTBSYUPSJydxWOOsdFOuh9Fkp1PoEKQlToN4MiQ74KSRl" +
"wqF$nINuYuBV4ILS6#DzVHgDgJVOiHxiAdh7FDUgSLVPSj$LU7yZv8uhEifqEVRxZBdlMcO" +
"j#Q#ETpwIuYyzyVm66k$gIqyYFtvlBwvWZYkVKT1uJuyaPyse6LzwSkJtON6qP8mahNL#Rw" +
"T7cNOqNgiQclcsEFEPRLlEmiUpnXbxaRt49h2NCyRPUoB#gBssP94QQFNXpmZgSVLHtvd3z" +
"SVsdJcWEIBz6z$6T#Rmooc2orbzGCBsnHVvdRbswN4KjQ77sXV$ahYYp2$#6ICIlvnj#M9E" +
"FYuXPywvDkm9FkTgzWHvp5xBzfWVFPlvZSDOBZuFus7hzaGplc5kysL6p0aH$qFhJF4sRKb" +
"V$$lQjAgXxKTUjSfKFL7rHDKJxRCdfCSjwOaPxd5bkR9SMVv$QncVjv1bVXnGrtJTwNpE$h" +
"mbojZQoVCMTTn1dnh45zLIzs3bCuXQNXbtz#lAtuEbtskJFzH2FCJd2$WCeEOzsLWtyxVU1" +
"b9x2xMFttgRlrvFVK5P#tvfepXoMh#WpFg9$tSEZ7#Jl8Z#$nN#b2M$Jr9enFzN99eXylyh" +
"jR$dJByFZUZxmlnRMlHzOVrRMir1OxQDriC5qTZRfhbepBQ9egfjMgzjsXUQEASPNybk$Pw" +
"gqFmdqBJsVrNQrbwf9zlo3ZoSQTLubiskn1cFtxwBMor#igrVGREESQwwdgGPtplnRqJZJ2" +
"Rv386zmNFpdsvy6TcVnillAs$4DWOF$kHv0GjPv337EhQSBcN6bZEVVMob$2ZpfWRmGxmP3" +
"9#5qFcWN7kxsth2ziiYpTx0PBkgNtCKmKNjYZsXsfNhYhO3FDgyP5yMQRjaJzZcfTD5v1Hg" +
"EsU#LfrD$ozivSyv4VCvL#pNAd9S5Rc7aq93CroVSvPdWcgKy$YDJ3JcCy4lqnB9aGwvoN7" +
"LActVhgoqmj4mbXgOpD7APipHiBtOe3Vsr6XL$Wl1Hh4QfrhLU5z0Hglo$q7djsekabhzcx" +
"Y#RLd$6aZ4cmswuZi5x4ZedGArHvhwFsSf97Id6dkWNkZW6fDQvH9s##R$toxt7abcRnYht" +
"8oORUrdXAQEERpchgBczAy6#UzI0GkTBQJk7$7xI$pELMvlf7wN6jUXzqRUUIZDZTv5Vx#g" +
"jK#pdckayBLylMgv1UDfLv4#v6DB$lBJUbGls8UMin1B6p6UGsV17R0V4xClrJTHwYmOV#c" +
"ZbMfZtlnr7Nkjm9ZFmGFxppprMpQU15eyAy$uodZpyDZkgEZleqdZIQu9TEzBfCMzhu9h0k" +
"1XVzJeBzjlmmmyoHcdNH6aHampsuVkstQ5LOZVnULjGckIk8lBVnk6QsQZtb$ykCQlKCICw" +
"ST$6oR$ELxiBgwORw1Rh#bsPR$oKJyJ6yBJgIDOp6NVvSw$Diuu2fQPRydHc#w$L6arlZF6" +
"jx0oC5vvyNgVVWFQZF7D5ipghvILU7p7xJF4xA#OVotHbyrU7s5y5smVhRPsrZv9FDW#yco" +
"YVFkKmPDidomyKLJXgV1KU5e7Zz1hsTLQeUDfucs1oVDNyutDLZpYdBirpb$LK#qEoQVQY4" +
"VxFrzZhVOfU3wKTtu$fBsrZyLsHllKmYFA2k3XrsFqLaTR#zHuWs3SFl6lGLe3J#tsWL63P" +
"pR6$sUrUn36zqhiU7IqnUw6DBUdH5vhzLGhdpDNI2ea5P8AIOMaGb8XgP3yaqYIJma8YVsv" +
"MxdVJES#9R3#pe6V4#jtBUr8Sd$dy6z2mZLRX0JEl4iYIOsQ4crIRgkGL4ZQ3WddMeGa$Ps" +
"4Vmf95EbN#yr7qdvwfq9I8QcGL4Wg9FA$TObSyz#EUMUFcU$zi$zsYfTermicldA$cohRKe" +
"dVDvN2nvyMqpclEjDja$QJlozAuvE$BxAt7tkFsezzr9hjL#FUl8OljjPEhpWh96aaQitGa" +
"So8g$0Khl$dwsY5f4BotqDI7Hag93CUIOr$VkKZAVXUPVKDqB9lSHQ$9TM#T9VlFNj3#wzh" +
"3U$Pbzdzm7ufTuHskXP15alFJyZO3tPapb8AcUCbobPldH7YB5gaZThNMAsGL4Wg91MI2ad" +
"hFpdMaVnprwoSQnTN01MI2ac5f49I8QcGL4Wg91MI2ac5f49I8QcGL4Wg91MI2ac5f49I8Q" +
"cGL4Wg91MI2ac5f49I8QcGL4Wg91MI2ac5f49I8QcGL4Wg91MI2ac5f49I8QcGL4Wg91MI2" +
"ac5f49I8QcG$7D8v7y7evhVJOojpO1$CQQHMErLI2ea5P8AIOLa1Y7vv$uftlwEKSalOFsJ" +
"FMb3ade3UOdl7IU#vfwF9F6jOw4htjceld#KbkDVyHFV51RVhHNlR3I$#nhBYoyFiVT83j$" +
"BQ6szWk#yp9ThlczIBkrR1kR#sU$zh7ohVAjygtohVAjygtohVAjyoq9H6tFPTqyAhLCAOD" +
"REnkMx9ujS5#IVZIVAMdXTOEJ#a8ya#Ux9raAYtZqPbxIBDgcGL4Wg91MIVmiI#Is2v7Uv5" +
"HBzkznPRu9c0meWAV0cQ7wtxghaSJZbzGviHxOJsvdjmdPbkx7XR7Us1zipac#2BlN6QVQ6" +
"lQvakx4lLRjHFJoNryL#ONtudR0Qz$7O6ohjT2tJW$Wcw8ZkXFsYwR6OCxvGmbw3lPlsfkl" +
"tU8qpyo#K51vdx6VOVsM$9MMuhUMWp3hEdBLKUpczdSPQ8zxf5zLwuxZMNx13VpahYVugEE" +
"AvhFpQF8qBrIRZT2IoJR9wZiVlm$wXu3zbazXazbbn9EoFnDVKEHB7ZuojxUy5Gvqhfv4uG" +
"rBsPW2IABArIOMaGb8X#NSZ#UU#WPIiMMZXKGhFEmh$XYPznb3yrpp9inDUSytlOHWrQtS#" +
"B2ZeRaryTcArmEzyy2#hqHCoGW5d9pOKjdeJzl3PAjNxIzPT7VP4LFCkaJDp9jfCVrMziDU" +
"wcsJrbvUqqD$iUclvctn6Bd9pVySbxp1ntdw7gT3eJxMgLZF$HLdlilVFYiwxuZNN#eRU$x" +
"UQpTKcNNDSKglc#6l0V0GNM#MIp$UjDMUC9CiL54$bhdAPruUmobd7qUCQR$wgm7Y#ZrSrU" +
"X$ILGtmslFz$77BVkRtj7$ZrrBMUzMsMitDoQmXSpKGrrBPQug9FYtdY56ITKSUhwKCMmNl" +
"o1T1Nqok#Rxfc8i$RK0xbg#VzaX9rzN0dFuAQAQSm5sZFbgVGIxx2K1LNrLVehwerXEZWlN" +
"najoluZQdlkojgg#ghwglgk$VKbziDVjBb$dr5NpkKARMR1ds17iImgSAFLLfDMIorWfPXI" +
"mFcJW7oaJ67DZf6Zarr#DQ#JM1VGx7ClpgXmsmhnc6Hluzb0NeIZLlpR0$WKmYA51V2dFvL" +
"RAMHX6FJUtcO4xM9t3LkYkNwsMfTiZ7d2$1KbORP9vwdghzCm7oR7VOjMUi0uj$IzbsNplx" +
"2Jfp#FnAtKLCrDMhTZb8Y9d3GyD$VeV4y3NcjJiaYVlwU2TRkozZVyAGCNFIliwW$iXecMB" +
"zKM6iC5OOsnHZ5BKlZ55KOQmmLXZ$VsBqFpg1uVRqtn0SnzZhDy9#DsDlxGpxxR0$03kKlT" +
"q1zWrW7yQOipvZ7RvbhDDhe3CVOvtdOio5iixxCdOgd3Uwft6JxDGROF#AiTCMXlqWs1#67" +
"MpvFHWxVJNOJuNz9SREWFGPcyD#1UoVC7Rc$B3l2JlWUFGPY7zYR67GzHp6wkU1#a#66EgQ" +
"7#95F8XVOQpVxB3l3lieaDiQOZX$stGSOuzrWlGOa7yVy8q67lIxG3zudqEy9M3f3tYXVlz" +
"voDi3ziV1vhQCBVCeOuTU0$b$C7R2YH07u11WOgz3$ODXXtQQ1MpMhSdO2Xj13BApBWVvIp" +
"BM$Lv8FmlfIs3$cR7beAsMNnVAdcQivtuGNyNOR9j0lHU2BjIp2EXtQ88O$5qQshV3fL3M5" +
"MAGSm#3FEY37jqW$HvZW#S5VX$8NmZY5ncRQG3iq8uE#Dnp0k1$2j9J0EV#87iMOpEl3hwF" +
"01vmp7mjv4FVp1o2BFZOyp76#a3Vz5eGyi7$NhE2xFdWExJ7ebqWXdeEFHVsjnWxR0xOTu4" +
"TniHXFp1sEFXw#F6mWvz70DOZDWFzqm5NJ$0D$Ey5k7kz2VO1T#ybO0UxlRzZh74eOntdXh" +
"8le4t1PczelxhUZ9q2VU93dtQ4CTZb9l3rEeYXtptmjokCbOxGTbtFWnZ6NDUF66jO6UHN0" +
"Rzl0HvyxmZuJuH#Re2nsN04xDypTXBKvRyAunJ6o4aNmVuXr7Szs7u7ycPXx6GOP$NB0xyK" +
"yE3hoT3EZT0KzIS13#Eq7iPU9v0P0HWxGNzrWlxqxe7uQx0FDfsR6JjhPk1X73ahWH#0PLD" +
"eewC#OspOMf2U237qwN7WrrPGNuTje1pwQBEbOLw0tIiMPMmFw9ih3W4Pc4TNm5WOyGJ4q3" +
"$7JsVioZKOE#PYYA5T3u5sll9bnbuyaB6heCxdVeGOwdqC$BqAnibZEy4Eu$inc0jNJM9iz" +
"436heQnFHfmZORnTFNU4Dy1CVJDc3ge5zfWssDXdmnvlq3UR8nTimB41yCEOsGhM1Oy61#h" +
"FGHZ57mz2#hg17DXTPph87CDzBqF$RuTh27NZ0UVOFoV0lXMW7PS2UPGPvYF3B2k3jXNWF5" +
"p5c3i36lAwZ1swc4yR7SdOzlF17u2bZMW$qP2$tU6VGtevwsWVRU6zZvbGyRMX77U4MGwGv" +
"rhGbki2MtJ4SPQPnZBQy5yxm8OEWEkjQ2VruQ#70dha0$zF1BcrXXeXxMXlzVf33kqyJemR" +
"dnORxf0#mrP6tReotLXp9y5Sbq60G$p$CGT8PxAs7gRmWxZgQaVx307cdvZR2YK3Nq1PA4V" +
"Ey8OMn$y60pZy6nevox7GFfAnew5SJtoNSPUW35zRL$eBy1rBVZz$28Gm$WO0srzxJJ67WV" +
"VhbiSOXWlZqDxFGxZ#ZgOCy$l1JkCg#kWBr#4UGpmsKjGHoEigoz0comFSsF5xI0F#1TWFd" +
"I1iTe5wZqR#hSBzDK6FfJ3MF4XNNSej2FOsG36dmjjiC7RZ6q8SwR#KyQsWV5tDeo5BZ161" +
"mEk3MzbR2FeZusEWZpmlmki5sS3rgwmvgu8wy56CARhbW4yCAx7Gblj3klVEJ1UkaBUnZ3F" +
"pe7nq1NoDtuGwe8rV2pKqm7wytceS#pbK0PpR9CvGGx6IWVm#GLO9yRU1VplmCFwzqGzo9m" +
"3xNerf25#0iPFnv70mnht1FXn2AoXsyDySQ6$Ei8SSg6lhZ#JiVFVW1Z6$0KmFcxe1Uq2RN" +
"Z3LX33lBi1nkHBq1yt0FRNXZ1s8woLhy6ulX7QupKuDjnuFzY7yN0ZzErBOEkc5I66zNCMM" +
"ECRZuGqrB4ljErDq9xxGplT36quAyohcm6l1#FvPXYF7ioDc#4uq1rmt09pmuEyMtO5Ns1y" +
"td8Rn8$03iV0JM1ETVq6TZWkTGETJZ1#Re7rq8DrwbOuPdI3jhyLyhh1V5u4slrM61ERGvl" +
"Sva9y0CGmppQ7zV#sindR0jRqss2yR07p#NPOiBO4ls#7CRabpEVReTujmUVRuVWs3CRO7R" +
"2s3mCCTy3nO5leOn#EGtVWyGJ6pY5m33WKwZWKnlXCC3$kW7dK0sHd0fjtmfZpVWLvyFLEE" +
"CxE2lXd1PjtmZfx0Cojks3U7GZ7gZvmBBmBnk9BVq8Cwym4c1EpmFXU5ERYdh26tWLpyJLe" +
"dxlXkFiQsBzxE1n2OIpS3TWdm5Y$6zQv2J38NuTnTG#iYnDWZDm3Ot325h33lBi7riC9qFx" +
"tmhYU07F$Ni3$Ceovb#4u#ZBCavS$XZoGcmYOxuK#c0ZpVo8S3oUEPUm#62iJmOVxOBwy0l" +
"Fl5QYx6$HVDvZRvyBOx0OsDe7wku5yDrYdpWNTRZ1MDuNnqn76GGTeetF1rsum1bQ4yR0fv" +
"7M3yNakpEzkCBPMXBLpCnZptU1OLGzjVnxCzswmPgm4n$BDu7ZJ3J2S1tE$6$Ym4hJvPd0E" +
"iJbWs1p6QqTOlxl1yQKRjETvCF#wmJgn1HnJ6s1DQe1nU1wqOJTODrS6crk0$MwmNfyFwqK" +
"tg7jbmBibdDTqWtdM0CVuys7CTuCnjZACfIrX7dI3#Ni#pFjkO6CLwACjeG$kWpRkzW74Ny" +
"8uW77O3VPjO9urm9hcmXhYmlhlGDisG5rFmDXw4jhpIHXJJy9uUXBwVHoCet4mXiQ17#EW7" +
"v#2yV4KZ8kd0F#He7yK7DEF0Lp7m7mw5jQBsM0E70tr7Glzs0rm7Vi$YA6jZyLZBnpNkiFv" +
"HIVCWpbm7Co9pel1M8CvsG7gwG37n2EXd#fXdZT0VHrXBJWEsg4Zd7yrm1Ze3hvtX77Q2UP" +
"APnWpnotBM7zey$um$lh3N5y0rea5ZeRzEP25UJK0rfhkWA$pRd2U2#Es3woDVU1ySdQOXx" +
"F379aT#dTsQ9SvO1xE0UlO7E13NpXUzuLrgY$qnsimJ$Q1Sv01Eu0T6CVtmp6fEnolzu7Zu" +
"m0OnzsXhVQ5y#C1i8vqNm3AuRZN7SR5lc1h8FeAlkq5yxWxzDy5i8PqXtgUW#DfT#ZlVQ6k" +
"WJ3E#lu5QPWpSy8yxmvhv$smbdU7zkyEOtTE68CCsi81NmT2cyu9$RuWrED2dsyA$Ni$wi9" +
"OxWxzCnVKkn#ibzrX77I7UDIg4CFOx0vOvZeSxC0ws1tMmBdWE3jtTsX7c6$TOPsR6#gQ6y" +
"RX1LWdzEVSSExL$HJOONoDmXZc$po0gpkiamxCvqPOs$wlbFE0ig8wu$ZCw$tD30HG4ANOA" +
"09BxoWW26B48mgY50MfqZkHNM010GkzgR745cD3QIjH55X08m5X0R6ZiM13OsA9CUOtSx#t" +
"Cu#tYykHS$xdV#ytjt$bVlV1eHRVgX2hqiJyMkWrZUrVJ#n94xlIs7vLpYp0VMM$U#BOIfh" +
"Ohx7EE3dw3UWhXay5x3kSk9d6nyFOSG9zrEPigsARpn7xVTpPjTdN1jQQnlzgOzS#xD77VH" +
"0XVjpAFRi3#nX47bj0tDX0RZ0Ssnw4Rst0b#jn3lNmlmt4YJHStpv$T9tcxEgZWph4FnrVh" +
"izRfJvsMeVOK8Tx9ytSTHWdQBSbjYMuCrwbRJG2iEaqlhMHTQQ9SMEvHneG1zFemS1kTEe6" +
"Qxc1#zN0hofXwoOnAy5TQh3UkjYhGGvY4BSDRCTW70ExFu1VZSM#3Up5mDutyXunYCtZq9k" +
"1xOn3PmOsQR2dZToT1leTJwmmi6k3ksCIvsjmXaknIGFxtqqCCZZZySGsWtCtiCkDn1q3$K" +
"wmrqBEucFzLpEtWNwI#8c13pT0rqlPToFyRHcstWZzBgDlO$eimouBri349iFU7$TiO$mmX" +
"bqjFvCwkZNOVsFEVZ2swyD636BRSdp7mESCxBWn#ekm1uFtmNBo2CCUYzZTX3rUX0zt89#A" +
"SPRBoGCDz6zWRqsmuGZsPP2hhI2M6#ZV89uq8HyB4KSCOl4AnZGvNvDzvDbCknNsVKOyCDb" +
"Z7Zbo09inyRymUZ7nfoZlpYXhI13N9n7t4zXN0htlmBvDz9Gazrn1BbI9VbVZXwRzzYD#n$" +
"7h63OLHyyciT34DwxcB4txhO2l9#rt17RP1zsOv9f9vZR9nHkmpvNuUHxwMybR9m#ThqIlJ" +
"Rd$Lc5R9cUfSORvlLcNdHzpZYPwZc8dczYFYIxpEODDx7KJUzl4dRAPV60pEjlCsMwXpnRi" +
"SminRGjvdacx8cne9xve40DDxaeJdHGGNwUJqvYyomhGxKxqlfDOPBB79EjRnNYLYEqcDXJ" +
"1HqtoccBYkiaRg00zcjZ0CEuAapTxPVHbSdvHz6FYIyMSgOdV9sax6zytkNjciv$AnBdPx2" +
"U4$Src3t5qCeTrcCJfEQmXn3sr2fimUKUijlN3MGKv8zEMaKVsiTUBJSIN0c9WaZD9ScURs" +
"8B9FN8D#ZBnuHXp9RdNmhIxXllBvCsH98wRs4j3OirgSkccV5kDppV5lbOJ2vgnZZN449Dy" +
"eJAsTAszRk9v0ba2NqgIxoMnzIIslMO2u0pMsFecDaJeEuUtMupxSou#ef6dpQMSO1rpcSV" +
"27XB4b4gSdyMTW#jhSsbZ4IkI#7iXTuh56HRYRnR#Pc6lrpA7HIoFeSSazX3ahHpWxABSCr" +
"7iiGWxInA3WhRliRSWFXR4zsFeByqQu#WkJYosY2M5wscBpHPYQnPsDWzRiB39UGkn2TPKZ" +
"0wBESzTl0bsiOPTx7CNyNytzvF5#45o3ekuR94BNilzOv7l9V2x9EjFiRSKEP#5pLd4qxwi" +
"oqB$IUm#PVVdRHVYUn5tJeYvvf5R9D3NVFHheQCG#MoCEwGl$c0H8vAKBVJJa3jwBUjiXks" +
"lnJQRaHkinJwRurZhx7Ca3gRiyq5VAM9SYZT82Zkoo1tI#Bv5dpHjHkFF1zdNOUpW86$JWv" +
"pHGUwcWvnFYhlMLaQA#6fn5YMCMq8Ci$092tjFWIG#Mq8EPs739VG$$3XCJbB268U9fOUnW" +
"T7uto7qSeZ#HzZ$4MpIidD$T7o8#zaY7gUuhrESOOepJ4sMtzoEAixdV3fIz0srw#M1k3DU" +
"#3tXaE9fSzmsCoQUQeoAmFuzJ76WMzdVmxtBxzlwDizwInJxXmbNKQnbsCZkk#HZaQ#N#NU" +
"KFqzwSiNtOtoPNNy5NGPvE#ZeCLZk76xxMPlA$pRwvUpwZfQUUTuflr$#FhSSRYhSgg9xSl" +
"lExdWQRVSfDdjcoyDlAVOzhJWWxIArXEif3Xrp#$WMP8$Xx#GfvsL$C$45tuEUll$D$cuqA" +
"M$Dl$poIu6iQRZRVc0aTs$zYxBh0mUMVGOpTCKpuy95YbiDKjnwj#AsFiNjfodkqaznzvZY" +
"7WNPu$OuhhZdLQwivrR5bzVDNSVbTmX$boqFZFRiOLtsjv6TtVBuZznoZ1maNb#LWoMU$j#" +
"SFEz9uqqg$vkTsyJUF4dsdLkETt7B$RddukG9lSevym1nKYV$3RthcVlXKwsjx772ZTpoeF" +
"RPtzgEKjp#cE8ksnLtdwYurnx5LpJ9xjUrlblkq4FuESN64lTRqREvwncqq2qV6ACuNknPR" +
"pFxzsMHVoPz3YcEdPazbZPTyM3nkTXUzziLwnJRl$KDliMLZppiblk#vPRxTP7sYnMF2glV" +
"zFezwRQvBXE3kViJtBdNvNk#VUgMandsA$vzXaSBotwwlwtuigwAkwuG$bdnfJShxbX3ySK" +
"pX3zKR8KLjvKxerrxnMqQAvxLH$5CYLKpBr8yutpPOmF50vx9hBqiqBwNj9#fU5gU#ss29T" +
"nHMFOuOQtmBk5l5KyyHrZ6d2XxclYeiCSNPvPvPoB$sItFckAMswnro#qUKTm#xSekkLnue" +
"s9hgFljKedVtLe9Fw2uSqtX1MxRovvItAEgAxkoWx3ietVMFIqoiTVU7sJBh#efl26tp#2Y" +
"NDcDGRSS8RTAaX$Us5lLuzKzxUuLcTXFgftwFVL6YRln4MxRcvgBREJ9ytdQp7RBKVAt56#" +
"rc$PAlytkjo5dY6oBpCkREKLEFMIegYSywnyYUKj2yh9HJoYUTbtk$D4QvQsj8h1$myoLDM" +
"#fk6FViliaFROse57kz$vtPDS7zFzjQzGAVrl$ZeLkUVIvYbiCzdm$wlakyRNJXQvis4F2t" +
"oXU#OkqcL3sVBT8$fFA4#PDg$F63eZ$XEz7Ta3QlYzj9EvrskgECwRVwUrpU9TSsPX5RZbT" +
"YPnf1BdG4O#iZblUlLna5xYoQ2TF#Ix5CvwNkkTUYxvtqhpUVNnHiVKFMCJS3LMvyzUUVNt" +
"#wtq3Fvtw#xI5sVMnPoc#EE3AR1t59FxFu8qOuWqNQrgHjQi#BHxtZF#1o2J6jspdVXidyR" +
"3bF5SsGkBHY16AjyczrVBlRflnSe#qyiJOw#MyWd8F#UHD5vHxBdn2SQI3ssT8gV#wig6Nv" +
"SgYI#NRohBtE$HOTjteGCmIsx#vOTbzRfvUZhmuLpRCp9LL4zzB7SgMxucxvKMVeBkQRZqs" +
"JzFsoNdQV$Tet9exxZx9poDzFB958dj8iLzoiA3iCIAvT#Hjjqzmlvp5OugrVCKhzxXjjfV" +
"cP1M1fYrkG4mMtpJcAjwXkzztNwauDCkpPxdhmxsonneWSMRnUDRzCUtatWxVazqk9FCOsn" +
"Itso7rLnIdS$P0wjdDBVju4pS$uTRt5IkE$iWxBkUTnlSZYYFVkhBzaaT5Br7ibpC8HKKkR" +
"vMev4lH9kpd1$hLLNNxxwJDqloUkxTjxhmXUPEQaXycnG$L6ea9aeUqUats$vFRDoBntCnw" +
"EpF$G5dF#ufZIsdZoHD6$90f4ujPRyB#RNUETupiySpJkWVSVlxZl4CziNo$$EwJ7CwOgtF" +
"RxvSy8obvJw0pSLFowkHyMOlS0S6hqBUKzxyeRLwNURzK7Bf9pa5i9bPDnX1RI6T#hv0Sq9" +
"JViKp9pRKtJh6tPegjyxFbmUeYxvJRfvF4ZiddaQFiubuPX9tQlri$Y0nxdKB#DcKX#xw$l" +
"7bbNVpnpTExQxesurUmHd2BO8nWR1aO9xX3y5$mCRXJypaOHTd6I31Qy#iTD1tu17PT4vaZ" +
"rtwatO$mc$2Rj0dGfYFVR7G25sj#xMs#sNYVyZ4jgBrCEOEr3dpQQhYYk8Tnxj42Wg27ROI" +
"qBnbl5sjfmlnDQFiSQqfGJY3$3$sz#BaC7AJFGSRSJta$vJtm7lWL#lz46UWwvK#OxnFcKm" +
"Xxs4QajBwTFjlflyr1G7kHjJLbZAQiAmy6clq$o$oFCeOA8eAeXst4jC#PKo7ie8WnYnXJ8" +
"QXznJXV8Tl7sCqOhnbp9U6JeFqRhalRZnpu1G6zEVBcbEy6EsYtW##RuGosKD$amA$TJxqi" +
"F72QE506$iHU7c9$Xy2Zr1zalXBm67FVIxqy$5aBwYtOHmlsh#3JMxAdbd0Qf2Yd6EDhnle" +
"QVfXv3eF7cUSHBQeTuPmleesDHeptZGE$zXS7Fkq9#0duIVXfy1Hzdu4L0dfZ#ZLc7eDr16" +
"ct7lbwsendd0pU0hl11WT#RRg3G2bFKz13Z1LYZ7yYlm##3vvPYg0sXNPJi365YFO7wZOcC" +
"guNa#Wx6SochE0JwDgjy2nGGBd0OLNEPvnyviZm76Hpc3U3kTJdEkpN2YaNEgmmd$fyXxEn" +
"0Fa2X$tQ8igBuCNmOlXs#7RuBlWkU0cy15uABsN#LR2DUSXE1#iumowEh$iStAti0ZlrsV7" +
"7yGNRvvzddy#ZCvFlhP2tGeUM5W9Xe9U9XXAtbdcmd37QyAqDurHYda#HPV0PxJz3fX3Gsz" +
"AkBUKLo5VIpusnDWAEBzc#y2os#GRhY22F8FUkUolzjo9J26ed6Ei4CeM0Xsq4zNRqRSSub" +
"U7ApAVWzx2DW1w3exI9Cjwtu7DiJ27YO0fhSX7rn3mRKG$RY6NgcJWcY7lOHY8dbhji8rmQ" +
"vnH2saBEO27bs#3RsEkToEwapLzPysl8NaDcOo$rlGxxjUyfV##mNp#NVP$hi5#RIj#fp36" +
"LjKvbtGgndFexZFiExO$2H#bRXNEg0hU7soD$5RcDlmd#fQ3$Ja5xWVbVeDthyElmTt0#S#" +
"SpTpvpvJFF5yYEy#quxV$XmA#z2x#B$3q5$L87VhqRt0sk2bTbZcfmDVWC#3pQPkxV3vZZG" +
"s3VGTiuimd89Z3k1EhPd97xFVLIw1TwKAyKFe6kN#309z3rCntuoqHrlbLts4KDP3KSpiLP" +
"V3lBuLz7JThMTDZ5sSZETjYldqFv78VzUYtAjHpswxKfrtROhySfnntsw$KfryU7R3IWRED" +
"yOF#hd31dGvODT6qZl17cPG1qhHWkfXsPBj3rhd1Nv2yXVuaw6I7GjPtKTrBtKVV1zh$Qzi" +
"Dru3fmQxWrxVxuVy8Fo8m=");
// Generated from soot/JastAddJ/JastAddJavaParser.all
class Events extends Parser.Events {
public void scannerError(Scanner.Exception e) {
errors.add(new Problem(null, e.getMessage(), e.line, e.column, Problem.Severity.ERROR, Problem.Kind.LEXICAL));
}
public void syntaxError(Symbol token) {
int line = token.getLine(token.getStart());
int column = token.getColumn(token.getStart());
int endLine = token.getLine(token.getEnd());
int endColumn = token.getColumn(token.getEnd());
String value = token.value != null ? token.value.toString() : Terminals.NAMES[token.getId()];
errors.add(new Problem(null, "unexpected token \"" + value + "\"", line, column, endLine, endColumn, Problem.Severity.ERROR, Problem.Kind.SYNTACTIC));
}
public void unexpectedTokenRemoved(Symbol token) {
}
public void missingTokenInserted(Symbol token) {
}
public void misspelledTokenReplaced(Symbol token) {
}
public void errorPhraseRemoved(Symbol error) {
}
}
{
report = new Events(); // Use error handler in parser
}
public CompilationUnit parse(java.io.InputStream is, String fileName) throws java.io.IOException, beaver.Parser.Exception {
CompilationUnit cu;
errors = new ArrayList();
try {
JavaScanner scanner = new JavaScanner(new Unicode(is));
cu = (CompilationUnit)parse(scanner);
} catch(Parser.Exception e) {
// build empty compilation unit for failed error recovery
cu = new CompilationUnit();
} catch(Error e) {
cu = new CompilationUnit();
errors.add(new Problem(null, e.getMessage(), 0, 0, Problem.Severity.ERROR, Problem.Kind.LEXICAL));
}
for(java.util.Iterator iter = errors.iterator(); iter.hasNext(); ) {
Problem p = (Problem)iter.next();
p.setFileName(fileName);
cu.addParseError(p);
}
return cu;
}
protected java.util.Collection errors = new ArrayList();
public JastAddJavaParser() {
super(PARSING_TABLES);
}
protected Symbol invokeReduceAction(int rule_num, int offset) {
switch(rule_num) {
case 0: // goal = compilation_unit.cu
{
final Symbol _symbol_cu = _symbols[offset + 1];
final CompilationUnit cu = (CompilationUnit) _symbol_cu.value;
return cu;
}
case 1: // 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 9: // type = primitive_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 10: // type = reference_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 11: // primitive_type = numeric_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 12: // primitive_type = BOOLEAN.BOOLEAN
{
final Symbol BOOLEAN = _symbols[offset + 1];
return new PrimitiveTypeAccess("boolean");
}
case 13: // numeric_type = integral_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 14: // numeric_type = floating_point_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
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 22: // reference_type = class_or_interface_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 23: // reference_type = array_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 24: // class_type = class_or_interface_type.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 25: // interface_type = class_or_interface_type.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 26: // array_type = primitive_type.t dims.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return t.addArrayDims(d);
}
case 27: // array_type = name.n dims.d
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return n.addArrayDims(d);
}
case 28: // name = simple_name.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Access s = (Access) _symbol_s.value;
return s;
}
case 29: // name = qualified_name.q
{
final Symbol _symbol_q = _symbols[offset + 1];
final Access q = (Access) _symbol_q.value;
return q;
}
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_declaration.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
return new CompilationUnit(p.getID(), new List(), new List());
}
case 33: // compilation_unit = package_declaration.p import_declarations.i
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
return new CompilationUnit(p.getID(), i, new List());
}
case 34: // compilation_unit = package_declaration.p type_declarations.t
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_t = _symbols[offset + 2];
final List t = (List) _symbol_t.value;
return new CompilationUnit(p.getID(), new List(), t);
}
case 35: // compilation_unit = package_declaration.p import_declarations.i type_declarations.t
{
final Symbol _symbol_p = _symbols[offset + 1];
final IdUse p = (IdUse) _symbol_p.value;
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol _symbol_t = _symbols[offset + 3];
final List t = (List) _symbol_t.value;
return new CompilationUnit(p.getID(), i, t);
}
case 36: // compilation_unit =
{
return new CompilationUnit("", new List(), new List());
}
case 37: // 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 38: // 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 39: // 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 40: // import_declarations = import_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final ImportDecl i = (ImportDecl) _symbol_i.value;
return new List().add(i);
}
case 41: // import_declarations = import_declarations.l import_declaration.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_i = _symbols[offset + 2];
final ImportDecl i = (ImportDecl) _symbol_i.value;
return l.add(i);
}
case 42: // type_declarations = type_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final TypeDecl t = (TypeDecl) _symbol_t.value;
return !(t instanceof EmptyType) ? new List().add(t) : new List() ;
}
case 43: // type_declarations = type_declarations.l type_declaration.t
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_t = _symbols[offset + 2];
final TypeDecl t = (TypeDecl) _symbol_t.value;
return !(t instanceof EmptyType) ? l.add(t) : l;
}
case 44: // package_declaration = PACKAGE.PACKAGE name_decl.n SEMICOLON.SEMICOLON
{
final Symbol PACKAGE = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final IdUse n = (IdUse) _symbol_n.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return n;
}
case 45: // name_decl = simple_name_decl.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final IdUse s = (IdUse) _symbol_s.value;
return s;
}
case 46: // name_decl = qualified_name_decl.q
{
final Symbol _symbol_q = _symbols[offset + 1];
final IdUse q = (IdUse) _symbol_q.value;
return q;
}
case 47: // simple_name_decl = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new IdUse(IDENTIFIER);
}
case 48: // 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 49: // import_declaration = single_type_import_declaration.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final ImportDecl s = (ImportDecl) _symbol_s.value;
return s;
}
case 50: // import_declaration = type_import_on_demand_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ImportDecl t = (ImportDecl) _symbol_t.value;
return t;
}
case 51: // single_type_import_declaration = IMPORT.IMPORT name.n SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new SingleTypeImportDecl(n);
}
case 52: // type_import_on_demand_declaration = IMPORT.IMPORT name.n DOT.DOT MULT.MULT SEMICOLON.SEMICOLON
{
final Symbol IMPORT = _symbols[offset + 1];
final Symbol _symbol_n = _symbols[offset + 2];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 3];
final Symbol MULT = _symbols[offset + 4];
final Symbol SEMICOLON = _symbols[offset + 5];
return new TypeImportOnDemandDecl(n);
}
case 53: // type_declaration = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return c;
}
case 54: // type_declaration = interface_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InterfaceDecl i = (InterfaceDecl) _symbol_i.value;
return i;
}
case 55: // type_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyType(new Modifiers(), "EmptyType", new Opt(), new List());
}
case 56: // modifiers = modifier.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final Modifier m = (Modifier) _symbol_m.value;
return new List().add(m);
}
case 57: // 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 58: // modifier = PUBLIC.PUBLIC
{
final Symbol PUBLIC = _symbols[offset + 1];
return new Modifier("public");
}
case 59: // modifier = PROTECTED.PROTECTED
{
final Symbol PROTECTED = _symbols[offset + 1];
return new Modifier("protected");
}
case 60: // modifier = PRIVATE.PRIVATE
{
final Symbol PRIVATE = _symbols[offset + 1];
return new Modifier("private");
}
case 61: // modifier = STATIC.STATIC
{
final Symbol STATIC = _symbols[offset + 1];
return new Modifier("static");
}
case 62: // modifier = ABSTRACT.ABSTRACT
{
final Symbol ABSTRACT = _symbols[offset + 1];
return new Modifier("abstract");
}
case 63: // modifier = FINAL.FINAL
{
final Symbol FINAL = _symbols[offset + 1];
return new Modifier("final");
}
case 64: // modifier = NATIVE.NATIVE
{
final Symbol NATIVE = _symbols[offset + 1];
return new Modifier("native");
}
case 65: // modifier = SYNCHRONIZED.SYNCHRONIZED
{
final Symbol SYNCHRONIZED = _symbols[offset + 1];
return new Modifier("synchronized");
}
case 66: // modifier = TRANSIENT.TRANSIENT
{
final Symbol TRANSIENT = _symbols[offset + 1];
return new Modifier("transient");
}
case 67: // modifier = VOLATILE.VOLATILE
{
final Symbol VOLATILE = _symbols[offset + 1];
return new Modifier("volatile");
}
case 68: // modifier = STRICTFP.STRICTFP
{
final Symbol STRICTFP = _symbols[offset + 1];
return new Modifier("strictfp");
}
case 69: // 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 70: // 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 71: // 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 72: // 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 73: // 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 74: // 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 75: // 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 76: // 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 77: // super = EXTENDS.EXTENDS class_type.c
{
final Symbol EXTENDS = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final Access c = (Access) _symbol_c.value;
return new Opt(c);
}
case 78: // 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 79: // 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 80: // 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 81: // class_body = LBRACE.LBRACE class_body_declarations_opt.c RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_c = _symbols[offset + 2];
final List c = (List) _symbol_c.value;
final Symbol RBRACE = _symbols[offset + 3];
return c;
}
case 82: // class_body_declarations = class_body_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return new List().add(c);
}
case 83: // class_body_declarations = class_body_declarations.l class_body_declaration.c
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_c = _symbols[offset + 2];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return l.add(c);
}
case 84: // class_body_declaration = class_member_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return c;
}
case 85: // class_body_declaration = instance_initializer.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final InstanceInitializer i = (InstanceInitializer) _symbol_i.value;
return i;
}
case 86: // class_body_declaration = static_initializer.si
{
final Symbol _symbol_si = _symbols[offset + 1];
final StaticInitializer si = (StaticInitializer) _symbol_si.value;
return si;
}
case 87: // class_body_declaration = constructor_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ConstructorDecl c = (ConstructorDecl) _symbol_c.value;
return c;
}
case 88: // class_member_declaration = field_declaration.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final BodyDecl f = (BodyDecl) _symbol_f.value;
return f;
}
case 89: // class_member_declaration = method_declaration.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final MethodDecl m = (MethodDecl) _symbol_m.value;
return m;
}
case 90: // 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 91: // 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 92: // class_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new InstanceInitializer(new Block());
}
case 93: // field_declaration = type.t variable_declarators.v SEMICOLON.SEMICOLON
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_v = _symbols[offset + 2];
final List v = (List) _symbol_v.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new FieldDecl(new Modifiers(new List()), t, v);
}
case 94: // field_declaration = modifiers.m type.t variable_declarators.v SEMICOLON.SEMICOLON
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol _symbol_v = _symbols[offset + 3];
final List v = (List) _symbol_v.value;
final Symbol SEMICOLON = _symbols[offset + 4];
return new FieldDecl(new Modifiers(m), t, v);
}
case 95: // variable_declarators = variable_declarator.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return new List().add(v);
}
case 96: // variable_declarators = variable_declarators.l COMMA.COMMA variable_declarator.v
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol COMMA = _symbols[offset + 2];
final Symbol _symbol_v = _symbols[offset + 3];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return l.add(v);
}
case 97: // variable_declarator = variable_declarator_id.v
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
return v;
}
case 98: // variable_declarator = variable_declarator_id.v EQ.EQ variable_initializer.i
{
final Symbol _symbol_v = _symbols[offset + 1];
final VariableDecl v = (VariableDecl) _symbol_v.value;
final Symbol EQ = _symbols[offset + 2];
final Symbol _symbol_i = _symbols[offset + 3];
final Expr i = (Expr) _symbol_i.value;
v.setInit(i); return v;
}
case 99: // variable_declarator_id = IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol IDENTIFIER = _symbols[offset + 1];
final Symbol _symbol_d = _symbols[offset + 2];
final List d = (List) _symbol_d.value;
return new VariableDecl(IDENTIFIER, d, new Opt());
}
case 100: // variable_initializer = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 101: // variable_initializer = array_initializer.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final ArrayInit a = (ArrayInit) _symbol_a.value;
return a;
}
case 102: // 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 103: // 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 104: // 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 105: // 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 106: // 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 107: // 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 108: // 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 109: // 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 110: // 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 111: // 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 112: // 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 113: // 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 114: // 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 115: // 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 116: // 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 117: // 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 118: // 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 119: // 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 120: // method_body = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return new Opt(b);
}
case 121: // method_body = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new Opt();
}
case 122: // static_initializer = STATIC.STATIC block.b
{
final Symbol STATIC = _symbols[offset + 1];
final Symbol _symbol_b = _symbols[offset + 2];
final Block b = (Block) _symbol_b.value;
return new StaticInitializer(b);
}
case 123: // instance_initializer = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return new InstanceInitializer(b);
}
case 124: // 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 125: // 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 126: // 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 127: // 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 128: // 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 129: // 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 130: // 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 131: // 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 132: // 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 133: // 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 134: // 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 135: // 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 136: // 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 137: // 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 138: // 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 139: // 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 140: // 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 141: // 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 142: // interface_body = LBRACE.LBRACE interface_member_declarations_opt.i RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_i = _symbols[offset + 2];
final List i = (List) _symbol_i.value;
final Symbol RBRACE = _symbols[offset + 3];
return i;
}
case 143: // interface_member_declarations = interface_member_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return new List().add(i);
}
case 144: // interface_member_declarations = interface_member_declarations.l interface_member_declaration.i
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_i = _symbols[offset + 2];
final BodyDecl i = (BodyDecl) _symbol_i.value;
return l.add(i);
}
case 145: // interface_member_declaration = constant_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final BodyDecl c = (BodyDecl) _symbol_c.value;
return c;
}
case 146: // interface_member_declaration = abstract_method_declaration.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final BodyDecl a = (BodyDecl) _symbol_a.value;
return a;
}
case 147: // 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 148: // 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 149: // interface_member_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 150: // constant_declaration = field_declaration.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final BodyDecl f = (BodyDecl) _symbol_f.value;
return f;
}
case 151: // 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 152: // array_initializer = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new ArrayInit(new List());
}
case 153: // 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 154: // 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 155: // 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 156: // 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 157: // 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 158: // 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 159: // 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 160: // 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 161: // block_statement = local_variable_declaration_statement.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final VarDeclStmt l = (VarDeclStmt) _symbol_l.value;
return l;
}
case 162: // block_statement = class_declaration.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ClassDecl c = (ClassDecl) _symbol_c.value;
return new LocalClassDeclStmt(c);
}
case 163: // block_statement = statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 164: // 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 165: // 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 166: // 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 167: // statement = statement_without_trailing_substatement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 168: // statement = labeled_statement.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final LabeledStmt l = (LabeledStmt) _symbol_l.value;
return l;
}
case 169: // statement = if_then_statement.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 170: // statement = if_then_else_statement.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 171: // statement = while_statement.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final WhileStmt w = (WhileStmt) _symbol_w.value;
return w;
}
case 172: // statement = for_statement.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final ForStmt f = (ForStmt) _symbol_f.value;
return f;
}
case 173: // statement_without_trailing_substatement = block.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final Block b = (Block) _symbol_b.value;
return b;
}
case 174: // statement_without_trailing_substatement = empty_statement.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final EmptyStmt e = (EmptyStmt) _symbol_e.value;
return e;
}
case 175: // statement_without_trailing_substatement = expression_statement.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final ExprStmt e = (ExprStmt) _symbol_e.value;
return e;
}
case 176: // statement_without_trailing_substatement = switch_statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final SwitchStmt s = (SwitchStmt) _symbol_s.value;
return s;
}
case 177: // statement_without_trailing_substatement = do_statement.d
{
final Symbol _symbol_d = _symbols[offset + 1];
final DoStmt d = (DoStmt) _symbol_d.value;
return d;
}
case 178: // statement_without_trailing_substatement = break_statement.b
{
final Symbol _symbol_b = _symbols[offset + 1];
final BreakStmt b = (BreakStmt) _symbol_b.value;
return b;
}
case 179: // statement_without_trailing_substatement = continue_statement.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final ContinueStmt c = (ContinueStmt) _symbol_c.value;
return c;
}
case 180: // statement_without_trailing_substatement = return_statement.r
{
final Symbol _symbol_r = _symbols[offset + 1];
final ReturnStmt r = (ReturnStmt) _symbol_r.value;
return r;
}
case 181: // statement_without_trailing_substatement = synchronized_statement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final SynchronizedStmt s = (SynchronizedStmt) _symbol_s.value;
return s;
}
case 182: // statement_without_trailing_substatement = throw_statement.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ThrowStmt t = (ThrowStmt) _symbol_t.value;
return t;
}
case 183: // statement_without_trailing_substatement = try_statement.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final TryStmt t = (TryStmt) _symbol_t.value;
return t;
}
case 184: // statement_without_trailing_substatement = assert_statement.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final AssertStmt a = (AssertStmt) _symbol_a.value;
return a;
}
case 185: // statement_no_short_if = statement_without_trailing_substatement.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Stmt s = (Stmt) _symbol_s.value;
return s;
}
case 186: // statement_no_short_if = labeled_statement_no_short_if.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final LabeledStmt l = (LabeledStmt) _symbol_l.value;
return l;
}
case 187: // statement_no_short_if = if_then_else_statement_no_short_if.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final IfStmt i = (IfStmt) _symbol_i.value;
return i;
}
case 188: // statement_no_short_if = while_statement_no_short_if.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final WhileStmt w = (WhileStmt) _symbol_w.value;
return w;
}
case 189: // statement_no_short_if = for_statement_no_short_if.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final ForStmt f = (ForStmt) _symbol_f.value;
return f;
}
case 190: // 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 191: // 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 192: // 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 193: // empty_statement = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new EmptyStmt();
}
case 194: // 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 195: // 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 196: // 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 197: // statement_expression = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return new ExprStmt(a);
}
case 198: // statement_expression = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 199: // statement_expression = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 200: // statement_expression = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 201: // statement_expression = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new ExprStmt(e);
}
case 202: // statement_expression = method_invocation.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final Access i = (Access) _symbol_i.value;
return new ExprStmt(i);
}
case 203: // 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 204: // 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 205: // switch_block = LBRACE.LBRACE switch_block_statement_groups.l switch_labels.s RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol _symbol_s = _symbols[offset + 3];
final List s = (List) _symbol_s.value;
final Symbol RBRACE = _symbols[offset + 4];
for(int ii = 0; ii < s.getNumChildNoTransform(); ii++) l.add(s.getChildNoTransform(ii)); return new Block(l);
}
case 206: // switch_block = LBRACE.LBRACE switch_block_statement_groups.l RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 3];
return new Block(l);
}
case 207: // switch_block = LBRACE.LBRACE switch_labels.l RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol _symbol_l = _symbols[offset + 2];
final List l = (List) _symbol_l.value;
final Symbol RBRACE = _symbols[offset + 3];
return new Block(l);
}
case 208: // switch_block = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new Block(new List());
}
case 209: // switch_block_statement_groups = switch_block_statement_group.g
{
final Symbol _symbol_g = _symbols[offset + 1];
final List g = (List) _symbol_g.value;
return g;
}
case 210: // switch_block_statement_groups = switch_block_statement_groups.l switch_block_statement_group.g
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_g = _symbols[offset + 2];
final List g = (List) _symbol_g.value;
for(int ii = 0; ii < g.getNumChildNoTransform(); ii++)
l.add(g.getChildNoTransform(ii));
return l;
}
case 211: // switch_block_statement_group = switch_labels.l block_statements.bl
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_bl = _symbols[offset + 2];
final List bl = (List) _symbol_bl.value;
for(int ii = 0; ii < bl.getNumChildNoTransform(); ii++)
l.add(bl.getChildNoTransform(ii));
return l;
}
case 212: // switch_labels = switch_label.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final Case s = (Case) _symbol_s.value;
return new List().add(s);
}
case 213: // switch_labels = switch_labels.l switch_label.s
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
final Symbol _symbol_s = _symbols[offset + 2];
final Case s = (Case) _symbol_s.value;
return l.add(s);
}
case 214: // 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 215: // switch_label = DEFAULT.DEFAULT COLON.COLON
{
final Symbol DEFAULT = _symbols[offset + 1];
final Symbol COLON = _symbols[offset + 2];
return new DefaultCase();
}
case 216: // 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 217: // 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 218: // 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 219: // 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 220: // 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 221: // for_init = statement_expression_list.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
return l;
}
case 222: // 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 223: // for_update = statement_expression_list.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final List l = (List) _symbol_l.value;
return l;
}
case 224: // 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 225: // 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 226: // 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 227: // break_statement = BREAK.BREAK SEMICOLON.SEMICOLON
{
final Symbol BREAK = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new BreakStmt("");
}
case 228: // 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 229: // continue_statement = CONTINUE.CONTINUE SEMICOLON.SEMICOLON
{
final Symbol CONTINUE = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new ContinueStmt("");
}
case 230: // return_statement = RETURN.RETURN expression_opt.e SEMICOLON.SEMICOLON
{
final Symbol RETURN = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Opt e = (Opt) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ReturnStmt(e);
}
case 231: // throw_statement = THROW.THROW expression.e SEMICOLON.SEMICOLON
{
final Symbol THROW = _symbols[offset + 1];
final Symbol _symbol_e = _symbols[offset + 2];
final Expr e = (Expr) _symbol_e.value;
final Symbol SEMICOLON = _symbols[offset + 3];
return new ThrowStmt(e);
}
case 232: // 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 233: // 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 234: // 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 235: // 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 236: // catches = catch_clause.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final CatchClause c = (CatchClause) _symbol_c.value;
return new List().add(c);
}
case 237: // 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 238: // 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 CatchClause(p, b);
}
case 239: // 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 240: // 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 241: // 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 242: // primary = primary_no_new_array.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 243: // primary = array_creation_init.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 244: // primary = array_creation_uninit.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 245: // class_literal = CLASS.CLASS
{
final Symbol CLASS = _symbols[offset + 1];
return new ClassAccess();
}
case 246: // 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 247: // argument_list = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return new List().add(e);
}
case 248: // 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 249: // 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 250: // 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 251: // 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 252: // 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 253: // 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 254: // 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 255: // 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 256: // 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 257: // 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 258: // 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 259: // 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 260: // 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 261: // 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 262: // 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 263: // method_invocation = name.n LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_l = _symbols[offset + 3];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 4];
if(n instanceof AbstractDot) {
AbstractDot d = (AbstractDot)n;
ParseName pn = (ParseName)d.extractLast();
MethodAccess m = new MethodAccess(pn.getID(), l);
m.setStart(pn.getStart()); // add location information
m.setEnd(RPAREN.getEnd()); // add location information
d.replaceLast(m);
return d;
}
else {
ParseName pn = (ParseName)n;
return new MethodAccess(pn.getID(), l);
}
}
case 264: // 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 265: // 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 266: // method_invocation = name.n DOT.DOT SUPER.SUPER DOT.DOT_ IDENTIFIER.IDENTIFIER LPAREN.LPAREN argument_list_opt.l RPAREN.RPAREN
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol DOT = _symbols[offset + 2];
final Symbol SUPER = _symbols[offset + 3];
final Symbol DOT_ = _symbols[offset + 4];
final Symbol IDENTIFIER = _symbols[offset + 5];
final Symbol LPAREN = _symbols[offset + 6];
final Symbol _symbol_l = _symbols[offset + 7];
final List l = (List) _symbol_l.value;
final Symbol RPAREN = _symbols[offset + 8];
SuperAccess s = new SuperAccess("super");
s.setStart(SUPER.getStart());
s.setEnd(SUPER.getEnd());
MethodAccess m = new MethodAccess(IDENTIFIER, l);
m.setStart(IDENTIFIER.getStart());
m.setEnd(RPAREN.getEnd());
return n.qualifiesAccess(s).qualifiesAccess(m);
}
case 267: // array_access = name.n LBRACK.LBRACK expression.e RBRACK.RBRACK
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
final Symbol LBRACK = _symbols[offset + 2];
final Symbol _symbol_e = _symbols[offset + 3];
final Expr e = (Expr) _symbol_e.value;
final Symbol RBRACK = _symbols[offset + 4];
ArrayAccess a = new ArrayAccess(e);
a.setStart(LBRACK.getStart());
a.setEnd(RBRACK.getEnd());
return n.qualifiesAccess(a);
}
case 268: // 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 269: // postfix_expression = primary.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 270: // postfix_expression = name.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 271: // postfix_expression = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 272: // postfix_expression = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 273: // 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 274: // 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 275: // unary_expression = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 276: // unary_expression = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 277: // 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 278: // 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 279: // unary_expression = unary_expression_not_plus_minus.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 280: // 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 281: // 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 282: // unary_expression_not_plus_minus = postfix_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 283: // 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 284: // 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 285: // unary_expression_not_plus_minus = cast_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 286: // 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 287: // 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 288: // cast_expression = LPAREN.LPAREN name.n 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 RPAREN = _symbols[offset + 3];
final Symbol _symbol_e = _symbols[offset + 4];
final Expr e = (Expr) _symbol_e.value;
return new CastExpr(n.addArrayDims(new List()), e);
}
case 289: // cast_expression = LPAREN.LPAREN name.n 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 _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(n.addArrayDims(d), e);
}
case 290: // multiplicative_expression = unary_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 291: // 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 292: // 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 293: // 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 294: // additive_expression = multiplicative_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 295: // 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 296: // 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 297: // shift_expression = additive_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 298: // 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 299: // 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 300: // 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 301: // relational_expression = shift_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 302: // 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 303: // 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 304: // 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 305: // 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 306: // relational_expression = relational_expression.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 307: // equality_expression = relational_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 308: // 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 309: // 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 310: // and_expression = equality_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 311: // 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 312: // exclusive_or_expression = and_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 313: // 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 314: // inclusive_or_expression = exclusive_or_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 315: // 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 316: // conditional_and_expression = inclusive_or_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 317: // 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 318: // conditional_or_expression = conditional_and_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 319: // 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 320: // conditional_expression = conditional_or_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 321: // 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 322: // assignment_expression = conditional_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 323: // assignment_expression = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 324: // 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 325: // 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 326: // 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 327: // 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 328: // 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 329: // 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 330: // 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 331: // 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 332: // 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 333: // 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 334: // 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 335: // 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 336: // expression = assignment_expression.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 337: // constant_expression = expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 338: // class_body_declaration = error.error SEMICOLON.SEMICOLON
{
final Symbol error = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new InstanceInitializer(new Block());
}
case 339: // class_body_declaration = error.error LBRACE.LBRACE
{
final Symbol error = _symbols[offset + 1];
final Symbol LBRACE = _symbols[offset + 2];
return new InstanceInitializer(new Block());
}
case 340: // block = LBRACE.LBRACE error.error RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol error = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new Block(new List());
}
case 341: // switch_block = LBRACE.LBRACE error.error RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol error = _symbols[offset + 2];
final Symbol RBRACE = _symbols[offset + 3];
return new Block(new List());
}
case 342: // statement = error.error SEMICOLON.SEMICOLON
{
final Symbol error = _symbols[offset + 1];
final Symbol SEMICOLON = _symbols[offset + 2];
return new EmptyStmt();
}
case 343: // type_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
return i;
}
case 344: // interface_member_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
return new MemberInterfaceDecl(i);
}
case 345: // class_member_declaration = annotation_type_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final AnnotationDecl i = (AnnotationDecl) _symbol_i.value;
return new MemberInterfaceDecl(i);
}
case 346: // 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;
return new AnnotationDecl(new Modifiers(new List()), IDENTIFIER, b);
}
case 347: // 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;
return new AnnotationDecl(new Modifiers(m), IDENTIFIER, b);
}
case 348: // 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 349: // 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 350: // 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 351: // 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];
return new AnnotationMethodDecl(new Modifiers(new List()), t, IDENTIFIER, new List(), new List(), new Opt(), default_value);
}
case 352: // 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];
return new AnnotationMethodDecl(new Modifiers(m), t, IDENTIFIER, new List(), new List(), new Opt(), default_value);
}
case 354: // 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;
return new MemberClassDecl(class_declaration);
}
case 355: // 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;
return new MemberInterfaceDecl(interface_declaration);
}
case 356: // 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;
return new MemberClassDecl(enum_declaration);
}
case 357: // 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;
return new MemberInterfaceDecl(annotation_type_declaration);
}
case 358: // annotation_type_element_declaration = SEMICOLON.SEMICOLON
{
final Symbol SEMICOLON = _symbols[offset + 1];
return new StaticInitializer(new Block());
}
case 359: // 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 364: // normal_annotation = AT.AT type.type LPAREN.LPAREN element_value_pairs_opt.element_value_pairs RPAREN.RPAREN
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_type = _symbols[offset + 2];
final Access type = (Access) _symbol_type.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];
return new Annotation("annotation", type, element_value_pairs);
}
case 365: // 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 366: // 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 367: // 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;
return new ElementValuePair(IDENTIFIER, element_value);
}
case 368: // element_value = conditional_expression.conditional_expression
{
final Symbol _symbol_conditional_expression = _symbols[offset + 1];
final Expr conditional_expression = (Expr) _symbol_conditional_expression.value;
return new ElementConstantValue(conditional_expression);
}
case 369: // element_value = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new ElementAnnotationValue(annotation);
}
case 370: // element_value = element_value_array_initializer.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final ElementArrayValue e = (ElementArrayValue) _symbol_e.value;
return e;
}
case 371: // 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 372: // 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 373: // 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 374: // 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 375: // 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 376: // 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 377: // marker_annotation = AT.AT type.type
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_type = _symbols[offset + 2];
final Access type = (Access) _symbol_type.value;
return new Annotation("annotation", type, new List());
}
case 378: // single_element_annotation = AT.AT type.type LPAREN.LPAREN element_value.element_value RPAREN.RPAREN
{
final Symbol AT = _symbols[offset + 1];
final Symbol _symbol_type = _symbols[offset + 2];
final Access type = (Access) _symbol_type.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];
return new Annotation("annotation", type, new List().add(new ElementValuePair("value", element_value)));
}
case 379: // 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 380: // 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 381: // 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 382: // 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 383: // statement = enhanced_for_statement.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Stmt f = (Stmt) _symbol_f.value;
return f;
}
case 384: // statement_no_short_if = enhanced_for_statement_no_short_if.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Stmt f = (Stmt) _symbol_f.value;
return f;
}
case 385: // enhanced_for_statement = FOR.FOR LPAREN.LPAREN enhanced_for_parameter.p COLON.COLON expression.e RPAREN.RPAREN statement.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final VariableDeclaration p = (VariableDeclaration) _symbol_p.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_s = _symbols[offset + 7];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(p, e, s);
}
case 386: // enhanced_for_statement_no_short_if = FOR.FOR LPAREN.LPAREN enhanced_for_parameter.p COLON.COLON expression.e RPAREN.RPAREN statement_no_short_if.s
{
final Symbol FOR = _symbols[offset + 1];
final Symbol LPAREN = _symbols[offset + 2];
final Symbol _symbol_p = _symbols[offset + 3];
final VariableDeclaration p = (VariableDeclaration) _symbol_p.value;
final Symbol COLON = _symbols[offset + 4];
final Symbol _symbol_e = _symbols[offset + 5];
final Expr e = (Expr) _symbol_e.value;
final Symbol RPAREN = _symbols[offset + 6];
final Symbol _symbol_s = _symbols[offset + 7];
final Stmt s = (Stmt) _symbol_s.value;
return new EnhancedForStmt(p, e, s);
}
case 387: // enhanced_for_parameter = type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 2];
final Symbol _symbol_d = _symbols[offset + 3];
final List d = (List) _symbol_d.value;
return new VariableDeclaration(new Modifiers(new List()), t.addArrayDims(d), IDENTIFIER, new Opt());
}
case 388: // enhanced_for_parameter = modifiers.m type.t IDENTIFIER.IDENTIFIER dims_opt.d
{
final Symbol _symbol_m = _symbols[offset + 1];
final List m = (List) _symbol_m.value;
final Symbol _symbol_t = _symbols[offset + 2];
final Access t = (Access) _symbol_t.value;
final Symbol IDENTIFIER = _symbols[offset + 3];
final Symbol _symbol_d = _symbols[offset + 4];
final List d = (List) _symbol_d.value;
return new VariableDeclaration(new Modifiers(m), t.addArrayDims(d), IDENTIFIER, new Opt());
}
case 389: // type_declaration = enum_declaration.i
{
final Symbol _symbol_i = _symbols[offset + 1];
final EnumDecl i = (EnumDecl) _symbol_i.value;
return i;
}
case 390: // 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 391: // 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 392: // 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 393: // 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 394: // 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 395: // 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 396: // enum_body = LBRACE.LBRACE RBRACE.RBRACE
{
final Symbol LBRACE = _symbols[offset + 1];
final Symbol RBRACE = _symbols[offset + 2];
return new List();
}
case 397: // 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 398: // 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 399: // 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 400: // 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 401: // 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 402: // 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 403: // 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 404: // 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 405: // 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 406: // 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 407: // 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 408: // 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 409: // 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 410: // 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 411: // 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 412: // 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 413: // 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 414: // 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 415: // annotations = annotation.annotation
{
final Symbol _symbol_annotation = _symbols[offset + 1];
final Annotation annotation = (Annotation) _symbol_annotation.value;
return new List().add(annotation);
}
case 416: // 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 417: // enum_body_declarations = SEMICOLON.SEMICOLON class_body_declarations_opt.class_body_declarations
{
final Symbol SEMICOLON = _symbols[offset + 1];
final Symbol _symbol_class_body_declarations = _symbols[offset + 2];
final List class_body_declarations = (List) _symbol_class_body_declarations.value;
return class_body_declarations;
}
case 418: // 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 419: // 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 420: // 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 421: // 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 422: // 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 423: // 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 424: // 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 425: // 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 426: // 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 427: // 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 428: // 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 429: // 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 430: // 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 431: // 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 432: // 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 433: // 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 434: // 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 435: // 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 436: // 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 437: // 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 438: // 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 439: // 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 440: // 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 441: // 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 442: // 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 443: // 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 444: // 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 445: // 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 446: // 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 447: // 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 448: // 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 449: // 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 450: // 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 451: // 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 452: // 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 453: // 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 454: // 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 455: // 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 456: // class_or_interface = name.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 457: // 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 458: // class_or_interface_type = class_or_interface.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Access n = (Access) _symbol_n.value;
return n;
}
case 459: // 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 460: // 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 461: // 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 462: // 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 463: // wildcard = QUESTION.QUESTION
{
final Symbol QUESTION = _symbols[offset + 1];
return new Wildcard();
}
case 464: // 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 465: // 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 466: // wildcard_1 = QUESTION.QUESTION GT.GT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol GT = _symbols[offset + 2];
return new Wildcard();
}
case 467: // 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 468: // 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 469: // wildcard_2 = QUESTION.QUESTION RSHIFT.RSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol RSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 470: // 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 471: // 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 472: // wildcard_3 = QUESTION.QUESTION URSHIFT.URSHIFT
{
final Symbol QUESTION = _symbols[offset + 1];
final Symbol URSHIFT = _symbols[offset + 2];
return new Wildcard();
}
case 473: // 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 474: // 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 475: // 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 476: // 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 477: // 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 478: // 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 479: // 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 480: // 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 481: // 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 482: // 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 483: // 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 484: // 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 485: // 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 486: // 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 487: // 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 488: // 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 489: // 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 490: // 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 491: // 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 492: // 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 493: // type_argument = reference_type.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 494: // type_argument = wildcard.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 495: // type_argument_1 = reference_type_1.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 496: // type_argument_1 = wildcard_1.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 497: // type_argument_2 = reference_type_2.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 498: // type_argument_2 = wildcard_2.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 499: // type_argument_3 = reference_type_3.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final Access t = (Access) _symbol_t.value;
return t;
}
case 500: // type_argument_3 = wildcard_3.w
{
final Symbol _symbol_w = _symbols[offset + 1];
final Access w = (Access) _symbol_w.value;
return w;
}
case 501: // 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 502: // 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 503: // 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 504: // 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 505: // 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 506: // 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 507: // 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 508: // 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 509: // 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 510: // 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 511: // 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 512: // 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 513: // 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 514: // 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 515: // type_parameter = IDENTIFIER.IDENTIFIER
{
final Symbol IDENTIFIER = _symbols[offset + 1];
return new TypeVariable(new Modifiers(), IDENTIFIER, new List(), new List());
}
case 516: // 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 517: // 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 518: // 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 519: // 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 520: // 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 521: // 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 522: // 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 523: // 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 524: // 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 525: // 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 526: // 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 527: // 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 528: // 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 529: // import_declaration = single_static_import_declaration.s
{
final Symbol _symbol_s = _symbols[offset + 1];
final ImportDecl s = (ImportDecl) _symbol_s.value;
return s;
}
case 530: // import_declaration = static_import_on_demand_declaration.t
{
final Symbol _symbol_t = _symbols[offset + 1];
final ImportDecl t = (ImportDecl) _symbol_t.value;
return t;
}
case 531: // 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 532: // 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 533: // 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 534: // 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 535: // primary_no_new_array = literal.l
{
final Symbol _symbol_l = _symbols[offset + 1];
final Expr l = (Expr) _symbol_l.value;
return l;
}
case 536: // 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 537: // 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 538: // 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 539: // 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 540: // 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 541: // primary_no_new_array = THIS.THIS
{
final Symbol THIS = _symbols[offset + 1];
return new ThisAccess("this");
}
case 542: // 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 543: // 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 544: // 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 545: // primary_no_new_array = class_instance_creation_expression.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 546: // primary_no_new_array = field_access.f
{
final Symbol _symbol_f = _symbols[offset + 1];
final Access f = (Access) _symbol_f.value;
return f;
}
case 547: // primary_no_new_array = method_invocation.m
{
final Symbol _symbol_m = _symbols[offset + 1];
final Access m = (Access) _symbol_m.value;
return m;
}
case 548: // primary_no_new_array = array_access.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Access a = (Access) _symbol_a.value;
return a;
}
case 549: // postfix_expression_nn = primary.p
{
final Symbol _symbol_p = _symbols[offset + 1];
final Expr p = (Expr) _symbol_p.value;
return p;
}
case 550: // postfix_expression_nn = postincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 551: // postfix_expression_nn = postdecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 552: // unary_expression_nn = preincrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 553: // unary_expression_nn = predecrement_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 554: // 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 555: // 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 556: // unary_expression_nn = unary_expression_not_plus_minus_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 557: // unary_expression_not_plus_minus_nn = postfix_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 558: // 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 559: // 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 560: // unary_expression_not_plus_minus_nn = cast_expression.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 561: // multiplicative_expression_nn = unary_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 562: // 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 563: // 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 564: // 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 565: // 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 566: // 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 567: // 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 568: // additive_expression_nn = multiplicative_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 569: // 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 570: // 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 571: // 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 572: // 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 573: // shift_expression_nn = additive_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 574: // 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 575: // 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 576: // 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 577: // 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 578: // 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 579: // 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 580: // relational_expression_nn = shift_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 581: // 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 582: // 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 583: // 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 584: // 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 585: // 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 586: // 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 587: // 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 588: // 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 589: // relational_expression_nn = name.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Access e = (Access) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 590: // relational_expression_nn = relational_expression_nn.e INSTANCEOF.INSTANCEOF reference_type.t
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
final Symbol INSTANCEOF = _symbols[offset + 2];
final Symbol _symbol_t = _symbols[offset + 3];
final Access t = (Access) _symbol_t.value;
return new InstanceOfExpr(e, t);
}
case 591: // equality_expression_nn = relational_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 592: // equality_expression_nn = name.e1 EQEQ.EQEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol EQEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new EQExpr(e1, e2);
}
case 593: // equality_expression_nn = equality_expression_nn.e1 EQEQ.EQEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol EQEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new EQExpr(e1, e2);
}
case 594: // equality_expression_nn = name.e1 NOTEQ.NOTEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Access e1 = (Access) _symbol_e1.value;
final Symbol NOTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new NEExpr(e1, e2);
}
case 595: // equality_expression_nn = equality_expression_nn.e1 NOTEQ.NOTEQ relational_expression.e2
{
final Symbol _symbol_e1 = _symbols[offset + 1];
final Expr e1 = (Expr) _symbol_e1.value;
final Symbol NOTEQ = _symbols[offset + 2];
final Symbol _symbol_e2 = _symbols[offset + 3];
final Expr e2 = (Expr) _symbol_e2.value;
return new NEExpr(e1, e2);
}
case 596: // and_expression_nn = equality_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 597: // 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 598: // 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 599: // exclusive_or_expression_nn = and_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 600: // 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 601: // 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 602: // inclusive_or_expression_nn = exclusive_or_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 603: // 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 604: // 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 605: // conditional_and_expression_nn = inclusive_or_expression_nn.e
{
final Symbol _symbol_e = _symbols[offset + 1];
final Expr e = (Expr) _symbol_e.value;
return e;
}
case 606: // 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 607: // 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 608: // 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 609: // 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 610: // 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 611: // conditional_expression_nn = conditional_or_expression_nn.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 612: // 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 613: // 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 614: // assignment_expression_nn = conditional_expression_nn.c
{
final Symbol _symbol_c = _symbols[offset + 1];
final Expr c = (Expr) _symbol_c.value;
return c;
}
case 615: // assignment_expression_nn = assignment.a
{
final Symbol _symbol_a = _symbols[offset + 1];
final Expr a = (Expr) _symbol_a.value;
return a;
}
case 617: // default_value_opt =
{
return new Opt();
}
case 618: // 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 619: // expression_opt =
{
return new Opt();
}
case 620: // expression_opt = expression.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Expr n = (Expr) _symbol_n.value;
return new Opt(n);
}
case 621: // argument_list_opt =
{
return new List();
}
case 622: // argument_list_opt = argument_list.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 623: // throws_opt =
{
return new List();
}
case 624: // throws_opt = throws.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 625: // subclass_body_opt =
{
return new Opt();
}
case 626: // subclass_body_opt = subclass_body.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final Opt n = (Opt) _symbol_n.value;
return n;
}
case 627: // block_statements_opt =
{
return new List();
}
case 628: // block_statements_opt = block_statements.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 629: // annotation_type_element_declarations_opt =
{
return new List();
}
case 630: // 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 631: // formal_parameter_list_opt =
{
return new List();
}
case 632: // 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 633: // interface_member_declarations_opt =
{
return new List();
}
case 634: // interface_member_declarations_opt = interface_member_declarations.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 635: // dims_opt =
{
return new List();
}
case 636: // dims_opt = dims.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 637: // for_init_opt =
{
return new List();
}
case 638: // for_init_opt = for_init.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 639: // for_update_opt =
{
return new List();
}
case 640: // for_update_opt = for_update.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 641: // class_body_declarations_opt =
{
return new List();
}
case 642: // class_body_declarations_opt = class_body_declarations.n
{
final Symbol _symbol_n = _symbols[offset + 1];
final List n = (List) _symbol_n.value;
return n;
}
case 643: // element_value_pairs_opt =
{
return new List();
}
case 644: // 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 353: // annotation_type_element_declaration = constant_declaration.constant_declaration
case 360: // modifier = annotation.annotation
case 361: // annotation = normal_annotation.normal_annotation
case 362: // annotation = marker_annotation.marker_annotation
case 363: // annotation = single_element_annotation.single_element_annotation
case 616: // expression_nn = assignment_expression_nn.assignment_expression_nn
{
return _symbols[offset + 1];
}
default:
throw new IllegalArgumentException("unknown production #" + rule_num);
}
}
}