You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We face a regression when we updated from 2.0.15 to 2.0.17. The error also happens with 2.0.16 (same stacktrace):
[javac] C:\SVN\josm\core\src\org\openstreetmap\josm\gui\mappaint\mapcss\parsergen\MapCSSParser.java:451: error: An unhandled exception was thrown by the Error Prone static analysis plugin.
[javac] switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
[javac] ^
[javac] Please report this at https://github.com/google/error-prone/issues/new and include the following:
[javac]
[javac] error-prone version: 2.0.17
[javac] Stack Trace:
[javac] java.lang.IllegalStateException
[javac] at com.google.common.base.Preconditions.checkState(Preconditions.java:429)
[javac] at com.google.errorprone.util.Reachability$CanCompleteNormallyVisitor.scan(Reachability.java:75)
[javac] at com.google.errorprone.util.Reachability$CanCompleteNormallyVisitor.visitBlock(Reachability.java:101)
[javac] at com.google.errorprone.util.Reachability$CanCompleteNormallyVisitor.visitBlock(Reachability.java:62)
[javac] at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:996)
[javac] at com.google.errorprone.util.Reachability.canCompleteNormally(Reachability.java:59)
[javac] at com.google.errorprone.bugpatterns.FallThrough.matchSwitch(FallThrough.java:69)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitSwitch(ErrorProneScanner.java:1075)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitSwitch(ErrorProneScanner.java:144)
[javac] at com.sun.tools.javac.tree.JCTree$JCSwitch.accept(JCTree.java:1193)
[javac] at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:71)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:89)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:43)
[javac] at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
[javac] at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
[javac] at com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:248)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:575)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:144)
[javac] at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:996)
[javac] at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:71)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:89)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:43)
[javac] at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
[javac] at com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:206)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:943)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:144)
[javac] at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:868)
[javac] at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:71)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:89)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:43)
[javac] at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
[javac] at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
[javac] at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
[javac] at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:635)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:144)
[javac] at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:778)
[javac] at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:71)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:89)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:43)
[javac] at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
[javac] at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
[javac] at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:144)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:650)
[javac] at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:144)
[javac] at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:561)
[javac] at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:52)
[javac] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:68)
[javac] at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43)
[javac] at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:145)
[javac] at com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:120)
[javac] at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1277)
[javac] at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1226)
[javac] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:840)
[javac] at com.sun.tools.javac.main.Main.compile(Main.java:257)
[javac] at com.google.errorprone.BaseErrorProneCompiler.run(BaseErrorProneCompiler.java:229)
[javac] at com.google.errorprone.BaseErrorProneCompiler.run(BaseErrorProneCompiler.java:107)
[javac] at com.google.errorprone.ErrorProneCompiler.run(ErrorProneCompiler.java:128)
[javac] at com.google.errorprone.ErrorProneCompiler.compile(ErrorProneCompiler.java:70)
[javac] at com.google.errorprone.ErrorProneAntCompilerAdapter$AntRunner.apply(ErrorProneAntCompilerAdapter.java:38)
[javac] at com.google.errorprone.ErrorProneAntCompilerAdapter$AntRunner.apply(ErrorProneAntCompilerAdapter.java:35)
[javac] at com.google.errorprone.ErrorProneAntCompilerAdapter.execute(ErrorProneAntCompilerAdapter.java:71)
[javac] at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1160)
[javac] at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:936)
[javac] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
[javac] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[javac] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[javac] at java.lang.reflect.Method.invoke(Method.java:498)
[javac] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[javac] at org.apache.tools.ant.Task.perform(Task.java:348)
[javac] at org.apache.tools.ant.Target.execute(Target.java:435)
[javac] at org.apache.tools.ant.Target.performTasks(Target.java:456)
[javac] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
[javac] at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
[javac] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[javac] at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:36)
[javac] at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
[javac] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:456)
[javac] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:140)
The class has been generated with JavaCC. Here it is:
/* MapCSSParser.java *//* Generated By:JavaCC: Do not edit this line. MapCSSParser.java */packageorg.openstreetmap.josm.gui.mappaint.mapcss.parsergen;
importstaticorg.openstreetmap.josm.tools.I18n.tr;
importjava.io.InputStream;
importjava.io.Reader;
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
importjava.util.Locale;
importorg.openstreetmap.josm.Main;
importorg.openstreetmap.josm.gui.mappaint.Keyword;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Condition;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Condition.Context;
importorg.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory;
importorg.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory.KeyMatchType;
importorg.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory.Op;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Expression;
importorg.openstreetmap.josm.gui.mappaint.mapcss.ExpressionFactory;
importorg.openstreetmap.josm.gui.mappaint.mapcss.ExpressionFactory.NullExpression;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Instruction;
importorg.openstreetmap.josm.gui.mappaint.mapcss.LiteralExpression;
importorg.openstreetmap.josm.gui.mappaint.mapcss.MapCSSException;
importorg.openstreetmap.josm.gui.mappaint.mapcss.MapCSSRule;
importorg.openstreetmap.josm.gui.mappaint.mapcss.MapCSSRule.Declaration;
importorg.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Selector;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Selector.ChildOrParentSelector;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Selector.GeneralSelector;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Selector.LinkSelector;
importorg.openstreetmap.josm.gui.mappaint.mapcss.Subpart;
importorg.openstreetmap.josm.tools.ColorHelper;
importorg.openstreetmap.josm.tools.JosmRuntimeException;
importorg.openstreetmap.josm.tools.Pair;
importorg.openstreetmap.josm.tools.Utils;
/** * MapCSS parser. * * Contains two independent grammars: * (a) the preprocessor and (b) the main mapcss parser. * * The preprocessor handles @supports and @media syntax (@media is deprecated). * Basically this allows to write one style for different versions of JOSM (or different editors). * When the @supports condition is not fulfilled, it should simply skip over * the whole section and not attempt to parse the possibly unknown * grammar. It preserves whitespace and comments, in order to keep the * line and column numbers in the error messages correct for the second pass. * */publicclassMapCSSParserimplementsMapCSSParserConstants {
MapCSSStyleSourcesheet;
StringBuildersb;
intdeclarationCounter;
/** * Nicer way to refer to a lexical state. */publicstaticenumLexicalState {
/** the preprocessor */PREPROCESSOR(0),
/** the main parser */DEFAULT(2);
finalintidx; // the integer, which javacc assigns to this stateLexicalState(intidx) {
if (!this.name().equals(MapCSSParserTokenManager.lexStateNames[idx])) {
thrownewJosmRuntimeException("Wrong name for index " + idx);
}
this.idx = idx;
}
}
/** * Constructor which initializes the parser with a certain lexical state. * @param in input * @param encoding contents encoding * @param initState initial state */publicMapCSSParser(InputStreamin, Stringencoding, LexicalStateinitState) {
this(createTokenManager(in, encoding, initState));
declarationCounter = 0;
}
protectedstaticMapCSSParserTokenManagercreateTokenManager(InputStreamin, Stringencoding, LexicalStateinitState) {
SimpleCharStreamscs;
try {
scs = newSimpleCharStream(in, encoding, 1, 1);
} catch (java.io.UnsupportedEncodingExceptione) {
thrownewJosmRuntimeException(e);
}
returnnewMapCSSParserTokenManager(scs, initState.idx);
}
/** * Constructor which initializes the parser with a certain lexical state. * @param in input * @param initState initial state */publicMapCSSParser(Readerin, LexicalStateinitState) {
this(createTokenManager(in, initState));
declarationCounter = 0;
}
protectedstaticMapCSSParserTokenManagercreateTokenManager(Readerin, LexicalStateinitState) {
finalSimpleCharStreamscs = newSimpleCharStream(in, 1, 1);
returnnewMapCSSParserTokenManager(scs, initState.idx);
}
/* * Preprocessor parser definitions: * * <pre> * * {@literal @media} { ... } queries are supported, following http://www.w3.org/TR/css3-mediaqueries/#syntax * * media_query * ___________________________|_______________________________ * | | * {@literal @media} all and (min-josm-version: 7789) and (max-josm-version: 7790), all and (user-agent: xyz) { ... } * |______________________| * | * media_expression * </pre> *//** * root method for the preprocessor. * @param sheet MapCSS style source * @return result string * @throws ParseException in case of parsing error */finalpublicStringpp_root(MapCSSStyleSourcesheet) throwsParseException {
sb = newStringBuilder(); this.sheet = sheet;
pp_black_box(true);
jj_consume_token(0);
{if ("" != null) returnsb.toString();}
thrownewError("Missing return statement in function");
}
/** * Parse any unknown grammar (black box). * * Only stop when "@media" is encountered and keep track of correct number of * opening and closing curly brackets. * * @param write false if this content should be skipped (@pp_media condition is not fulfilled), true otherwise * @throws ParseException in case of parsing error */finalpublicvoidpp_black_box(booleanwrite) throwsParseException {Tokent;
label_1:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:
casePP_OR:
casePP_NOT:
casePP_SUPPORTS:
casePP_MEDIA:
casePP_NEWLINECHAR:
casePP_WHITESPACE:
casePP_COMMENT_START:
caseIDENT:
caseUINT:
caseSTRING:
caseREGEX:
caseLBRACE:
caseLPAR:
caseRPAR:
caseCOMMA:
caseCOLON:
casePP_SOMETHING_ELSE:{
;
break;
}
default:
jj_la1[0] = jj_gen;
breaklabel_1;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:
casePP_OR:
casePP_NOT:
caseIDENT:
caseUINT:
caseSTRING:
caseREGEX:
caseLPAR:
caseRPAR:
caseCOMMA:
caseCOLON:
casePP_SOMETHING_ELSE:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:{
t = jj_consume_token(PP_AND);
break;
}
casePP_OR:{
t = jj_consume_token(PP_OR);
break;
}
casePP_NOT:{
t = jj_consume_token(PP_NOT);
break;
}
caseUINT:{
t = jj_consume_token(UINT);
break;
}
caseSTRING:{
t = jj_consume_token(STRING);
break;
}
caseREGEX:{
t = jj_consume_token(REGEX);
break;
}
caseLPAR:{
t = jj_consume_token(LPAR);
break;
}
caseRPAR:{
t = jj_consume_token(RPAR);
break;
}
caseCOMMA:{
t = jj_consume_token(COMMA);
break;
}
caseCOLON:{
t = jj_consume_token(COLON);
break;
}
caseIDENT:{
t = jj_consume_token(IDENT);
break;
}
casePP_SOMETHING_ELSE:{
t = jj_consume_token(PP_SOMETHING_ELSE);
break;
}
default:
jj_la1[1] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
if (write) sb.append(t.image);
break;
}
casePP_NEWLINECHAR:
casePP_WHITESPACE:
casePP_COMMENT_START:{
pp_w1();
break;
}
casePP_SUPPORTS:{
pp_supports(!write);
break;
}
casePP_MEDIA:{
pp_media(!write);
break;
}
caseLBRACE:{
t = jj_consume_token(LBRACE);
if (write) sb.append(t.image);
pp_black_box(write);
t = jj_consume_token(RBRACE);
if (write) sb.append(t.image);
break;
}
default:
jj_la1[2] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
}
/** * Parses an @supports rule. * * @param ignore if the content of this rule should be ignored * (because we are already inside a @supports block that didn't pass) * @throws ParseException in case of parsing error */finalpublicvoidpp_supports(booleanignore) throwsParseException {booleanpass;
jj_consume_token(PP_SUPPORTS);
pp_w();
pass = pp_supports_condition();
jj_consume_token(LBRACE);
pp_black_box(pass && !ignore);
jj_consume_token(RBRACE);
}
/** * Parses the condition of the @supports rule. * * Unlike other parsing rules, grabs trailing whitespace. * @return true, if the condition is fulfilled * @throws ParseException in case of parsing error */finalpublicbooleanpp_supports_condition() throwsParseException {booleanpass;
booleanq;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_NOT:{
jj_consume_token(PP_NOT);
pp_w();
q = pp_supports_condition_in_parens();
pass = !q;
pp_w();
break;
}
default:
jj_la1[5] = jj_gen;
if (jj_2_1(2147483647)) {
pass = pp_supports_condition_in_parens();
pp_w();
label_2:
while (true) {
jj_consume_token(PP_AND);
pp_w();
q = pp_supports_condition_in_parens();
pass = pass && q;
pp_w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:{
;
break;
}
default:
jj_la1[3] = jj_gen;
breaklabel_2;
}
}
} elseif (jj_2_2(2147483647)) {
pass = pp_supports_condition_in_parens();
pp_w();
label_3:
while (true) {
jj_consume_token(PP_OR);
pp_w();
q = pp_supports_condition_in_parens();
pass = pass || q;
pp_w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_OR:{
;
break;
}
default:
jj_la1[4] = jj_gen;
breaklabel_3;
}
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseLPAR:{
pass = pp_supports_condition_in_parens();
pp_w();
break;
}
default:
jj_la1[6] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
}
{if ("" != null) returnpass;}
thrownewError("Missing return statement in function");
}
/** * Parses something in parenthesis inside the condition of the @supports rule. * * @return true, if the condition is fulfilled * @throws ParseException in case of parsing error */finalpublicbooleanpp_supports_condition_in_parens() throwsParseException {booleanpass;
if (jj_2_3(2147483647)) {
pass = pp_supports_declaration_condition();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseLPAR:{
jj_consume_token(LPAR);
pp_w();
pass = pp_supports_condition();
jj_consume_token(RPAR);
break;
}
default:
jj_la1[7] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
{if ("" != null) returnpass;}
thrownewError("Missing return statement in function");
}
/** * Parse an @supports declaration condition, e. g. a single (key:value) or (key) statement. * * The parsing rule {@link #literal()} from the main mapcss parser is reused here. * * @return true if the condition is fulfilled * @throws ParseException in case of parsing error */finalpublicbooleanpp_supports_declaration_condition() throwsParseException {Tokent;
Stringfeature;
Objectval = null;
jj_consume_token(LPAR);
pp_w();
t = jj_consume_token(IDENT);
feature = t.image;
pp_w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOLON:{
jj_consume_token(COLON);
pp_w();
val = literal();
break;
}
default:
jj_la1[8] = jj_gen;
;
}
jj_consume_token(RPAR);
{if ("" != null) returnthis.sheet.evalSupportsDeclCondition(feature, val);}
thrownewError("Missing return statement in function");
}
// deprecatedfinalpublicvoidpp_media(booleanignore) throwsParseException {booleanpass = false;
booleanq;
booleanempty = true;
if (sheet != null) {
Stringmsg = tr("Detected deprecated ''{0}'' in ''{1}'' which will be removed shortly. Use ''{2}'' instead.",
"@media", sheet.getDisplayString(), "@supports");
Main.error(msg);
sheet.logWarning(msg);
}
jj_consume_token(PP_MEDIA);
pp_w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_NOT:
caseIDENT:
caseLPAR:{
q = pp_media_query();
pass = pass || q; empty = false;
label_4:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOMMA:{
;
break;
}
default:
jj_la1[9] = jj_gen;
breaklabel_4;
}
jj_consume_token(COMMA);
pp_w();
q = pp_media_query();
pass = pass || q;
}
break;
}
default:
jj_la1[10] = jj_gen;
;
}
jj_consume_token(LBRACE);
pp_black_box((empty || pass) && !ignore);
jj_consume_token(RBRACE);
}
// deprecatedfinalpublicbooleanpp_media_query() throwsParseException {Tokent;
Stringmediatype = "all";
booleanpass = true;
booleaninvert = false;
booleane;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_NOT:{
jj_consume_token(PP_NOT);
invert = true;
pp_w();
break;
}
default:
jj_la1[11] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:{
t = jj_consume_token(IDENT);
mediatype = t.image.toLowerCase(Locale.ENGLISH);
pp_w();
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:{
;
break;
}
default:
jj_la1[12] = jj_gen;
breaklabel_5;
}
jj_consume_token(PP_AND);
pp_w();
e = pp_media_expression();
pass = pass && e;
pp_w();
}
break;
}
caseLPAR:{
e = pp_media_expression();
pass = pass && e;
pp_w();
label_6:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_AND:{
;
break;
}
default:
jj_la1[13] = jj_gen;
breaklabel_6;
}
jj_consume_token(PP_AND);
pp_w();
e = pp_media_expression();
pass = pass && e;
pp_w();
}
break;
}
default:
jj_la1[14] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
if (!"all".equals(mediatype)) {
pass = false;
}
{if ("" != null) returninvert ? (!pass) : pass;}
thrownewError("Missing return statement in function");
}
/** * Parse an @media expression. * * The parsing rule {@link #literal()} from the main mapcss parser is reused here. * * @return true if the condition is fulfilled * @throws ParseException in case of parsing error */// deprecatedfinalpublicbooleanpp_media_expression() throwsParseException {Tokent;
Stringfeature;
Objectval = null;
jj_consume_token(LPAR);
pp_w();
t = jj_consume_token(IDENT);
feature = t.image;
pp_w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOLON:{
jj_consume_token(COLON);
pp_w();
val = literal();
break;
}
default:
jj_la1[15] = jj_gen;
;
}
jj_consume_token(RPAR);
{if ("" != null) returnthis.sheet.evalSupportsDeclCondition(feature, val);}
thrownewError("Missing return statement in function");
}
finalpublicvoidpp_w1() throwsParseException {Tokent;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_NEWLINECHAR:{
t = jj_consume_token(PP_NEWLINECHAR);
sb.append(t.image);
break;
}
casePP_WHITESPACE:{
t = jj_consume_token(PP_WHITESPACE);
sb.append(t.image);
break;
}
casePP_COMMENT_START:{
t = jj_consume_token(PP_COMMENT_START);
sb.append(t.image);
t = jj_consume_token(PP_COMMENT_END);
sb.append(t.image);
break;
}
default:
jj_la1[16] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
finalpublicvoidpp_w() throwsParseException {
label_7:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePP_NEWLINECHAR:
casePP_WHITESPACE:
casePP_COMMENT_START:{
;
break;
}
default:
jj_la1[17] = jj_gen;
breaklabel_7;
}
pp_w1();
}
}
/* * Parser definition for the main MapCSS parser: * * <pre> * * rule * _______________________|______________________________ * | | * selector declaration * _________|___________________ _________|____________ * | | | | * * way|z11-12[highway=residential] { color: red; width: 3 } * * |_____||___________________| |_________| * | | | * zoom condition instruction * * more general: * * way|z13-[a=b][c=d]::subpart, way|z-3[u=v]:closed::subpart2 { p1 : val; p2 : val; } * * 'val' can be a literal, or an expression like "prop(width, default) + 0.8". * * </pre> */finalpublicintuint() throwsParseException {Tokeni;
i = jj_consume_token(UINT);
{if ("" != null) returnInteger.parseInt(i.image);}
thrownewError("Missing return statement in function");
}
finalpublicintint_() throwsParseException {inti;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseMINUS:{
jj_consume_token(MINUS);
i = uint();
{if ("" != null) return -i;}
break;
}
caseUINT:{
i = uint();
{if ("" != null) returni;}
break;
}
default:
jj_la1[18] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
thrownewError("Missing return statement in function");
}
finalpublicfloatufloat() throwsParseException {Tokenf;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseUFLOAT:{
f = jj_consume_token(UFLOAT);
break;
}
caseUINT:{
f = jj_consume_token(UINT);
break;
}
default:
jj_la1[19] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
{if ("" != null) returnFloat.parseFloat(f.image);}
thrownewError("Missing return statement in function");
}
finalpublicfloatfloat_() throwsParseException {floatf;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseMINUS:{
jj_consume_token(MINUS);
f = ufloat();
{if ("" != null) return -f;}
break;
}
caseUINT:
caseUFLOAT:{
f = ufloat();
{if ("" != null) returnf;}
break;
}
default:
jj_la1[20] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
thrownewError("Missing return statement in function");
}
finalpublicStringstring() throwsParseException {Tokent;
t = jj_consume_token(STRING);
{if ("" != null) returnt.image.substring(1, t.image.length() - 1).replace("\\\"", "\"").replace("\\\\", "\\");}
thrownewError("Missing return statement in function");
}
finalpublicStringident() throwsParseException {Tokent;
Strings;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:{
t = jj_consume_token(IDENT);
break;
}
caseSET:{
t = jj_consume_token(SET);
break;
}
default:
jj_la1[21] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
{if ("" != null) returnt.image;}
thrownewError("Missing return statement in function");
}
finalpublicStringstring_or_ident() throwsParseException {Tokent;
Strings;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:{
s = ident();
break;
}
caseSTRING:{
s = string();
break;
}
default:
jj_la1[22] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
{if ("" != null) returns;}
thrownewError("Missing return statement in function");
}
finalpublicStringregex() throwsParseException {Tokent;
t = jj_consume_token(REGEX);
{if ("" != null) returnt.image.substring(1, t.image.length() - 1);}
thrownewError("Missing return statement in function");
}
/** * white-space * @throws ParseException in case of parsing error */finalpublicvoids() throwsParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseS:{
jj_consume_token(S);
break;
}
default:
jj_la1[23] = jj_gen;
;
}
}
/** * mix of white-space and comments * @throws ParseException in case of parsing error */finalpublicvoidw() throwsParseException {
label_8:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseS:
caseCOMMENT_START:{
;
break;
}
default:
jj_la1[24] = jj_gen;
breaklabel_8;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseS:{
jj_consume_token(S);
break;
}
caseCOMMENT_START:{
jj_consume_token(COMMENT_START);
jj_consume_token(COMMENT_END);
break;
}
default:
jj_la1[25] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
}
/** * comma delimited list of floats (at least 2, all >= 0) * @return list of floats * @throws ParseException in case of parsing error */finalpublicList<Float> float_array() throwsParseException {floatf;
List<Float> fs = newArrayList<Float>();
f = ufloat();
fs.add(f);
label_9:
while (true) {
jj_consume_token(COMMA);
s();
f = ufloat();
fs.add(f);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOMMA:{
;
break;
}
default:
jj_la1[26] = jj_gen;
breaklabel_9;
}
}
{if ("" != null) returnfs;}
thrownewError("Missing return statement in function");
}
/** * entry point for the main parser * @param sheet MapCSS style source * @throws ParseException in case of parsing error */finalpublicvoidsheet(MapCSSStyleSourcesheet) throwsParseException {
this.sheet = sheet;
w();
label_10:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:
caseSTAR:{
;
break;
}
default:
jj_la1[27] = jj_gen;
breaklabel_10;
}
try {
rule();
w();
} catch (MapCSSExceptionmex) {
Main.error(mex);
error_skipto(RBRACE, mex);
w();
} catch (ParseExceptionex) {
error_skipto(RBRACE, null);
w();
}
}
jj_consume_token(0);
}
finalpublicvoidrule() throwsParseException {List<Selector> selectors;
Declarationdecl;
selectors = selectors();
decl = declaration();
for (Selectors : selectors) {
sheet.rules.add(newMapCSSRule(s, decl));
}
}
finalpublicList<Selector> selectors() throwsParseException {List<Selector> selectors = newArrayList<Selector>();
Selectorsel;
sel = child_selector();
selectors.add(sel);
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOMMA:{
;
break;
}
default:
jj_la1[28] = jj_gen;
breaklabel_11;
}
jj_consume_token(COMMA);
w();
sel = child_selector();
selectors.add(sel);
}
{if ("" != null) returnselectors;}
thrownewError("Missing return statement in function");
}
finalpublicSelectorchild_selector() throwsParseException {Selector.ChildOrParentSelectorTypetype = null;
Conditionc;
List<Condition> conditions = newArrayList<Condition>();
SelectorselLeft;
LinkSelectorselLink = null;
SelectorselRight = null;
selLeft = selector();
w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:
caseSTAR:
caseGREATER:
caseLESS:
casePLUS:
caseELEMENT_OF:
caseCROSSING:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER:
caseLESS:
casePLUS:
caseELEMENT_OF:
caseCROSSING:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER:
caseLESS:
casePLUS:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER:{
jj_consume_token(GREATER);
type = Selector.ChildOrParentSelectorType.CHILD;
break;
}
caseLESS:{
jj_consume_token(LESS);
type = Selector.ChildOrParentSelectorType.PARENT;
break;
}
casePLUS:{
jj_consume_token(PLUS);
type = Selector.ChildOrParentSelectorType.SIBLING;
break;
}
default:
jj_la1[29] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
label_12:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOLON:
caseLSQUARE:
caseEXCLAMATION:
caseFULLSTOP:{
;
break;
}
default:
jj_la1[30] = jj_gen;
breaklabel_12;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseLSQUARE:{
c = condition(Context.LINK);
break;
}
caseCOLON:
caseEXCLAMATION:
caseFULLSTOP:{
c = class_or_pseudoclass(Context.LINK);
break;
}
default:
jj_la1[31] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
conditions.add(c);
}
break;
}
caseELEMENT_OF:{
jj_consume_token(ELEMENT_OF);
type = Selector.ChildOrParentSelectorType.ELEMENT_OF;
break;
}
caseCROSSING:{
jj_consume_token(CROSSING);
type = Selector.ChildOrParentSelectorType.CROSSING;
break;
}
default:
jj_la1[32] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
w();
break;
}
default:
jj_la1[33] = jj_gen;
/* <GREATER> is optional for child selector */type = Selector.ChildOrParentSelectorType.CHILD;
}
selLink = newLinkSelector(conditions);
selRight = selector();
w();
break;
}
default:
jj_la1[34] = jj_gen;
;
}
{if ("" != null) returnselRight != null ? newChildOrParentSelector(selLeft, selLink, selRight, type) : selLeft;}
thrownewError("Missing return statement in function");
}
finalpublicSelectorselector() throwsParseException {Tokenbase;
Conditionc;
Pair<Integer, Integer> r = null;
List<Condition> conditions = newArrayList<Condition>();
Subpartsub = null;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:{
base = jj_consume_token(IDENT);
break;
}
caseSTAR:{
base = jj_consume_token(STAR);
break;
}
default:
jj_la1[35] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePIPE_Z:{
r = zoom();
break;
}
default:
jj_la1[36] = jj_gen;
;
}
label_13:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOLON:
caseLSQUARE:
caseEXCLAMATION:
caseFULLSTOP:{
;
break;
}
default:
jj_la1[37] = jj_gen;
breaklabel_13;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseLSQUARE:{
c = condition(Context.PRIMITIVE);
break;
}
caseCOLON:
caseEXCLAMATION:
caseFULLSTOP:{
c = class_or_pseudoclass(Context.PRIMITIVE);
break;
}
default:
jj_la1[38] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
conditions.add(c);
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseDCOLON:{
sub = subpart();
break;
}
default:
jj_la1[39] = jj_gen;
;
}
{if ("" != null) returnnewGeneralSelector(base.image, r, conditions, sub);}
thrownewError("Missing return statement in function");
}
finalpublicPair<Integer, Integer> zoom() throwsParseException {Integermin = 0;
Integermax = Integer.MAX_VALUE;
jj_consume_token(PIPE_Z);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseMINUS:{
jj_consume_token(MINUS);
max = uint();
break;
}
default:
jj_la1[41] = jj_gen;
if (jj_2_4(2)) {
min = uint();
jj_consume_token(MINUS);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseUINT:{
max = uint();
break;
}
default:
jj_la1[40] = jj_gen;
;
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseUINT:{
min = uint();
max = min;
break;
}
default:
jj_la1[42] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
}
{if ("" != null) returnnewPair<Integer, Integer>(min, max);}
thrownewError("Missing return statement in function");
}
finalpublicConditioncondition(Contextcontext) throwsParseException {Conditionc;
Expressione;
jj_consume_token(LSQUARE);
s();
if (jj_2_5(2147483647)) {
c = simple_key_condition(context);
s();
jj_consume_token(RSQUARE);
{if ("" != null) returnc;}
} elseif (jj_2_6(2147483647)) {
c = simple_key_value_condition(context);
s();
jj_consume_token(RSQUARE);
{if ("" != null) returnc;}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:
caseUINT:
caseSTRING:
caseLPAR:
caseUFLOAT:
caseHEXCOLOR:
caseEXCLAMATION:
casePLUS:
caseMINUS:{
e = expression();
jj_consume_token(RSQUARE);
{if ("" != null) returnConditionFactory.createExpressionCondition(e, context);}
break;
}
default:
jj_la1[43] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
thrownewError("Missing return statement in function");
}
finalpublicStringtag_key() throwsParseException {Strings, s2;
Tokent;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTRING:{
s = string();
{if ("" != null) returns;}
break;
}
caseSET:
caseIDENT:{
s = ident();
label_14:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOLON:{
;
break;
}
default:
jj_la1[44] = jj_gen;
breaklabel_14;
}
jj_consume_token(COLON);
s2 = ident();
s += ':' + s2;
}
{if ("" != null) returns;}
break;
}
default:
jj_la1[45] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
thrownewError("Missing return statement in function");
}
finalpublicConditionsimple_key_condition(Contextcontext) throwsParseException {booleannot = false;
KeyMatchTypematchType = null;;
Stringkey;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
not = true;
break;
}
default:
jj_la1[46] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseREGEX:{
matchType = KeyMatchType.REGEX;
key = regex();
break;
}
caseSET:
caseIDENT:
caseSTRING:{
key = tag_key();
break;
}
default:
jj_la1[47] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
if (jj_2_7(2)) {
jj_consume_token(QUESTION);
jj_consume_token(EXCLAMATION);
matchType = KeyMatchType.FALSE;
} else {
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseQUESTION:{
jj_consume_token(QUESTION);
matchType = KeyMatchType.TRUE;
break;
}
default:
jj_la1[48] = jj_gen;
;
}
{if ("" != null) returnConditionFactory.createKeyCondition(key, not, matchType, context);}
thrownewError("Missing return statement in function");
}
finalpublicConditionsimple_key_value_condition(Contextcontext) throwsParseException {Stringkey;
Stringval;
floatf;
inti;
KeyMatchTypematchType = null;;
Opop;
booleanconsiderValAsKey = false;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseREGEX:{
key = regex();
s();
matchType = KeyMatchType.REGEX;
break;
}
caseSET:
caseIDENT:
caseSTRING:{
key = tag_key();
s();
break;
}
default:
jj_la1[49] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
if (jj_2_9(3)) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEQUAL:{
jj_consume_token(EQUAL);
jj_consume_token(TILDE);
op=Op.REGEX;
break;
}
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
jj_consume_token(TILDE);
op=Op.NREGEX;
break;
}
default:
jj_la1[50] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
s();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTAR:{
jj_consume_token(STAR);
considerValAsKey=true;
break;
}
default:
jj_la1[51] = jj_gen;
;
}
val = regex();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTAR:
caseEQUAL:
caseEXCLAMATION:
caseTILDE:
caseDOLLAR:
caseCARET:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
jj_consume_token(EQUAL);
op=Op.NEQ;
break;
}
caseEQUAL:{
jj_consume_token(EQUAL);
op=Op.EQ;
break;
}
caseTILDE:{
jj_consume_token(TILDE);
jj_consume_token(EQUAL);
op=Op.ONE_OF;
break;
}
caseCARET:{
jj_consume_token(CARET);
jj_consume_token(EQUAL);
op=Op.BEGINS_WITH;
break;
}
caseDOLLAR:{
jj_consume_token(DOLLAR);
jj_consume_token(EQUAL);
op=Op.ENDS_WITH;
break;
}
caseSTAR:{
jj_consume_token(STAR);
jj_consume_token(EQUAL);
op=Op.CONTAINS;
break;
}
default:
jj_la1[52] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
s();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTAR:{
jj_consume_token(STAR);
considerValAsKey=true;
break;
}
default:
jj_la1[53] = jj_gen;
;
}
if (jj_2_8(2)) {
i = int_();
val=Integer.toString(i);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseUINT:
caseUFLOAT:
caseMINUS:{
f = float_();
val=Float.toString(f);
break;
}
caseSET:
caseIDENT:
caseSTRING:{
val = string_or_ident();
break;
}
default:
jj_la1[54] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
break;
}
caseGREATER_EQUAL:
caseLESS_EQUAL:
caseGREATER:
caseLESS:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER_EQUAL:{
jj_consume_token(GREATER_EQUAL);
op=Op.GREATER_OR_EQUAL;
break;
}
caseGREATER:{
jj_consume_token(GREATER);
op=Op.GREATER;
break;
}
caseLESS_EQUAL:{
jj_consume_token(LESS_EQUAL);
op=Op.LESS_OR_EQUAL;
break;
}
caseLESS:{
jj_consume_token(LESS);
op=Op.LESS;
break;
}
default:
jj_la1[55] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
s();
f = float_();
val=Float.toString(f);
break;
}
default:
jj_la1[56] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
{if ("" != null) returnKeyMatchType.REGEX == matchType
? ConditionFactory.createRegexpKeyRegexpValueCondition(key, val, op)
: ConditionFactory.createKeyValueCondition(key, val, op, context, considerValAsKey);}
thrownewError("Missing return statement in function");
}
finalpublicConditionclass_or_pseudoclass(Contextcontext) throwsParseException {Strings;
booleannot = false;
booleanpseudo;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
not = true;
break;
}
default:
jj_la1[57] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseFULLSTOP:{
jj_consume_token(FULLSTOP);
pseudo = false;
break;
}
caseCOLON:{
jj_consume_token(COLON);
pseudo = true;
break;
}
default:
jj_la1[58] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
s = ident();
{if ("" != null) returnpseudo
? ConditionFactory.createPseudoClassCondition(s, not, context)
: ConditionFactory.createClassCondition(s, not, context);}
thrownewError("Missing return statement in function");
}
finalpublicSubpartsubpart() throwsParseException {Strings;
Expressione;
jj_consume_token(DCOLON);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:{
s = ident();
{if ("" != null) returnnewSubpart.StringSubpart(s);}
break;
}
caseSTAR:{
jj_consume_token(STAR);
{if ("" != null) returnnewSubpart.StringSubpart("*");}
break;
}
caseLPAR:{
jj_consume_token(LPAR);
e = expression();
jj_consume_token(RPAR);
{if ("" != null) returnnewSubpart.ExpressionSubpart(e);}
break;
}
default:
jj_la1[59] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
thrownewError("Missing return statement in function");
}
finalpublicDeclarationdeclaration() throwsParseException {List<Instruction> ins = newArrayList<Instruction>();
Instructioni;
Tokenkey;
Objectval = null;
jj_consume_token(LBRACE);
w();
label_15:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:{
;
break;
}
default:
jj_la1[60] = jj_gen;
breaklabel_15;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:{
jj_consume_token(SET);
w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseFULLSTOP:{
jj_consume_token(FULLSTOP);
break;
}
default:
jj_la1[61] = jj_gen;
;
}
// specification allows "set .class" to set "class". we also support "set class"key = jj_consume_token(IDENT);
w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEQUAL:{
jj_consume_token(EQUAL);
val = expression();
break;
}
default:
jj_la1[62] = jj_gen;
;
}
ins.add(newInstruction.AssignmentInstruction(key.image, val == null ? true : val, true));
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseRBRACE:{
jj_consume_token(RBRACE);
{if ("" != null) returnnewDeclaration(ins, declarationCounter++);}
break;
}
caseSEMICOLON:{
jj_consume_token(SEMICOLON);
w();
break;
}
default:
jj_la1[63] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
break;
}
caseIDENT:{
key = jj_consume_token(IDENT);
w();
jj_consume_token(COLON);
w();
if (jj_2_10(2147483647)) {
val = float_array();
ins.add(newInstruction.AssignmentInstruction(key.image, val, false));
w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseRBRACE:{
jj_consume_token(RBRACE);
{if ("" != null) returnnewDeclaration(ins, declarationCounter++);}
break;
}
caseSEMICOLON:{
jj_consume_token(SEMICOLON);
w();
break;
}
default:
jj_la1[64] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
} elseif (jj_2_11(2147483647)) {
val = expression();
ins.add(newInstruction.AssignmentInstruction(key.image, val, false));
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseRBRACE:{
jj_consume_token(RBRACE);
{if ("" != null) returnnewDeclaration(ins, declarationCounter++);}
break;
}
caseSEMICOLON:{
jj_consume_token(SEMICOLON);
w();
break;
}
default:
jj_la1[65] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
} else {
val = readRaw();
w();
ins.add(newInstruction.AssignmentInstruction(key.image, val, false));
}
break;
}
default:
jj_la1[66] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
jj_consume_token(RBRACE);
{if ("" != null) returnnewDeclaration(ins, declarationCounter++);}
thrownewError("Missing return statement in function");
}
/** * General expression. * Separate production rule for each level of operator precedence (recursive descent). */finalpublicExpressionexpression() throwsParseException {Expressione;
e = conditional_expression();
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionconditional_expression() throwsParseException {Expressione, e1, e2;
Stringop = null;
e = or_expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseQUESTION:{
jj_consume_token(QUESTION);
w();
e1 = conditional_expression();
jj_consume_token(COLON);
w();
e2 = conditional_expression();
e = ExpressionFactory.createFunctionExpression("cond", Arrays.asList(e, e1, e2));
break;
}
default:
jj_la1[67] = jj_gen;
;
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionor_expression() throwsParseException {Expressione, e2;
Stringop = null;
e = and_expression();
label_16:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePIPE:{
;
break;
}
default:
jj_la1[68] = jj_gen;
breaklabel_16;
}
jj_consume_token(PIPE);
jj_consume_token(PIPE);
w();
e2 = and_expression();
e = ExpressionFactory.createFunctionExpression("or", Arrays.asList(e, e2));
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionand_expression() throwsParseException {Expressione, e2;
Stringop = null;
e = relational_expression();
label_17:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseAMPERSAND:{
;
break;
}
default:
jj_la1[69] = jj_gen;
breaklabel_17;
}
jj_consume_token(AMPERSAND);
jj_consume_token(AMPERSAND);
w();
e2 = relational_expression();
e = ExpressionFactory.createFunctionExpression("and", Arrays.asList(e, e2));
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionrelational_expression() throwsParseException {Expressione, e2;
Stringop = null;
e = additive_expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER_EQUAL:
caseLESS_EQUAL:
caseGREATER:
caseLESS:
caseEQUAL:
caseEXCLAMATION:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseGREATER_EQUAL:{
jj_consume_token(GREATER_EQUAL);
op = "greater_equal";
break;
}
caseLESS_EQUAL:{
jj_consume_token(LESS_EQUAL);
op = "less_equal";
break;
}
caseGREATER:{
jj_consume_token(GREATER);
op = "greater";
break;
}
caseLESS:{
jj_consume_token(LESS);
op = "less";
break;
}
caseEQUAL:{
jj_consume_token(EQUAL);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEQUAL:{
jj_consume_token(EQUAL);
break;
}
default:
jj_la1[70] = jj_gen;
;
}
op = "equal";
break;
}
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
jj_consume_token(EQUAL);
op = "not_equal";
break;
}
default:
jj_la1[71] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
w();
e2 = additive_expression();
e = ExpressionFactory.createFunctionExpression(op, Arrays.asList(e, e2));
break;
}
default:
jj_la1[72] = jj_gen;
;
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionadditive_expression() throwsParseException {Expressione, e2;
Stringop = null;
e = multiplicative_expression();
label_18:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePLUS:
caseMINUS:{
;
break;
}
default:
jj_la1[73] = jj_gen;
breaklabel_18;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
casePLUS:{
jj_consume_token(PLUS);
op = "plus";
break;
}
caseMINUS:{
jj_consume_token(MINUS);
op = "minus";
break;
}
default:
jj_la1[74] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
w();
e2 = multiplicative_expression();
e = ExpressionFactory.createFunctionExpression(op, Arrays.asList(e, e2));
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionmultiplicative_expression() throwsParseException {Expressione, e2;
Stringop = null;
e = unary_expression();
label_19:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTAR:
caseSLASH:{
;
break;
}
default:
jj_la1[75] = jj_gen;
breaklabel_19;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSTAR:{
jj_consume_token(STAR);
op = "times";
break;
}
caseSLASH:{
jj_consume_token(SLASH);
op = "divided_by";
break;
}
default:
jj_la1[76] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
w();
e2 = unary_expression();
e = ExpressionFactory.createFunctionExpression(op, Arrays.asList(e, e2));
}
{if ("" != null) returne;}
thrownewError("Missing return statement in function");
}
finalpublicExpressionunary_expression() throwsParseException {Expressione;
Stringop = null;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseEXCLAMATION:
caseMINUS:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseMINUS:{
jj_consume_token(MINUS);
op = "minus";
w();
break;
}
caseEXCLAMATION:{
jj_consume_token(EXCLAMATION);
op = "not";
w();
break;
}
default:
jj_la1[77] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
break;
}
default:
jj_la1[78] = jj_gen;
;
}
e = primary();
w();
if (op == null)
{if ("" != null) returne;}
{if ("" != null) returnExpressionFactory.createFunctionExpression(op, Collections.singletonList(e));}
thrownewError("Missing return statement in function");
}
finalpublicExpressionprimary() throwsParseException {Expressionnested;
Expressionfn;
Objectlit;
if (jj_2_12(3)) {
// both function and identifier start with an identifier (+ optional whitespace)fn = function();
{if ("" != null) returnfn;}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:
caseUINT:
caseSTRING:
caseUFLOAT:
caseHEXCOLOR:
casePLUS:{
lit = literal();
if (lit == null)
{if ("" != null) returnNullExpression.INSTANCE;}
{if ("" != null) returnnewLiteralExpression(lit);}
break;
}
caseLPAR:{
jj_consume_token(LPAR);
w();
nested = expression();
jj_consume_token(RPAR);
{if ("" != null) returnnested;}
break;
}
default:
jj_la1[79] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
thrownewError("Missing return statement in function");
}
finalpublicExpressionfunction() throwsParseException {Expressionarg;
Stringname;
List<Expression> args = newArrayList<Expression>();
name = ident();
w();
jj_consume_token(LPAR);
w();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:
caseUINT:
caseSTRING:
caseLPAR:
caseUFLOAT:
caseHEXCOLOR:
caseEXCLAMATION:
casePLUS:
caseMINUS:{
arg = expression();
args.add(arg);
label_20:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseCOMMA:{
;
break;
}
default:
jj_la1[80] = jj_gen;
breaklabel_20;
}
jj_consume_token(COMMA);
w();
arg = expression();
args.add(arg);
}
break;
}
default:
jj_la1[81] = jj_gen;
;
}
jj_consume_token(RPAR);
{if ("" != null) returnExpressionFactory.createFunctionExpression(name, args);}
thrownewError("Missing return statement in function");
}
finalpublicObjectliteral() throwsParseException {Stringval, pref;
Tokent;
Floatf;
if (jj_2_13(2)) {
pref = ident();
t = jj_consume_token(HEXCOLOR);
{if ("" != null) returnMain.pref.getColor("mappaint." + (sheet == null ? "MapCSS" : sheet.title) + "." + pref, ColorHelper.html2color(t.image));}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseIDENT:{
t = jj_consume_token(IDENT);
{if ("" != null) returnnewKeyword(t.image);}
break;
}
caseSTRING:{
val = string();
{if ("" != null) returnval;}
break;
}
casePLUS:{
jj_consume_token(PLUS);
f = ufloat();
{if ("" != null) returnnewInstruction.RelativeFloat(f);}
break;
}
default:
jj_la1[82] = jj_gen;
if (jj_2_14(2)) {
f = ufloat_unit();
{if ("" != null) returnf;}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseUINT:
caseUFLOAT:{
f = ufloat();
{if ("" != null) returnf;}
break;
}
caseHEXCOLOR:{
t = jj_consume_token(HEXCOLOR);
{if ("" != null) returnColorHelper.html2color(t.image);}
break;
}
default:
jj_la1[83] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
}
}
}
thrownewError("Missing return statement in function");
}
/** * Number followed by a unit. * * Returns angles in radians and lengths in pixels. */finalpublicFloatufloat_unit() throwsParseException {floatf;
Stringu;
f = ufloat();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
caseSET:
caseIDENT:{
u = ident();
break;
}
caseDEG:{
jj_consume_token(DEG);
u = "\u00b0";
break;
}
casePERCENT:{
jj_consume_token(PERCENT);
u = "%";
break;
}
default:
jj_la1[84] = jj_gen;
jj_consume_token(-1);
thrownewParseException();
}
Doublem = unit_factor(u);
if (m == null)
{if ("" != null) returnnull;}
{if ("" != null) return (float) (f * m);}
thrownewError("Missing return statement in function");
}
privateDoubleunit_factor(Stringunit) throwsParseException {switch (unit) {
case"deg":
case"\u00b0": returnMath.PI / 180;
case"rad": return1.;
case"grad": returnMath.PI / 200;
case"turn": return2 * Math.PI;
case"%": return0.01;
case"px": return1.;
case"cm": return96/2.54;
case"mm": return9.6/2.54;
case"in": return96.;
case"q": return2.4/2.54;
case"pc": return16.;
case"pt": return96./72;
default: returnnull;
}
}
voiderror_skipto(intkind, MapCSSExceptionme) throwsParseException {if (token.kind == EOF)
thrownewParseException("Reached end of file while parsing");
Exceptione = null;
ParseExceptionpe = generateParseException();
if (me != null) {
finalTokentoken = Utils.firstNonNull(pe.currentToken.next, pe.currentToken);
me.setLine(token.beginLine);
me.setColumn(token.beginColumn);
e = me;
} else {
e = newParseException(pe.getMessage()); // prevent memory leak
}
Main.error("Skipping to the next rule, because of an error:");
Main.error(e);
if (sheet != null) {
sheet.logError(e);
}
Tokent;
do {
t = getNextToken();
} while (t.kind != kind && t.kind != EOF);
if (t.kind == EOF)
thrownewParseException("Reached end of file while parsing");
}
/** * read everything to the next semicolon */StringreadRaw() throwsParseException {Tokent;
StringBuilders = newStringBuilder();
while (true) {
t = getNextToken();
if ((t.kind == S || t.kind == STRING || t.kind == UNEXPECTED_CHAR) &&
t.image.contains("\n")) {
ParseExceptione = newParseException(String.format("Warning: end of line while reading an unquoted string at line %s column %s.", t.beginLine, t.beginColumn));
Main.error(e);
if (sheet != null) {
sheet.logError(e);
}
}
if (t.kind == SEMICOLON || t.kind == EOF)
break;
s.append(t.image);
}
if (t.kind == EOF)
thrownewParseException("Reached end of file while parsing");
returns.toString();
}
privatebooleanjj_2_1(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_1()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(0, xla); }
}
privatebooleanjj_2_2(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_2()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(1, xla); }
}
privatebooleanjj_2_3(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_3()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(2, xla); }
}
privatebooleanjj_2_4(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_4()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(3, xla); }
}
privatebooleanjj_2_5(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_5()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(4, xla); }
}
privatebooleanjj_2_6(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_6()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(5, xla); }
}
privatebooleanjj_2_7(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_7()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(6, xla); }
}
privatebooleanjj_2_8(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_8()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(7, xla); }
}
privatebooleanjj_2_9(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_9()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(8, xla); }
}
privatebooleanjj_2_10(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_10()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(9, xla); }
}
privatebooleanjj_2_11(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_11()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(10, xla); }
}
privatebooleanjj_2_12(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_12()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(11, xla); }
}
privatebooleanjj_2_13(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_13()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(12, xla); }
}
privatebooleanjj_2_14(intxla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_14()); }
catch(LookaheadSuccessls) { returntrue; }
finally { jj_save(13, xla); }
}
privatebooleanjj_3R_98()
{
if (jj_3R_53()) returntrue;
returnfalse;
}
privatebooleanjj_3R_56()
{
if (jj_3R_80()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_81()) jj_scanpos = xsp;
returnfalse;
}
privatebooleanjj_3R_32()
{
if (jj_scan_token(REGEX)) returntrue;
returnfalse;
}
privatebooleanjj_3_13()
{
if (jj_3R_37()) returntrue;
if (jj_scan_token(HEXCOLOR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_63()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3_13()) {
jj_scanpos = xsp;
if (jj_3R_89()) {
jj_scanpos = xsp;
if (jj_3R_90()) {
jj_scanpos = xsp;
if (jj_3R_91()) {
jj_scanpos = xsp;
if (jj_3_14()) {
jj_scanpos = xsp;
if (jj_3R_92()) {
jj_scanpos = xsp;
if (jj_3R_93()) returntrue;
}
}
}
}
}
}
returnfalse;
}
privatebooleanjj_3_3()
{
if (jj_3R_23()) returntrue;
returnfalse;
}
privatebooleanjj_3R_105()
{
if (jj_3R_37()) returntrue;
returnfalse;
}
privatebooleanjj_3R_96()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_105()) {
jj_scanpos = xsp;
if (jj_3R_106()) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_40()
{
if (jj_scan_token(LPAR)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_3R_61()) returntrue;
if (jj_scan_token(RPAR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_35()
{
if (jj_3R_56()) returntrue;
returnfalse;
}
privatebooleanjj_3R_131()
{
if (jj_scan_token(COMMA)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_35()) returntrue;
returnfalse;
}
privatebooleanjj_3_11()
{
if (jj_3R_35()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(41)) {
jj_scanpos = xsp;
if (jj_scan_token(19)) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_39()
{
if (jj_3R_23()) returntrue;
returnfalse;
}
privatebooleanjj_3R_57()
{
if (jj_3R_35()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_131()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_37()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(12)) {
jj_scanpos = xsp;
if (jj_scan_token(11)) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_52()
{
if (jj_3R_24()) returntrue;
returnfalse;
}
privatebooleanjj_3R_21()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_39()) {
jj_scanpos = xsp;
if (jj_3R_40()) returntrue;
}
returnfalse;
}
privatebooleanjj_3_10()
{
if (jj_3R_33()) returntrue;
if (jj_3R_34()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(41)) {
jj_scanpos = xsp;
if (jj_scan_token(19)) returntrue;
}
returnfalse;
}
privatebooleanjj_3_4()
{
if (jj_3R_24()) returntrue;
if (jj_scan_token(MINUS)) returntrue;
returnfalse;
}
privatebooleanjj_3R_36()
{
if (jj_3R_37()) returntrue;
if (jj_3R_34()) returntrue;
if (jj_scan_token(LPAR)) returntrue;
if (jj_3R_34()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_57()) jj_scanpos = xsp;
if (jj_scan_token(RPAR)) returntrue;
returnfalse;
}
privatebooleanjj_3_2()
{
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
if (jj_scan_token(PP_OR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_103()
{
if (jj_scan_token(STRING)) returntrue;
returnfalse;
}
privatebooleanjj_3R_130()
{
if (jj_scan_token(LPAR)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_35()) returntrue;
if (jj_scan_token(RPAR)) returntrue;
returnfalse;
}
privatebooleanjj_3_1()
{
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
if (jj_scan_token(PP_AND)) returntrue;
returnfalse;
}
privatebooleanjj_3R_102()
{
if (jj_scan_token(PP_OR)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
returnfalse;
}
privatebooleanjj_3R_85()
{
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
returnfalse;
}
privatebooleanjj_3R_129()
{
if (jj_3R_63()) returntrue;
returnfalse;
}
privatebooleanjj_3R_101()
{
if (jj_scan_token(PP_AND)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
returnfalse;
}
privatebooleanjj_3R_97()
{
if (jj_scan_token(MINUS)) returntrue;
if (jj_3R_53()) returntrue;
returnfalse;
}
privatebooleanjj_3R_84()
{
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
Tokenxsp;
if (jj_3R_102()) returntrue;
while (true) {
xsp = jj_scanpos;
if (jj_3R_102()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_78()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_97()) {
jj_scanpos = xsp;
if (jj_3R_98()) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_83()
{
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
Tokenxsp;
if (jj_3R_101()) returntrue;
while (true) {
xsp = jj_scanpos;
if (jj_3R_101()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_82()
{
if (jj_scan_token(PP_NOT)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_3R_21()) returntrue;
if (jj_3R_22()) returntrue;
returnfalse;
}
privatebooleanjj_3R_124()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3_12()) {
jj_scanpos = xsp;
if (jj_3R_129()) {
jj_scanpos = xsp;
if (jj_3R_130()) returntrue;
}
}
returnfalse;
}
privatebooleanjj_3_12()
{
if (jj_3R_36()) returntrue;
returnfalse;
}
privatebooleanjj_3R_53()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(25)) {
jj_scanpos = xsp;
if (jj_scan_token(13)) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_126()
{
if (jj_scan_token(SLASH)) returntrue;
returnfalse;
}
privatebooleanjj_3R_61()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_82()) {
jj_scanpos = xsp;
if (jj_3R_83()) {
jj_scanpos = xsp;
if (jj_3R_84()) {
jj_scanpos = xsp;
if (jj_3R_85()) returntrue;
}
}
}
returnfalse;
}
privatebooleanjj_3R_28()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_51()) {
jj_scanpos = xsp;
if (jj_3R_52()) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_51()
{
if (jj_scan_token(MINUS)) returntrue;
if (jj_3R_24()) returntrue;
returnfalse;
}
privatebooleanjj_3R_128()
{
if (jj_scan_token(EXCLAMATION)) returntrue;
if (jj_3R_34()) returntrue;
returnfalse;
}
privatebooleanjj_3R_127()
{
if (jj_scan_token(MINUS)) returntrue;
if (jj_3R_34()) returntrue;
returnfalse;
}
privatebooleanjj_3R_123()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_127()) {
jj_scanpos = xsp;
if (jj_3R_128()) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_24()
{
if (jj_scan_token(UINT)) returntrue;
returnfalse;
}
privatebooleanjj_3R_119()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_123()) jj_scanpos = xsp;
if (jj_3R_124()) returntrue;
if (jj_3R_34()) returntrue;
returnfalse;
}
privatebooleanjj_3R_122()
{
if (jj_scan_token(MINUS)) returntrue;
returnfalse;
}
privatebooleanjj_3R_125()
{
if (jj_scan_token(STAR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_120()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_125()) {
jj_scanpos = xsp;
if (jj_3R_126()) returntrue;
}
if (jj_3R_34()) returntrue;
if (jj_3R_119()) returntrue;
returnfalse;
}
privatebooleanjj_3R_111()
{
if (jj_3R_119()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_120()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_77()
{
if (jj_scan_token(LESS)) returntrue;
returnfalse;
}
privatebooleanjj_3R_76()
{
if (jj_scan_token(LESS_EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_121()
{
if (jj_scan_token(PLUS)) returntrue;
returnfalse;
}
privatebooleanjj_3R_75()
{
if (jj_scan_token(GREATER)) returntrue;
returnfalse;
}
privatebooleanjj_3R_112()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_121()) {
jj_scanpos = xsp;
if (jj_3R_122()) returntrue;
}
if (jj_3R_34()) returntrue;
if (jj_3R_111()) returntrue;
returnfalse;
}
privatebooleanjj_3R_73()
{
if (jj_3R_96()) returntrue;
returnfalse;
}
privatebooleanjj_3R_74()
{
if (jj_scan_token(GREATER_EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_72()
{
if (jj_3R_78()) returntrue;
returnfalse;
}
privatebooleanjj_3R_41()
{
if (jj_3R_62()) returntrue;
returnfalse;
}
privatebooleanjj_3R_22()
{
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_41()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_109()
{
if (jj_3R_111()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_112()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_88()
{
if (jj_scan_token(PP_COMMENT_START)) returntrue;
if (jj_scan_token(PP_COMMENT_END)) returntrue;
returnfalse;
}
privatebooleanjj_3R_50()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_74()) {
jj_scanpos = xsp;
if (jj_3R_75()) {
jj_scanpos = xsp;
if (jj_3R_76()) {
jj_scanpos = xsp;
if (jj_3R_77()) returntrue;
}
}
}
if (jj_3R_26()) returntrue;
if (jj_3R_78()) returntrue;
returnfalse;
}
privatebooleanjj_3R_87()
{
if (jj_scan_token(PP_WHITESPACE)) returntrue;
returnfalse;
}
privatebooleanjj_3R_86()
{
if (jj_scan_token(PP_NEWLINECHAR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_62()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_86()) {
jj_scanpos = xsp;
if (jj_3R_87()) {
jj_scanpos = xsp;
if (jj_3R_88()) returntrue;
}
}
returnfalse;
}
privatebooleanjj_3_8()
{
if (jj_3R_28()) returntrue;
returnfalse;
}
privatebooleanjj_3R_70()
{
if (jj_scan_token(STAR)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_118()
{
if (jj_scan_token(EXCLAMATION)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_69()
{
if (jj_scan_token(DOLLAR)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_71()
{
if (jj_scan_token(STAR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_117()
{
if (jj_scan_token(EQUAL)) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(37)) jj_scanpos = xsp;
returnfalse;
}
privatebooleanjj_3R_68()
{
if (jj_scan_token(CARET)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_116()
{
if (jj_scan_token(LESS)) returntrue;
returnfalse;
}
privatebooleanjj_3R_67()
{
if (jj_scan_token(TILDE)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_115()
{
if (jj_scan_token(GREATER)) returntrue;
returnfalse;
}
privatebooleanjj_3R_66()
{
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_114()
{
if (jj_scan_token(LESS_EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_65()
{
if (jj_scan_token(EXCLAMATION)) returntrue;
if (jj_scan_token(EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_113()
{
if (jj_scan_token(GREATER_EQUAL)) returntrue;
returnfalse;
}
privatebooleanjj_3R_60()
{
if (jj_scan_token(PERCENT)) returntrue;
returnfalse;
}
privatebooleanjj_3R_110()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_113()) {
jj_scanpos = xsp;
if (jj_3R_114()) {
jj_scanpos = xsp;
if (jj_3R_115()) {
jj_scanpos = xsp;
if (jj_3R_116()) {
jj_scanpos = xsp;
if (jj_3R_117()) {
jj_scanpos = xsp;
if (jj_3R_118()) returntrue;
}
}
}
}
}
if (jj_3R_34()) returntrue;
if (jj_3R_109()) returntrue;
returnfalse;
}
privatebooleanjj_3R_30()
{
if (jj_scan_token(EXCLAMATION)) returntrue;
if (jj_scan_token(TILDE)) returntrue;
returnfalse;
}
privatebooleanjj_3R_29()
{
if (jj_scan_token(EQUAL)) returntrue;
if (jj_scan_token(TILDE)) returntrue;
returnfalse;
}
privatebooleanjj_3R_49()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_65()) {
jj_scanpos = xsp;
if (jj_3R_66()) {
jj_scanpos = xsp;
if (jj_3R_67()) {
jj_scanpos = xsp;
if (jj_3R_68()) {
jj_scanpos = xsp;
if (jj_3R_69()) {
jj_scanpos = xsp;
if (jj_3R_70()) returntrue;
}
}
}
}
}
if (jj_3R_26()) returntrue;
xsp = jj_scanpos;
if (jj_3R_71()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3_8()) {
jj_scanpos = xsp;
if (jj_3R_72()) {
jj_scanpos = xsp;
if (jj_3R_73()) returntrue;
}
}
returnfalse;
}
privatebooleanjj_3R_31()
{
if (jj_scan_token(STAR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_42()
{
if (jj_scan_token(COLON)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_3R_63()) returntrue;
returnfalse;
}
privatebooleanjj_3R_107()
{
if (jj_3R_109()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_110()) jj_scanpos = xsp;
returnfalse;
}
privatebooleanjj_3_9()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_29()) {
jj_scanpos = xsp;
if (jj_3R_30()) returntrue;
}
if (jj_3R_26()) returntrue;
xsp = jj_scanpos;
if (jj_3R_31()) jj_scanpos = xsp;
if (jj_3R_32()) returntrue;
returnfalse;
}
privatebooleanjj_3R_59()
{
if (jj_scan_token(DEG)) returntrue;
returnfalse;
}
privatebooleanjj_3R_108()
{
if (jj_scan_token(AMPERSAND)) returntrue;
if (jj_scan_token(AMPERSAND)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_107()) returntrue;
returnfalse;
}
privatebooleanjj_3R_48()
{
if (jj_3R_64()) returntrue;
if (jj_3R_26()) returntrue;
returnfalse;
}
privatebooleanjj_3R_47()
{
if (jj_3R_32()) returntrue;
if (jj_3R_26()) returntrue;
returnfalse;
}
privatebooleanjj_3R_54()
{
if (jj_scan_token(COMMA)) returntrue;
if (jj_3R_26()) returntrue;
if (jj_3R_53()) returntrue;
returnfalse;
}
privatebooleanjj_3R_99()
{
if (jj_3R_107()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_108()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_27()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_47()) {
jj_scanpos = xsp;
if (jj_3R_48()) returntrue;
}
xsp = jj_scanpos;
if (jj_3_9()) {
jj_scanpos = xsp;
if (jj_3R_49()) {
jj_scanpos = xsp;
if (jj_3R_50()) returntrue;
}
}
returnfalse;
}
privatebooleanjj_3R_46()
{
if (jj_scan_token(QUESTION)) returntrue;
returnfalse;
}
privatebooleanjj_3R_33()
{
if (jj_3R_53()) returntrue;
Tokenxsp;
if (jj_3R_54()) returntrue;
while (true) {
xsp = jj_scanpos;
if (jj_3R_54()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_58()
{
if (jj_3R_37()) returntrue;
returnfalse;
}
privatebooleanjj_3R_79()
{
if (jj_scan_token(COMMENT_START)) returntrue;
if (jj_scan_token(COMMENT_END)) returntrue;
returnfalse;
}
privatebooleanjj_3R_100()
{
if (jj_scan_token(PIPE)) returntrue;
if (jj_scan_token(PIPE)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_99()) returntrue;
returnfalse;
}
privatebooleanjj_3_7()
{
if (jj_scan_token(QUESTION)) returntrue;
if (jj_scan_token(EXCLAMATION)) returntrue;
returnfalse;
}
privatebooleanjj_3R_45()
{
if (jj_3R_64()) returntrue;
returnfalse;
}
privatebooleanjj_3R_55()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(28)) {
jj_scanpos = xsp;
if (jj_3R_79()) returntrue;
}
returnfalse;
}
privatebooleanjj_3R_104()
{
if (jj_scan_token(COLON)) returntrue;
if (jj_3R_37()) returntrue;
returnfalse;
}
privatebooleanjj_3R_44()
{
if (jj_3R_32()) returntrue;
returnfalse;
}
privatebooleanjj_3R_38()
{
if (jj_3R_53()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_58()) {
jj_scanpos = xsp;
if (jj_3R_59()) {
jj_scanpos = xsp;
if (jj_3R_60()) returntrue;
}
}
returnfalse;
}
privatebooleanjj_3R_34()
{
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_55()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_80()
{
if (jj_3R_99()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_100()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_43()
{
if (jj_scan_token(EXCLAMATION)) returntrue;
returnfalse;
}
privatebooleanjj_3R_25()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_43()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_44()) {
jj_scanpos = xsp;
if (jj_3R_45()) returntrue;
}
xsp = jj_scanpos;
if (jj_3_7()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_46()) jj_scanpos = xsp;
returnfalse;
}
privatebooleanjj_3R_93()
{
if (jj_scan_token(HEXCOLOR)) returntrue;
returnfalse;
}
privatebooleanjj_3R_95()
{
if (jj_3R_37()) returntrue;
Tokenxsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_104()) { jj_scanpos = xsp; break; }
}
returnfalse;
}
privatebooleanjj_3R_92()
{
if (jj_3R_53()) returntrue;
returnfalse;
}
privatebooleanjj_3R_26()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_scan_token(28)) jj_scanpos = xsp;
returnfalse;
}
privatebooleanjj_3R_94()
{
if (jj_3R_103()) returntrue;
returnfalse;
}
privatebooleanjj_3R_64()
{
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_94()) {
jj_scanpos = xsp;
if (jj_3R_95()) returntrue;
}
returnfalse;
}
privatebooleanjj_3_14()
{
if (jj_3R_38()) returntrue;
returnfalse;
}
privatebooleanjj_3_6()
{
if (jj_3R_27()) returntrue;
if (jj_3R_26()) returntrue;
if (jj_scan_token(RSQUARE)) returntrue;
returnfalse;
}
privatebooleanjj_3R_91()
{
if (jj_scan_token(PLUS)) returntrue;
if (jj_3R_53()) returntrue;
returnfalse;
}
privatebooleanjj_3R_81()
{
if (jj_scan_token(QUESTION)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_56()) returntrue;
if (jj_scan_token(COLON)) returntrue;
if (jj_3R_34()) returntrue;
if (jj_3R_56()) returntrue;
returnfalse;
}
privatebooleanjj_3R_106()
{
if (jj_3R_103()) returntrue;
returnfalse;
}
privatebooleanjj_3R_90()
{
if (jj_3R_103()) returntrue;
returnfalse;
}
privatebooleanjj_3R_23()
{
if (jj_scan_token(LPAR)) returntrue;
if (jj_3R_22()) returntrue;
if (jj_scan_token(IDENT)) returntrue;
if (jj_3R_22()) returntrue;
Tokenxsp;
xsp = jj_scanpos;
if (jj_3R_42()) jj_scanpos = xsp;
if (jj_scan_token(RPAR)) returntrue;
returnfalse;
}
privatebooleanjj_3_5()
{
if (jj_3R_25()) returntrue;
if (jj_3R_26()) returntrue;
if (jj_scan_token(RSQUARE)) returntrue;
returnfalse;
}
privatebooleanjj_3R_89()
{
if (jj_scan_token(IDENT)) returntrue;
returnfalse;
}
/** Generated Token Manager. */publicMapCSSParserTokenManagertoken_source;
SimpleCharStreamjj_input_stream;
/** Current token. */publicTokentoken;
/** Next token. */publicTokenjj_nt;
privateintjj_ntk;
privateTokenjj_scanpos, jj_lastpos;
privateintjj_la;
privateintjj_gen;
finalprivateint[] jj_la1 = newint[85];
staticprivateint[] jj_la1_0;
staticprivateint[] jj_la1_1;
static {
jj_la1_init_0();
jj_la1_init_1();
}
privatestaticvoidjj_la1_init_0() {
jj_la1_0 = newint[] {0x1f671fe,0x1f2700e,0x1f671fe,0x2,0x4,0x8,0x100000,0x100000,0x800000,0x400000,0x101008,0x8,0x2,0x2,0x101000,0x800000,0x1c0,0x1c0,0x2000,0x2002000,0x2002000,0x1800,0x5800,0x10000000,0x10000000,0x10000000,0x400000,0x20001000,0x400000,0x0,0x80800000,0x80800000,0x0,0x0,0x20001000,0x20001000,0x0,0x80800000,0x80800000,0x0,0x2000,0x0,0x2000,0xa107800,0x800000,0x5800,0x0,0x25800,0x0,0x25800,0x0,0x20000000,0x20000000,0x20000000,0x2007800,0x0,0x20000000,0x0,0x800000,0x20101800,0x1800,0x0,0x0,0x80000,0x80000,0x80000,0x1800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60000000,0x60000000,0x0,0x0,0xa107800,0x400000,0xa107800,0x5000,0xa002000,0x1800,};
}
privatestaticvoidjj_la1_init_1() {
jj_la1_1 = newint[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x2000,0x0,0x0,0x0,0x800000,0x800000,0x0,0x0,0x0,0x1018,0x40040,0x40040,0x301018,0x301018,0x301018,0x0,0x800,0x40040,0x40040,0x100,0x0,0x2000,0x0,0x3040,0x0,0x0,0x40,0x0,0x8000,0x0,0x60,0x0,0x300e0,0x0,0x2000,0x1e,0x300fe,0x40,0x40000,0x0,0x0,0x40000,0x20,0x200,0x200,0x200,0x0,0x8000,0x400,0x4000,0x20,0x7e,0x7e,0x3000,0x3000,0x0,0x0,0x2040,0x2040,0x1000,0x0,0x3040,0x1000,0x0,0x480000,};
}
finalprivateJJCalls[] jj_2_rtns = newJJCalls[14];
privatebooleanjj_rescan = false;
privateintjj_gc = 0;
/** Constructor with InputStream. */publicMapCSSParser(java.io.InputStreamstream) {
this(stream, null);
}
/** Constructor with InputStream and supplied encoding */publicMapCSSParser(java.io.InputStreamstream, Stringencoding) {
try { jj_input_stream = newSimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingExceptione) { thrownewRuntimeException(e); }
token_source = newMapCSSParserTokenManager(jj_input_stream);
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
/** Reinitialise. */publicvoidReInit(java.io.InputStreamstream) {
ReInit(stream, null);
}
/** Reinitialise. */publicvoidReInit(java.io.InputStreamstream, Stringencoding) {
try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingExceptione) { thrownewRuntimeException(e); }
token_source.ReInit(jj_input_stream);
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
/** Constructor. */publicMapCSSParser(java.io.Readerstream) {
jj_input_stream = newSimpleCharStream(stream, 1, 1);
token_source = newMapCSSParserTokenManager(jj_input_stream);
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
/** Reinitialise. */publicvoidReInit(java.io.Readerstream) {
if (jj_input_stream == null) {
jj_input_stream = newSimpleCharStream(stream, 1, 1);
} else {
jj_input_stream.ReInit(stream, 1, 1);
}
if (token_source == null) {
token_source = newMapCSSParserTokenManager(jj_input_stream);
}
token_source.ReInit(jj_input_stream);
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
/** Constructor with generated Token Manager. */publicMapCSSParser(MapCSSParserTokenManagertm) {
token_source = tm;
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
/** Reinitialise. */publicvoidReInit(MapCSSParserTokenManagertm) {
token_source = tm;
token = newToken();
jj_ntk = -1;
jj_gen = 0;
for (inti = 0; i < 85; i++) jj_la1[i] = -1;
for (inti = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = newJJCalls();
}
privateTokenjj_consume_token(intkind) throwsParseException {
TokenoldToken;
if ((oldToken = token).next != null) token = token.next;
elsetoken = token.next = token_source.getNextToken();
jj_ntk = -1;
if (token.kind == kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (inti = 0; i < jj_2_rtns.length; i++) {
JJCallsc = jj_2_rtns[i];
while (c != null) {
if (c.gen < jj_gen) c.first = null;
c = c.next;
}
}
}
returntoken;
}
token = oldToken;
jj_kind = kind;
throwgenerateParseException();
}
@SuppressWarnings("serial")
staticprivatefinalclassLookaheadSuccessextendsjava.lang.Error { }
staticfinalprivateLookaheadSuccessjj_ls = newLookaheadSuccess();
privatebooleanjj_scan_token(intkind) {
if (jj_scanpos == jj_lastpos) {
jj_la--;
if (jj_scanpos.next == null) {
jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
} else {
jj_lastpos = jj_scanpos = jj_scanpos.next;
}
} else {
jj_scanpos = jj_scanpos.next;
}
if (jj_rescan) {
inti = 0; Tokentok = token;
while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
if (tok != null) jj_add_error_token(kind, i);
}
if (jj_scanpos.kind != kind) returntrue;
if (jj_la == 0 && jj_scanpos == jj_lastpos) throwjj_ls;
returnfalse;
}
/** Get the next Token. */finalpublicTokengetNextToken() {
if (token.next != null) token = token.next;
elsetoken = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
returntoken;
}
/** Get the specific Token. */finalpublicTokengetToken(intindex) {
Tokent = token;
for (inti = 0; i < index; i++) {
if (t.next != null) t = t.next;
elset = t.next = token_source.getNextToken();
}
returnt;
}
privateintjj_ntk_f() {
if ((jj_nt=token.next) == null)
return (jj_ntk = (token.next=token_source.getNextToken()).kind);
elsereturn (jj_ntk = jj_nt.kind);
}
privatejava.util.List<int[]> jj_expentries = newjava.util.ArrayList<int[]>();
privateint[] jj_expentry;
privateintjj_kind = -1;
privateint[] jj_lasttokens = newint[100];
privateintjj_endpos;
privatevoidjj_add_error_token(intkind, intpos) {
if (pos >= 100) {
return;
}
if (pos == jj_endpos + 1) {
jj_lasttokens[jj_endpos++] = kind;
} elseif (jj_endpos != 0) {
jj_expentry = newint[jj_endpos];
for (inti = 0; i < jj_endpos; i++) {
jj_expentry[i] = jj_lasttokens[i];
}
for (int[] oldentry : jj_expentries) {
if (oldentry.length == jj_expentry.length) {
booleanisMatched = true;
for (inti = 0; i < jj_expentry.length; i++) {
if (oldentry[i] != jj_expentry[i]) {
isMatched = false;
break;
}
}
if (isMatched) {
jj_expentries.add(jj_expentry);
break;
}
}
}
if (pos != 0) {
jj_lasttokens[(jj_endpos = pos) - 1] = kind;
}
}
}
/** Generate ParseException. */publicParseExceptiongenerateParseException() {
jj_expentries.clear();
boolean[] la1tokens = newboolean[59];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (inti = 0; i < 85; i++) {
if (jj_la1[i] == jj_gen) {
for (intj = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
la1tokens[j] = true;
}
if ((jj_la1_1[i] & (1<<j)) != 0) {
la1tokens[32+j] = true;
}
}
}
}
for (inti = 0; i < 59; i++) {
if (la1tokens[i]) {
jj_expentry = newint[1];
jj_expentry[0] = i;
jj_expentries.add(jj_expentry);
}
}
jj_endpos = 0;
jj_rescan_token();
jj_add_error_token(0, 0);
int[][] exptokseq = newint[jj_expentries.size()][];
for (inti = 0; i < jj_expentries.size(); i++) {
exptokseq[i] = jj_expentries.get(i);
}
returnnewParseException(token, exptokseq, tokenImage);
}
/** Enable tracing. */finalpublicvoidenable_tracing() {
}
/** Disable tracing. */finalpublicvoiddisable_tracing() {
}
privatevoidjj_rescan_token() {
jj_rescan = true;
for (inti = 0; i < 14; i++) {
try {
JJCallsp = jj_2_rtns[i];
do {
if (p.gen > jj_gen) {
jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
switch (i) {
case0: jj_3_1(); break;
case1: jj_3_2(); break;
case2: jj_3_3(); break;
case3: jj_3_4(); break;
case4: jj_3_5(); break;
case5: jj_3_6(); break;
case6: jj_3_7(); break;
case7: jj_3_8(); break;
case8: jj_3_9(); break;
case9: jj_3_10(); break;
case10: jj_3_11(); break;
case11: jj_3_12(); break;
case12: jj_3_13(); break;
case13: jj_3_14(); break;
}
}
p = p.next;
} while (p != null);
} catch(LookaheadSuccessls) { }
}
jj_rescan = false;
}
privatevoidjj_save(intindex, intxla) {
JJCallsp = jj_2_rtns[index];
while (p.gen > jj_gen) {
if (p.next == null) { p = p.next = newJJCalls(); break; }
p = p.next;
}
p.gen = jj_gen + xla - jj_la;
p.first = token;
p.arg = xla;
}
staticfinalclassJJCalls {
intgen;
Tokenfirst;
intarg;
JJCallsnext;
}
}
The text was updated successfully, but these errors were encountered:
don-vip
changed the title
IllegalStateException at com.google.common.base.Preconditions.checkState
IllegalStateException at Preconditions.checkState (2.0.16/2.0.17)
Feb 23, 2017
We face a regression when we updated from 2.0.15 to 2.0.17. The error also happens with 2.0.16 (same stacktrace):
The class has been generated with JavaCC. Here it is:
The text was updated successfully, but these errors were encountered: