From 6ddbc1aba9a3ec1dfaeac6682e40613a427fff12 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Wed, 19 Dec 2012 16:39:56 +0200 Subject: [PATCH] Copy unrecognized @ rules to output as is (#10486) Also adds preliminary support for recognizing @debug and @warn so that those are not copied. Change-Id: Idaf80daaad78804871d128a9e804404fcf043d25 --- .../handler/SCSSDocumentHandlerImpl.java | 8 + .../vaadin/sass/internal/parser/Parser.java | 1365 +++++++++-------- .../com/vaadin/sass/internal/parser/Parser.jj | 49 +- .../resources/automatic/css/unknown_as_is.css | 3 + .../automatic/scss/unknown_as_is.scss | 3 + 5 files changed, 789 insertions(+), 639 deletions(-) create mode 100644 theme-compiler/tests/resources/automatic/css/unknown_as_is.css create mode 100644 theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss diff --git a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java index 4b98815a4b..b259e7b69f 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java +++ b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java @@ -44,6 +44,7 @@ import com.vaadin.sass.internal.tree.MixinNode; import com.vaadin.sass.internal.tree.NestPropertiesNode; import com.vaadin.sass.internal.tree.Node; import com.vaadin.sass.internal.tree.RuleNode; +import com.vaadin.sass.internal.tree.SimpleNode; import com.vaadin.sass.internal.tree.VariableNode; import com.vaadin.sass.internal.tree.WhileNode; import com.vaadin.sass.internal.tree.controldirective.EachDefNode; @@ -293,6 +294,13 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler { nodeStack.peek().appendChild(node); } + // rule that is passed to the output as-is (except variable value + // substitution) - no children + public void unrecognizedRule(String text) { + SimpleNode node = new SimpleNode(text); + nodeStack.peek().appendChild(node); + } + @Override public void endSelector(SelectorList arg0) throws CSSException { // TODO Auto-generated method stub diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java index d2575e3764..83e46c34c9 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java @@ -567,6 +567,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } break; + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case IF_SYM: ifDirective(); break; @@ -605,9 +611,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if ((ret == null) || (ret.length() == 0)) { {if (true) return;} } - reportWarningSkipText(l, ret); if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(l, ret); } } label_8: @@ -803,6 +810,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { case COLON: case INTERPOLATION: case NONASCII: + case DEBUG_SYM: + case WARN_SYM: case STRING: case IDENT: case NUMBER: @@ -826,6 +835,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { break label_15; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case LBRACKET: case ANY: case PARENT: @@ -1210,9 +1225,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { String ret; n = jj_consume_token(ATKEYWORD); ret=skipStatement(); - reportWarningSkipText(getLocator(), ret); if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); } } @@ -1302,9 +1318,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { String ret; Locator loc = getLocator(); ret=skipStatement(); - reportWarningSkipText(loc, ret); if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); } } @@ -1606,6 +1623,8 @@ char connector = ' '; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EACH_SYM: case IF_SYM: case EXTEND_SYM: @@ -1657,6 +1676,8 @@ char connector = ' '; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2485,6 +2506,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2515,6 +2538,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2631,6 +2656,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2661,6 +2688,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -2829,6 +2858,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EXTEND_SYM: case IDENT: case VARIABLE: @@ -2865,6 +2896,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -3019,6 +3052,8 @@ boolean isPseudoElement = false; case COLON: case INTERPOLATION: case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: case EACH_SYM: case IF_SYM: case EXTEND_SYM: @@ -3065,6 +3100,8 @@ boolean isPseudoElement = false; case DOT: case COLON: case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: case HASH: styleRuleOrDeclarationOrNestedProperties(); @@ -3955,10 +3992,42 @@ boolean isPseudoElement = false; throw new Error("Missing return statement in function"); } - void debugDirective() throws ParseException { + final public void debugDirective() throws ParseException { + jj_consume_token(DEBUG_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. + System.out.println(content); + label_127: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[182] = jj_gen; + break label_127; + } + jj_consume_token(S); + } } - void warnDirective() throws ParseException { + final public void warnDirective() throws ParseException { + jj_consume_token(WARN_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. + System.err.println(content); + label_128: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[183] = jj_gen; + break label_128; + } + jj_consume_token(S); + } } final public Node forDirective() throws ParseException { @@ -3981,20 +4050,20 @@ boolean isPseudoElement = false; exclusive = false; break; default: - jj_la1[182] = jj_gen; + jj_la1[184] = jj_gen; jj_consume_token(-1); throw new ParseException(); } to = skipStatementUntilLeftBrace(); - label_127: + label_129: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[183] = jj_gen; - break label_127; + jj_la1[185] = jj_gen; + break label_129; } jj_consume_token(S); } @@ -4015,31 +4084,31 @@ boolean isPseudoElement = false; final public void extendDirective() throws ParseException { ArrayList list; jj_consume_token(EXTEND_SYM); - label_128: + label_130: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[184] = jj_gen; - break label_128; + jj_la1[186] = jj_gen; + break label_130; } jj_consume_token(S); } list = selectorList(); - label_129: + label_131: while (true) { jj_consume_token(SEMICOLON); - label_130: + label_132: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[185] = jj_gen; - break label_130; + jj_la1[187] = jj_gen; + break label_132; } jj_consume_token(S); } @@ -4048,8 +4117,8 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[186] = jj_gen; - break label_129; + jj_la1[188] = jj_gen; + break label_131; } } documentHandler.extendDirective(list); @@ -4076,28 +4145,28 @@ boolean isPseudoElement = false; LexicalUnit exp; name = property(); jj_consume_token(COLON); - label_131: + label_133: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[187] = jj_gen; - break label_131; + jj_la1[189] = jj_gen; + break label_133; } jj_consume_token(S); } jj_consume_token(LBRACE); - label_132: + label_134: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[188] = jj_gen; - break label_132; + jj_la1[190] = jj_gen; + break label_134; } jj_consume_token(S); } @@ -4107,29 +4176,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[189] = jj_gen; + jj_la1[191] = jj_gen; ; } - label_133: + label_135: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[190] = jj_gen; - break label_133; + jj_la1[192] = jj_gen; + break label_135; } jj_consume_token(SEMICOLON); - label_134: + label_136: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[191] = jj_gen; - break label_134; + jj_la1[193] = jj_gen; + break label_136; } jj_consume_token(S); } @@ -4138,21 +4207,21 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[192] = jj_gen; + jj_la1[194] = jj_gen; ; } } jj_consume_token(RBRACE); documentHandler.endNestedProperties(name); - label_135: + label_137: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[193] = jj_gen; - break label_135; + jj_la1[195] = jj_gen; + break label_137; } jj_consume_token(S); } @@ -4167,11 +4236,17 @@ LexicalUnit exp; styleRule(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case IDENT: declarationOrNestedProperties(); break; default: - jj_la1[194] = jj_gen; + jj_la1[196] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4215,15 +4290,15 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_136: + label_138: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[195] = jj_gen; - break label_136; + jj_la1[197] = jj_gen; + break label_138; } jj_consume_token(S); } @@ -4262,7 +4337,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[196] = jj_gen; + jj_la1[198] = jj_gen; ; } Token next = getToken(1); @@ -4280,15 +4355,15 @@ LexicalUnit exp; break; case LBRACE: jj_consume_token(LBRACE); - label_137: + label_139: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[197] = jj_gen; - break label_137; + jj_la1[199] = jj_gen; + break label_139; } jj_consume_token(S); } @@ -4298,29 +4373,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[198] = jj_gen; + jj_la1[200] = jj_gen; ; } - label_138: + label_140: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[199] = jj_gen; - break label_138; + jj_la1[201] = jj_gen; + break label_140; } jj_consume_token(SEMICOLON); - label_139: + label_141: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[200] = jj_gen; - break label_139; + jj_la1[202] = jj_gen; + break label_141; } jj_consume_token(S); } @@ -4329,27 +4404,27 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[201] = jj_gen; + jj_la1[203] = jj_gen; ; } } jj_consume_token(RBRACE); - label_140: + label_142: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[202] = jj_gen; - break label_140; + jj_la1[204] = jj_gen; + break label_142; } jj_consume_token(S); } documentHandler.endNestedProperties(name); break; default: - jj_la1[203] = jj_gen; + jj_la1[205] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4399,15 +4474,15 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_141: + label_143: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[204] = jj_gen; - break label_141; + jj_la1[206] = jj_gen; + break label_143; } jj_consume_token(S); } @@ -4417,7 +4492,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[205] = jj_gen; + jj_la1[207] = jj_gen; ; } documentHandler.property(name, exp, important); @@ -4460,15 +4535,15 @@ LexicalUnit exp; */ final public boolean prio() throws ParseException { jj_consume_token(IMPORTANT_SYM); - label_142: + label_144: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[206] = jj_gen; - break label_142; + jj_la1[208] = jj_gen; + break label_144; } jj_consume_token(S); } @@ -4478,15 +4553,15 @@ LexicalUnit exp; final public boolean guarded() throws ParseException { jj_consume_token(GUARDED_SYM); - label_143: + label_145: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[207] = jj_gen; - break label_143; + jj_la1[209] = jj_gen; + break label_145; } jj_consume_token(S); } @@ -4502,15 +4577,15 @@ LexicalUnit exp; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DIV: n = jj_consume_token(DIV); - label_144: + label_146: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[208] = jj_gen; - break label_144; + jj_la1[210] = jj_gen; + break label_146; } jj_consume_token(S); } @@ -4520,15 +4595,15 @@ LexicalUnit exp; break; case COMMA: n = jj_consume_token(COMMA); - label_145: + label_147: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[209] = jj_gen; - break label_145; + jj_la1[211] = jj_gen; + break label_147; } jj_consume_token(S); } @@ -4537,7 +4612,7 @@ LexicalUnit exp; prev);} break; default: - jj_la1[210] = jj_gen; + jj_la1[212] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4552,12 +4627,12 @@ LexicalUnit exp; char op; first = term(null); res = first; - label_146: + label_148: while (true) { if (jj_2_12(2)) { ; } else { - break label_146; + break label_148; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: @@ -4565,7 +4640,7 @@ LexicalUnit exp; res = operator(res); break; default: - jj_la1[211] = jj_gen; + jj_la1[213] = jj_gen; ; } res = term(res); @@ -4588,7 +4663,7 @@ LexicalUnit exp; {if (true) return '+';} break; default: - jj_la1[212] = jj_gen; + jj_la1[214] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4636,7 +4711,7 @@ LexicalUnit exp; result = variableTerm(prev); break; default: - jj_la1[213] = jj_gen; + jj_la1[215] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4687,7 +4762,7 @@ LexicalUnitImpl result = null; op = unaryOperator(); break; default: - jj_la1[214] = jj_gen; + jj_la1[216] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4792,7 +4867,7 @@ LexicalUnitImpl result = null; result = function(op, prev); break; default: - jj_la1[215] = jj_gen; + jj_la1[217] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4819,7 +4894,7 @@ LexicalUnitImpl result = null; s+="."; break; default: - jj_la1[216] = jj_gen; + jj_la1[218] = jj_gen; ; } n = jj_consume_token(IDENT); @@ -4866,25 +4941,25 @@ LexicalUnitImpl result = null; result = unicode(prev); break; default: - jj_la1[217] = jj_gen; + jj_la1[219] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[218] = jj_gen; + jj_la1[220] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - label_147: + label_149: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[219] = jj_gen; - break label_147; + jj_la1[221] = jj_gen; + break label_149; } jj_consume_token(S); } @@ -4900,15 +4975,15 @@ LexicalUnitImpl result = null; Token n; LexicalUnit params = null; n = jj_consume_token(FUNCTION); - label_148: + label_150: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[220] = jj_gen; - break label_148; + jj_la1[222] = jj_gen; + break label_150; } jj_consume_token(S); } @@ -4950,7 +5025,7 @@ LexicalUnitImpl result = null; params = expr(); break; default: - jj_la1[221] = jj_gen; + jj_la1[223] = jj_gen; ; } jj_consume_token(RPARAN); @@ -5421,15 +5496,15 @@ LexicalUnitImpl result = null; */ final public void _parseRule() throws ParseException { String ret = null; - label_149: + label_151: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[222] = jj_gen; - break label_149; + jj_la1[224] = jj_gen; + break label_151; } jj_consume_token(S); } @@ -5437,6 +5512,12 @@ LexicalUnitImpl result = null; case IMPORT_SYM: importDeclaration(); break; + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; case LBRACKET: case ANY: case PARENT: @@ -5457,13 +5538,13 @@ LexicalUnitImpl result = null; fontFace(); break; default: - jj_la1[223] = jj_gen; + jj_la1[225] = jj_gen; ret = skipStatement(); if ((ret == null) || (ret.length() == 0)) { {if (true) return;} } if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); } else { {if (true) throw new CSSParseException("unrecognize rule: " + ret, getLocator());} @@ -5472,15 +5553,15 @@ LexicalUnitImpl result = null; } final public void _parseImportRule() throws ParseException { - label_150: + label_152: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[224] = jj_gen; - break label_150; + jj_la1[226] = jj_gen; + break label_152; } jj_consume_token(S); } @@ -5488,15 +5569,15 @@ LexicalUnitImpl result = null; } final public void _parseMediaRule() throws ParseException { - label_151: + label_153: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[225] = jj_gen; - break label_151; + jj_la1[227] = jj_gen; + break label_153; } jj_consume_token(S); } @@ -5504,15 +5585,15 @@ LexicalUnitImpl result = null; } final public void _parseDeclarationBlock() throws ParseException { - label_152: + label_154: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[226] = jj_gen; - break label_152; + jj_la1[228] = jj_gen; + break label_154; } jj_consume_token(S); } @@ -5521,29 +5602,29 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[227] = jj_gen; + jj_la1[229] = jj_gen; ; } - label_153: + label_155: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[228] = jj_gen; - break label_153; + jj_la1[230] = jj_gen; + break label_155; } jj_consume_token(SEMICOLON); - label_154: + label_156: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[229] = jj_gen; - break label_154; + jj_la1[231] = jj_gen; + break label_156; } jj_consume_token(S); } @@ -5552,7 +5633,7 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[230] = jj_gen; + jj_la1[232] = jj_gen; ; } } @@ -5561,15 +5642,15 @@ LexicalUnitImpl result = null; final public ArrayList _parseSelectors() throws ParseException { ArrayList p = null; try { - label_155: + label_157: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[231] = jj_gen; - break label_155; + jj_la1[233] = jj_gen; + break label_157; } jj_consume_token(S); } @@ -5665,71 +5746,66 @@ LexicalUnitImpl result = null; finally { jj_save(11, xla); } } - private boolean jj_3R_310() { - if (jj_3R_269()) return true; - return false; - } - - private boolean jj_3R_229() { - if (jj_3R_251()) return true; + private boolean jj_3R_231() { + if (jj_3R_253()) return true; return false; } - private boolean jj_3R_285() { - if (jj_3R_279()) return true; - if (jj_scan_token(COLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_310()) { - jj_scanpos = xsp; - if (jj_3R_311()) return true; - } + private boolean jj_3_1() { + if (jj_3R_158()) return true; return false; } - private boolean jj_3_1() { - if (jj_3R_156()) return true; + private boolean jj_3R_230() { + if (jj_3R_252()) return true; return false; } - private boolean jj_3R_270() { - if (jj_3R_285()) return true; + private boolean jj_3_11() { + if (jj_3R_167()) return true; return false; } - private boolean jj_3R_228() { - if (jj_3R_250()) return true; + private boolean jj_3_4() { + if (jj_3R_160()) return true; + if (jj_3R_161()) return true; return false; } - private boolean jj_3_4() { - if (jj_3R_158()) return true; - if (jj_3R_159()) return true; + private boolean jj_3R_257() { + Token xsp; + xsp = jj_scanpos; + if (jj_3_11()) { + jj_scanpos = xsp; + if (jj_3R_272()) { + jj_scanpos = xsp; + if (jj_3R_273()) { + jj_scanpos = xsp; + if (jj_3R_274()) return true; + } + } + } return false; } - private boolean jj_3R_226() { + private boolean jj_3R_228() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_3R_225()) return true; + if (jj_3R_227()) return true; return false; } private boolean jj_3_5() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_225() { - if (jj_3R_159()) return true; + private boolean jj_3R_227() { + if (jj_3R_161()) return true; Token xsp; while (true) { xsp = jj_scanpos; @@ -5742,55 +5818,55 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3_11() { - if (jj_3R_165()) return true; + private boolean jj_3R_262() { + if (jj_3R_271()) return true; return false; } - private boolean jj_3R_255() { + private boolean jj_3R_246() { + if (jj_scan_token(FUNCTION)) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3_11()) { - jj_scanpos = xsp; - if (jj_3R_270()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } + xsp = jj_scanpos; + if (jj_3R_262()) jj_scanpos = xsp; + if (jj_scan_token(RPARAN)) return true; return false; } - private boolean jj_3R_180() { - if (jj_3R_225()) return true; + private boolean jj_3R_182() { + if (jj_3R_227()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_226()) { jj_scanpos = xsp; break; } + if (jj_3R_228()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_260() { - if (jj_3R_269()) return true; + private boolean jj_3R_226() { + if (jj_3R_250()) return true; return false; } private boolean jj_3_2() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_244() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_260()) jj_scanpos = xsp; - if (jj_scan_token(RPARAN)) return true; + private boolean jj_3R_225() { + if (jj_3R_249()) return true; return false; } - private boolean jj_3R_253() { + private boolean jj_3R_224() { + if (jj_3R_248()) return true; + return false; + } + + private boolean jj_3R_255() { if (jj_scan_token(EACH_SYM)) return true; Token xsp; while (true) { @@ -5806,31 +5882,31 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_224() { - if (jj_3R_248()) return true; + private boolean jj_3R_270() { + if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_181() { + private boolean jj_3R_183() { Token xsp; xsp = jj_scanpos; - if (jj_3R_227()) { + if (jj_3R_229()) { jj_scanpos = xsp; if (jj_3_2()) { jj_scanpos = xsp; - if (jj_3R_228()) { - jj_scanpos = xsp; - if (jj_3R_229()) { - jj_scanpos = xsp; if (jj_3R_230()) { jj_scanpos = xsp; if (jj_3R_231()) { jj_scanpos = xsp; if (jj_3R_232()) { jj_scanpos = xsp; + if (jj_3R_233()) { + jj_scanpos = xsp; + if (jj_3R_234()) { + jj_scanpos = xsp; if (jj_3_3()) { jj_scanpos = xsp; - if (jj_3R_233()) return true; + if (jj_3R_235()) return true; } } } @@ -5842,63 +5918,61 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_227() { - if (jj_3R_249()) return true; - return false; - } - - private boolean jj_3R_223() { - if (jj_3R_247()) return true; - return false; - } - - private boolean jj_3R_222() { - if (jj_3R_246()) return true; + private boolean jj_3R_229() { + if (jj_3R_251()) return true; return false; } - private boolean jj_3R_165() { - if (jj_3R_180()) return true; - if (jj_scan_token(LBRACE)) return true; + private boolean jj_3R_254() { + if (jj_scan_token(EXTEND_SYM)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } + if (jj_3R_182()) return true; + if (jj_3R_270()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_181()) { jj_scanpos = xsp; break; } + if (jj_3R_270()) { jj_scanpos = xsp; break; } } - if (jj_scan_token(RBRACE)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_268() { - if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_252() { - if (jj_scan_token(EXTEND_SYM)) return true; + private boolean jj_3R_167() { + if (jj_3R_182()) return true; + if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_3R_180()) return true; - if (jj_3R_268()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_268()) { jj_scanpos = xsp; break; } + if (jj_3R_183()) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(RBRACE)) return true; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_278() { + private boolean jj_3R_247() { + if (jj_scan_token(DOT)) return true; + return false; + } + + private boolean jj_3R_223() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_247()) jj_scanpos = xsp; + if (jj_scan_token(IDENT)) return true; + return false; + } + + private boolean jj_3R_282() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(75)) { @@ -5953,7 +6027,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_281() { + private boolean jj_3R_285() { if (jj_scan_token(FUNCTION)) return true; Token xsp; while (true) { @@ -5963,7 +6037,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_279() { + private boolean jj_3R_283() { if (jj_scan_token(IDENT)) return true; Token xsp; while (true) { @@ -5973,7 +6047,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_256() { + private boolean jj_3R_222() { + if (jj_scan_token(STRING)) return true; + return false; + } + + private boolean jj_3R_258() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -5983,105 +6062,113 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_245() { - if (jj_scan_token(DOT)) return true; + private boolean jj_3R_221() { + if (jj_3R_246()) return true; return false; } - private boolean jj_3R_221() { + private boolean jj_3R_181() { Token xsp; xsp = jj_scanpos; - if (jj_3R_245()) jj_scanpos = xsp; - if (jj_scan_token(IDENT)) return true; + if (jj_3R_222()) { + jj_scanpos = xsp; + if (jj_3R_223()) { + jj_scanpos = xsp; + if (jj_3R_224()) { + jj_scanpos = xsp; + if (jj_3R_225()) { + jj_scanpos = xsp; + if (jj_3R_226()) return true; + } + } + } + } return false; } - private boolean jj_3R_193() { - if (jj_scan_token(S)) return true; + private boolean jj_3R_220() { + if (jj_scan_token(DIMEN)) return true; return false; } - private boolean jj_3R_220() { - if (jj_scan_token(STRING)) return true; + private boolean jj_3R_195() { + if (jj_scan_token(S)) return true; return false; } - private boolean jj_3R_192() { - if (jj_scan_token(DOT)) return true; + private boolean jj_3R_219() { + if (jj_scan_token(KHZ)) return true; return false; } - private boolean jj_3R_219() { - if (jj_3R_244()) return true; + private boolean jj_3R_194() { + if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3R_191() { + private boolean jj_3R_193() { if (jj_scan_token(EQ)) return true; return false; } - private boolean jj_3R_179() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_220()) { - jj_scanpos = xsp; - if (jj_3R_221()) { - jj_scanpos = xsp; - if (jj_3R_222()) { - jj_scanpos = xsp; - if (jj_3R_223()) { - jj_scanpos = xsp; - if (jj_3R_224()) return true; - } - } - } - } + private boolean jj_3R_192() { + if (jj_scan_token(RPARAN)) return true; return false; } - private boolean jj_3R_190() { - if (jj_scan_token(RPARAN)) return true; + private boolean jj_3R_218() { + if (jj_scan_token(HZ)) return true; return false; } - private boolean jj_3R_189() { + private boolean jj_3R_191() { if (jj_scan_token(FUNCTION)) return true; return false; } - private boolean jj_3R_188() { + private boolean jj_3R_190() { if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_187() { + private boolean jj_3R_290() { + if (jj_scan_token(WARN_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_189() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_186() { + private boolean jj_3R_217() { + if (jj_scan_token(MS)) return true; + return false; + } + + private boolean jj_3R_188() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3R_261() { - if (jj_3R_278()) return true; + private boolean jj_3R_263() { + if (jj_3R_282()) return true; return false; } - private boolean jj_3R_185() { + private boolean jj_3R_187() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_168() { + private boolean jj_3R_170() { Token xsp; xsp = jj_scanpos; - if (jj_3R_185()) { - jj_scanpos = xsp; - if (jj_3R_186()) { - jj_scanpos = xsp; if (jj_3R_187()) { jj_scanpos = xsp; if (jj_3R_188()) { @@ -6094,7 +6181,11 @@ LexicalUnitImpl result = null; jj_scanpos = xsp; if (jj_3R_192()) { jj_scanpos = xsp; - if (jj_3R_193()) return true; + if (jj_3R_193()) { + jj_scanpos = xsp; + if (jj_3R_194()) { + jj_scanpos = xsp; + if (jj_3R_195()) return true; } } } @@ -6106,29 +6197,44 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_249() { + private boolean jj_3R_216() { + if (jj_scan_token(SECOND)) return true; + return false; + } + + private boolean jj_3R_251() { if (jj_scan_token(IF_SYM)) return true; Token xsp; - if (jj_3R_261()) return true; + if (jj_3R_263()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_261()) { jj_scanpos = xsp; break; } + if (jj_3R_263()) { jj_scanpos = xsp; break; } } if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_218() { - if (jj_scan_token(DIMEN)) return true; + private boolean jj_3R_215() { + if (jj_scan_token(GRAD)) return true; return false; } - private boolean jj_3R_217() { - if (jj_scan_token(KHZ)) return true; + private boolean jj_3R_214() { + if (jj_scan_token(RAD)) return true; return false; } - private boolean jj_3R_157() { + private boolean jj_3R_289() { + if (jj_scan_token(DEBUG_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_159() { if (jj_scan_token(MICROSOFT_RULE)) return true; Token xsp; while (true) { @@ -6136,47 +6242,52 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } if (jj_scan_token(COLON)) return true; - if (jj_3R_168()) return true; + if (jj_3R_170()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_168()) { jj_scanpos = xsp; break; } + if (jj_3R_170()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_239() { - if (jj_scan_token(SIBLING)) return true; + private boolean jj_3R_213() { + if (jj_scan_token(DEG)) return true; return false; } - private boolean jj_3R_216() { - if (jj_scan_token(HZ)) return true; + private boolean jj_3R_241() { + if (jj_scan_token(SIBLING)) return true; return false; } - private boolean jj_3R_238() { + private boolean jj_3R_240() { if (jj_scan_token(PRECEDES)) return true; return false; } - private boolean jj_3R_215() { - if (jj_scan_token(MS)) return true; + private boolean jj_3R_212() { + if (jj_scan_token(EXS)) return true; return false; } - private boolean jj_3R_237() { + private boolean jj_3R_239() { if (jj_scan_token(PLUS)) return true; return false; } - private boolean jj_3R_194() { + private boolean jj_3R_211() { + if (jj_scan_token(EMS)) return true; + return false; + } + + private boolean jj_3R_196() { Token xsp; xsp = jj_scanpos; - if (jj_3R_237()) { + if (jj_3R_239()) { jj_scanpos = xsp; - if (jj_3R_238()) { + if (jj_3R_240()) { jj_scanpos = xsp; - if (jj_3R_239()) return true; + if (jj_3R_241()) return true; } } while (true) { @@ -6186,17 +6297,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_214() { - if (jj_scan_token(SECOND)) return true; - return false; - } - - private boolean jj_3R_213() { - if (jj_scan_token(GRAD)) return true; + private boolean jj_3R_210() { + if (jj_scan_token(PX)) return true; return false; } - private boolean jj_3R_171() { + private boolean jj_3R_173() { if (jj_scan_token(SIBLING)) return true; Token xsp; while (true) { @@ -6206,7 +6312,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_170() { + private boolean jj_3R_172() { if (jj_scan_token(PRECEDES)) return true; Token xsp; while (true) { @@ -6216,36 +6322,36 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_212() { - if (jj_scan_token(RAD)) return true; + private boolean jj_3R_209() { + if (jj_scan_token(IN)) return true; return false; } - private boolean jj_3R_172() { + private boolean jj_3R_174() { if (jj_scan_token(S)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_194()) jj_scanpos = xsp; + if (jj_3R_196()) jj_scanpos = xsp; return false; } - private boolean jj_3R_158() { + private boolean jj_3R_160() { Token xsp; xsp = jj_scanpos; - if (jj_3R_169()) { + if (jj_3R_171()) { jj_scanpos = xsp; - if (jj_3R_170()) { + if (jj_3R_172()) { jj_scanpos = xsp; - if (jj_3R_171()) { + if (jj_3R_173()) { jj_scanpos = xsp; - if (jj_3R_172()) return true; + if (jj_3R_174()) return true; } } } return false; } - private boolean jj_3R_169() { + private boolean jj_3R_171() { if (jj_scan_token(PLUS)) return true; Token xsp; while (true) { @@ -6255,97 +6361,63 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_211() { - if (jj_scan_token(DEG)) return true; + private boolean jj_3R_208() { + if (jj_scan_token(PC)) return true; return false; } - private boolean jj_3R_210() { - if (jj_scan_token(EXS)) return true; + private boolean jj_3R_207() { + if (jj_scan_token(MM)) return true; return false; } - private boolean jj_3R_209() { - if (jj_scan_token(EMS)) return true; + private boolean jj_3R_206() { + if (jj_scan_token(CM)) return true; return false; } - private boolean jj_3R_208() { - if (jj_scan_token(PX)) return true; + private boolean jj_3R_205() { + if (jj_scan_token(PT)) return true; return false; } - private boolean jj_3R_254() { - if (jj_3R_256()) return true; + private boolean jj_3R_256() { + if (jj_3R_258()) return true; if (jj_scan_token(COLON)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_3R_269()) return true; - return false; - } - - private boolean jj_3R_207() { - if (jj_scan_token(IN)) return true; - return false; - } - - private boolean jj_3R_206() { - if (jj_scan_token(PC)) return true; - return false; - } - - private boolean jj_3R_205() { - if (jj_scan_token(MM)) return true; + if (jj_3R_271()) return true; return false; } private boolean jj_3R_204() { - if (jj_scan_token(CM)) return true; - return false; - } - - private boolean jj_3R_203() { - if (jj_scan_token(PT)) return true; - return false; - } - - private boolean jj_3R_202() { if (jj_scan_token(PERCENTAGE)) return true; return false; } - private boolean jj_3R_184() { - if (jj_3R_236()) return true; + private boolean jj_3R_186() { + if (jj_3R_238()) return true; return false; } - private boolean jj_3R_201() { + private boolean jj_3R_203() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3R_200() { - if (jj_3R_243()) return true; - return false; - } - - private boolean jj_3R_196() { - if (jj_scan_token(HASH)) return true; + private boolean jj_3R_202() { + if (jj_3R_245()) return true; return false; } - private boolean jj_3R_178() { + private boolean jj_3R_180() { Token xsp; xsp = jj_scanpos; - if (jj_3R_200()) jj_scanpos = xsp; + if (jj_3R_202()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_201()) { - jj_scanpos = xsp; - if (jj_3R_202()) { - jj_scanpos = xsp; if (jj_3R_203()) { jj_scanpos = xsp; if (jj_3R_204()) { @@ -6378,7 +6450,11 @@ LexicalUnitImpl result = null; jj_scanpos = xsp; if (jj_3R_218()) { jj_scanpos = xsp; - if (jj_3R_219()) return true; + if (jj_3R_219()) { + jj_scanpos = xsp; + if (jj_3R_220()) { + jj_scanpos = xsp; + if (jj_3R_221()) return true; } } } @@ -6400,12 +6476,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_161() { + private boolean jj_3R_163() { Token xsp; xsp = jj_scanpos; - if (jj_3R_178()) { + if (jj_3R_180()) { jj_scanpos = xsp; - if (jj_3R_179()) return true; + if (jj_3R_181()) return true; } while (true) { xsp = jj_scanpos; @@ -6414,104 +6490,124 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_299() { - if (jj_scan_token(IDENT)) return true; + private boolean jj_3R_248() { + if (jj_scan_token(HASH)) return true; return false; } - private boolean jj_3R_300() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} + private boolean jj_3R_238() { + if (jj_3R_258()) return true; return false; } - private boolean jj_3R_246() { + private boolean jj_3R_198() { if (jj_scan_token(HASH)) return true; return false; } - private boolean jj_3R_236() { - if (jj_3R_256()) return true; + private boolean jj_3R_305() { + if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_183() { - if (jj_3R_161()) return true; + private boolean jj_3R_185() { + if (jj_3R_163()) return true; return false; } - private boolean jj_3R_167() { + private boolean jj_3R_249() { + if (jj_scan_token(URL)) return true; + return false; + } + + private boolean jj_3R_169() { Token xsp; xsp = jj_scanpos; - if (jj_3R_183()) { + if (jj_3R_185()) { jj_scanpos = xsp; - if (jj_3R_184()) return true; + if (jj_3R_186()) return true; } return false; } - private boolean jj_3R_247() { - if (jj_scan_token(URL)) return true; - return false; - } - - private boolean jj_3R_166() { - if (jj_3R_182()) return true; + private boolean jj_3R_306() { + if (jj_scan_token(FUNCTION)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} return false; } - private boolean jj_3R_298() { - if (jj_scan_token(COLON)) return true; + private boolean jj_3R_168() { + if (jj_3R_184()) return true; return false; } - private boolean jj_3R_259() { + private boolean jj_3R_261() { if (jj_scan_token(PLUS)) return true; return false; } - private boolean jj_3R_198() { - if (jj_scan_token(COLON)) return true; + private boolean jj_3R_245() { Token xsp; xsp = jj_scanpos; - if (jj_3R_298()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_299()) { + if (jj_3R_260()) { jj_scanpos = xsp; - if (jj_3R_300()) return true; + if (jj_3R_261()) return true; } return false; } - private boolean jj_3R_243() { + private boolean jj_3R_260() { + if (jj_scan_token(MINUS)) return true; + return false; + } + + private boolean jj_3_12() { Token xsp; xsp = jj_scanpos; - if (jj_3R_258()) { - jj_scanpos = xsp; - if (jj_3R_259()) return true; + if (jj_3R_168()) jj_scanpos = xsp; + if (jj_3R_169()) return true; + return false; + } + + private boolean jj_3R_271() { + if (jj_3R_169()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_12()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_258() { - if (jj_scan_token(MINUS)) return true; + private boolean jj_3R_304() { + if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3_12() { + private boolean jj_3R_250() { + if (jj_scan_token(UNICODERANGE)) return true; + return false; + } + + private boolean jj_3R_200() { + if (jj_scan_token(COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_166()) jj_scanpos = xsp; - if (jj_3R_167()) return true; + if (jj_3R_304()) jj_scanpos = xsp; + xsp = jj_scanpos; + if (jj_3R_305()) { + jj_scanpos = xsp; + if (jj_3R_306()) return true; + } return false; } - private boolean jj_3R_164() { + private boolean jj_3R_166() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6532,27 +6628,7 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_269() { - if (jj_3R_167()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_12()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_10() { - if (jj_3R_164()) return true; - return false; - } - - private boolean jj_3R_248() { - if (jj_scan_token(UNICODERANGE)) return true; - return false; - } - - private boolean jj_3R_235() { + private boolean jj_3R_237() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { @@ -6562,22 +6638,22 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_264() { - if (jj_3R_280()) return true; + private boolean jj_3_10() { + if (jj_3R_166()) return true; return false; } - private boolean jj_3R_182() { + private boolean jj_3R_184() { Token xsp; xsp = jj_scanpos; - if (jj_3R_234()) { + if (jj_3R_236()) { jj_scanpos = xsp; - if (jj_3R_235()) return true; + if (jj_3R_237()) return true; } return false; } - private boolean jj_3R_234() { + private boolean jj_3R_236() { if (jj_scan_token(DIV)) return true; Token xsp; while (true) { @@ -6587,7 +6663,12 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_162() { + private boolean jj_3R_266() { + if (jj_3R_284()) return true; + return false; + } + + private boolean jj_3R_164() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6609,61 +6690,61 @@ LexicalUnitImpl result = null; } private boolean jj_3_9() { - if (jj_3R_163()) return true; + if (jj_3R_165()) return true; return false; } - private boolean jj_3R_321() { + private boolean jj_3R_327() { if (jj_scan_token(STRING)) return true; return false; } - private boolean jj_3R_319() { + private boolean jj_3R_325() { if (jj_scan_token(STARMATCH)) return true; return false; } - private boolean jj_3R_320() { + private boolean jj_3R_326() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_318() { + private boolean jj_3R_324() { if (jj_scan_token(DOLLARMATCH)) return true; return false; } - private boolean jj_3R_266() { + private boolean jj_3R_268() { if (jj_scan_token(SEMICOLON)) return true; return false; } - private boolean jj_3R_317() { + private boolean jj_3R_323() { if (jj_scan_token(CARETMATCH)) return true; return false; } - private boolean jj_3R_316() { + private boolean jj_3R_322() { if (jj_scan_token(DASHMATCH)) return true; return false; } - private boolean jj_3R_315() { + private boolean jj_3R_321() { if (jj_scan_token(INCLUDES)) return true; return false; } - private boolean jj_3R_272() { + private boolean jj_3R_276() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_314() { + private boolean jj_3R_320() { if (jj_scan_token(EQ)) return true; return false; } - private boolean jj_3R_163() { + private boolean jj_3R_165() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -6684,20 +6765,20 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_305() { + private boolean jj_3R_311() { Token xsp; xsp = jj_scanpos; - if (jj_3R_314()) { + if (jj_3R_320()) { jj_scanpos = xsp; - if (jj_3R_315()) { + if (jj_3R_321()) { jj_scanpos = xsp; - if (jj_3R_316()) { + if (jj_3R_322()) { jj_scanpos = xsp; - if (jj_3R_317()) { + if (jj_3R_323()) { jj_scanpos = xsp; - if (jj_3R_318()) { + if (jj_3R_324()) { jj_scanpos = xsp; - if (jj_3R_319()) return true; + if (jj_3R_325()) return true; } } } @@ -6708,23 +6789,18 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_320()) { + if (jj_3R_326()) { jj_scanpos = xsp; - if (jj_3R_321()) return true; + if (jj_3R_327()) return true; } while (true) { xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_284() { - if (jj_scan_token(COMMA)) return true; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_199() { + private boolean jj_3R_201() { if (jj_scan_token(LBRACKET)) return true; Token xsp; while (true) { @@ -6737,17 +6813,22 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_305()) jj_scanpos = xsp; + if (jj_3R_311()) jj_scanpos = xsp; if (jj_scan_token(RBRACKET)) return true; return false; } - private boolean jj_3R_233() { - if (jj_3R_255()) return true; + private boolean jj_3R_235() { + if (jj_3R_257()) return true; return false; } - private boolean jj_3R_283() { + private boolean jj_3R_288() { + if (jj_scan_token(COMMA)) return true; + return false; + } + + private boolean jj_3R_287() { if (jj_scan_token(IDENT)) return true; Token xsp; while (true) { @@ -6757,22 +6838,22 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_313() { + private boolean jj_3R_319() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_263() { - if (jj_3R_256()) return true; + private boolean jj_3R_265() { + if (jj_3R_258()) return true; return false; } - private boolean jj_3R_242() { + private boolean jj_3R_244() { if (jj_scan_token(PARENT)) return true; return false; } - private boolean jj_3R_156() { + private boolean jj_3R_158() { Token xsp; xsp = jj_scanpos; if (jj_3_8()) { @@ -6786,80 +6867,80 @@ LexicalUnitImpl result = null; } private boolean jj_3_8() { - if (jj_3R_162()) return true; + if (jj_3R_164()) return true; return false; } - private boolean jj_3R_241() { + private boolean jj_3R_243() { if (jj_scan_token(ANY)) return true; return false; } - private boolean jj_3R_267() { - if (jj_3R_283()) return true; + private boolean jj_3R_269() { + if (jj_3R_287()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_284()) { jj_scanpos = xsp; break; } + if (jj_3R_288()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_257() { + private boolean jj_3R_259() { Token xsp; xsp = jj_scanpos; - if (jj_3R_271()) { + if (jj_3R_275()) { jj_scanpos = xsp; - if (jj_3R_272()) return true; + if (jj_3R_276()) return true; } return false; } - private boolean jj_3R_271() { + private boolean jj_3R_275() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_280() { + private boolean jj_3R_284() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_195() { + private boolean jj_3R_197() { Token xsp; xsp = jj_scanpos; - if (jj_3R_240()) { + if (jj_3R_242()) { jj_scanpos = xsp; - if (jj_3R_241()) { + if (jj_3R_243()) { jj_scanpos = xsp; - if (jj_3R_242()) return true; + if (jj_3R_244()) return true; } } return false; } - private boolean jj_3R_240() { + private boolean jj_3R_242() { Token xsp; - if (jj_3R_257()) return true; + if (jj_3R_259()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_257()) { jj_scanpos = xsp; break; } + if (jj_3R_259()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_265() { - if (jj_3R_281()) return true; - if (jj_3R_282()) return true; + private boolean jj_3R_267() { + if (jj_3R_285()) return true; + if (jj_3R_286()) return true; return false; } - private boolean jj_3R_262() { - if (jj_3R_279()) return true; + private boolean jj_3R_264() { + if (jj_3R_283()) return true; return false; } - private boolean jj_3R_250() { + private boolean jj_3R_252() { if (jj_scan_token(INCLUDE_SYM)) return true; Token xsp; while (true) { @@ -6867,108 +6948,108 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; - if (jj_3R_262()) { + if (jj_3R_264()) { jj_scanpos = xsp; - if (jj_3R_263()) { + if (jj_3R_265()) { jj_scanpos = xsp; - if (jj_3R_264()) { + if (jj_3R_266()) { jj_scanpos = xsp; - if (jj_3R_265()) return true; + if (jj_3R_267()) return true; } } } - if (jj_3R_266()) return true; + if (jj_3R_268()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_266()) { jj_scanpos = xsp; break; } + if (jj_3R_268()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_309() { - if (jj_3R_198()) return true; + private boolean jj_3R_315() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_312() { + private boolean jj_3R_318() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_293() { + private boolean jj_3R_299() { Token xsp; xsp = jj_scanpos; - if (jj_3R_312()) { + if (jj_3R_318()) { jj_scanpos = xsp; - if (jj_3R_313()) return true; + if (jj_3R_319()) return true; } return false; } - private boolean jj_3R_307() { - if (jj_3R_197()) return true; + private boolean jj_3R_313() { + if (jj_3R_199()) return true; return false; } - private boolean jj_3R_251() { - if (jj_scan_token(MEDIA_SYM)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_3R_267()) return true; - if (jj_scan_token(LBRACE)) return true; + private boolean jj_3_3() { + if (jj_3R_159()) return true; return false; } - private boolean jj_3_3() { - if (jj_3R_157()) return true; + private boolean jj_3R_310() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_304() { - if (jj_3R_198()) return true; + private boolean jj_3R_308() { + if (jj_3R_199()) return true; return false; } - private boolean jj_3R_302() { - if (jj_3R_197()) return true; + private boolean jj_3R_298() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_292() { - if (jj_3R_198()) return true; + private boolean jj_3R_253() { + if (jj_scan_token(MEDIA_SYM)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (jj_3R_269()) return true; + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_197() { + private boolean jj_3R_199() { if (jj_scan_token(DOT)) return true; Token xsp; - if (jj_3R_293()) return true; + if (jj_3R_299()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_293()) { jj_scanpos = xsp; break; } + if (jj_3R_299()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_297() { - if (jj_3R_198()) return true; + private boolean jj_3R_303() { + if (jj_3R_200()) return true; return false; } - private boolean jj_3R_295() { - if (jj_3R_197()) return true; + private boolean jj_3R_301() { + if (jj_3R_199()) return true; return false; } - private boolean jj_3R_282() { - if (jj_3R_167()) return true; + private boolean jj_3R_286() { + if (jj_3R_169()) return true; return false; } - private boolean jj_3R_160() { + private boolean jj_3R_162() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { @@ -6978,200 +7059,215 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_232() { - if (jj_3R_254()) return true; + private boolean jj_3R_234() { + if (jj_3R_256()) return true; return false; } - private boolean jj_3R_308() { - if (jj_3R_199()) return true; + private boolean jj_3R_314() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_306() { - if (jj_3R_196()) return true; + private boolean jj_3R_312() { + if (jj_3R_198()) return true; return false; } - private boolean jj_3R_277() { + private boolean jj_3R_281() { Token xsp; xsp = jj_scanpos; - if (jj_3R_306()) { + if (jj_3R_312()) { jj_scanpos = xsp; - if (jj_3R_307()) { + if (jj_3R_313()) { jj_scanpos = xsp; - if (jj_3R_308()) { + if (jj_3R_314()) { jj_scanpos = xsp; - if (jj_3R_309()) return true; + if (jj_3R_315()) return true; } } } return false; } - private boolean jj_3R_301() { - if (jj_3R_196()) return true; + private boolean jj_3R_274() { + if (jj_3R_291()) return true; return false; } - private boolean jj_3R_276() { + private boolean jj_3R_307() { + if (jj_3R_198()) return true; + return false; + } + + private boolean jj_3R_280() { Token xsp; xsp = jj_scanpos; - if (jj_3R_301()) { + if (jj_3R_307()) { jj_scanpos = xsp; - if (jj_3R_302()) { + if (jj_3R_308()) { jj_scanpos = xsp; - if (jj_3R_303()) { + if (jj_3R_309()) { jj_scanpos = xsp; - if (jj_3R_304()) return true; + if (jj_3R_310()) return true; } } } return false; } - private boolean jj_3R_289() { - if (jj_3R_198()) return true; + private boolean jj_3R_295() { + if (jj_3R_200()) return true; return false; } private boolean jj_3_7() { Token xsp; xsp = jj_scanpos; - if (jj_3R_160()) jj_scanpos = xsp; - if (jj_3R_161()) return true; + if (jj_3R_162()) jj_scanpos = xsp; + if (jj_3R_163()) return true; return false; } - private boolean jj_3R_303() { - if (jj_3R_199()) return true; + private boolean jj_3R_309() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_294() { - if (jj_3R_196()) return true; + private boolean jj_3R_300() { + if (jj_3R_198()) return true; return false; } - private boolean jj_3R_275() { + private boolean jj_3R_279() { Token xsp; xsp = jj_scanpos; - if (jj_3R_294()) { + if (jj_3R_300()) { jj_scanpos = xsp; - if (jj_3R_295()) { + if (jj_3R_301()) { jj_scanpos = xsp; - if (jj_3R_296()) { + if (jj_3R_302()) { jj_scanpos = xsp; - if (jj_3R_297()) return true; + if (jj_3R_303()) return true; } } } return false; } - private boolean jj_3R_291() { - if (jj_3R_199()) return true; + private boolean jj_3R_297() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_296() { - if (jj_3R_199()) return true; + private boolean jj_3R_302() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_290() { - if (jj_3R_197()) return true; + private boolean jj_3R_317() { + if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_287() { - if (jj_3R_197()) return true; + private boolean jj_3R_296() { + if (jj_3R_199()) return true; return false; } - private boolean jj_3R_274() { + private boolean jj_3R_293() { + if (jj_3R_199()) return true; + return false; + } + + private boolean jj_3R_278() { Token xsp; xsp = jj_scanpos; - if (jj_3R_290()) { + if (jj_3R_296()) { jj_scanpos = xsp; - if (jj_3R_291()) { + if (jj_3R_297()) { jj_scanpos = xsp; - if (jj_3R_292()) return true; + if (jj_3R_298()) return true; } } return false; } - private boolean jj_3R_231() { - if (jj_3R_253()) return true; + private boolean jj_3R_233() { + if (jj_3R_255()) return true; return false; } - private boolean jj_3R_177() { - if (jj_3R_199()) return true; + private boolean jj_3R_273() { + if (jj_3R_290()) return true; + return false; + } + + private boolean jj_3R_179() { + if (jj_3R_201()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_277()) { jj_scanpos = xsp; break; } + if (jj_3R_281()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_176() { - if (jj_3R_198()) return true; + private boolean jj_3R_178() { + if (jj_3R_200()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_276()) { jj_scanpos = xsp; break; } + if (jj_3R_280()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_288() { - if (jj_3R_199()) return true; + private boolean jj_3R_316() { + if (jj_3R_271()) return true; return false; } - private boolean jj_3R_311() { - if (jj_scan_token(LBRACE)) return true; + private boolean jj_3R_294() { + if (jj_3R_201()) return true; return false; } - private boolean jj_3R_175() { - if (jj_3R_197()) return true; + private boolean jj_3R_177() { + if (jj_3R_199()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_275()) { jj_scanpos = xsp; break; } + if (jj_3R_279()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_286() { - if (jj_3R_196()) return true; + private boolean jj_3R_292() { + if (jj_3R_198()) return true; return false; } - private boolean jj_3R_174() { - if (jj_3R_196()) return true; + private boolean jj_3R_176() { + if (jj_3R_198()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_274()) { jj_scanpos = xsp; break; } + if (jj_3R_278()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_273() { + private boolean jj_3R_277() { Token xsp; xsp = jj_scanpos; - if (jj_3R_286()) { + if (jj_3R_292()) { jj_scanpos = xsp; - if (jj_3R_287()) { + if (jj_3R_293()) { jj_scanpos = xsp; - if (jj_3R_288()) { + if (jj_3R_294()) { jj_scanpos = xsp; - if (jj_3R_289()) return true; + if (jj_3R_295()) return true; } } } @@ -7179,32 +7275,48 @@ LexicalUnitImpl result = null; } private boolean jj_3_6() { - if (jj_3R_156()) return true; + if (jj_3R_158()) return true; return false; } - private boolean jj_3R_173() { - if (jj_3R_195()) return true; + private boolean jj_3R_175() { + if (jj_3R_197()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_273()) { jj_scanpos = xsp; break; } + if (jj_3R_277()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_159() { + private boolean jj_3R_291() { + if (jj_3R_283()) return true; + if (jj_scan_token(COLON)) return true; Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } xsp = jj_scanpos; - if (jj_3R_173()) { - jj_scanpos = xsp; - if (jj_3R_174()) { + if (jj_3R_316()) { jj_scanpos = xsp; + if (jj_3R_317()) return true; + } + return false; + } + + private boolean jj_3R_161() { + Token xsp; + xsp = jj_scanpos; if (jj_3R_175()) { jj_scanpos = xsp; if (jj_3R_176()) { jj_scanpos = xsp; - if (jj_3R_177()) return true; + if (jj_3R_177()) { + jj_scanpos = xsp; + if (jj_3R_178()) { + jj_scanpos = xsp; + if (jj_3R_179()) return true; } } } @@ -7212,8 +7324,13 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_230() { - if (jj_3R_252()) return true; + private boolean jj_3R_232() { + if (jj_3R_254()) return true; + return false; + } + + private boolean jj_3R_272() { + if (jj_3R_289()) return true; return false; } @@ -7227,7 +7344,7 @@ LexicalUnitImpl result = null; private Token jj_scanpos, jj_lastpos; private int jj_la; private int jj_gen; - final private int[] jj_la1 = new int[232]; + final private int[] jj_la1 = new int[234]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -7239,16 +7356,16 @@ LexicalUnitImpl result = null; jj_la1_init_3(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x80002,0x80002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x4d380002,0x2,0xd0000000,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,}; + jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x80002,0x80002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x4d380002,0x2,0xd0000000,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x50600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x381,0x381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x50400181,0x40000000,0x10400000,0x181,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x400181,0x400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x400181,0x400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x400181,0x400000,0x181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x50400181,0x400000,0x50000181,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000381,0x6000381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x56400181,0x40000000,0x10400000,0x6000181,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x6400181,0x6400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x6400181,0x6400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x6400181,0x400000,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56400181,0x400000,0x56000181,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x800,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x0,0x80000801,0x20000080,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x980,0x0,0xa0000881,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x80000000,0x20000881,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x800,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x0,0x80000801,0x20000080,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x980,0x0,0xa0000881,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x80000000,0x20000881,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } final private JJCalls[] jj_2_rtns = new JJCalls[12]; private boolean jj_rescan = false; @@ -7260,7 +7377,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7270,7 +7387,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7280,7 +7397,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7290,7 +7407,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 232; i++) jj_la1[i] = -1; + for (int i = 0; i < 234; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -7407,7 +7524,7 @@ LexicalUnitImpl result = null; la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 232; i++) { + for (int i = 0; i < 234; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1< ( )* mediaStatement(ml) { start = true; documentHandler.startMedia(ml); } - ( )* ( styleRule() | skipUnknownRule() )* ( )* + ( )* ( debugDirective() | warnDirective() | styleRule() | skipUnknownRule() )* ( )* } catch (ParseException e) { reportError(getLocator(), e); skipStatement(); @@ -933,9 +934,10 @@ void atRuleDeclaration() : n= { ret=skipStatement(); - reportWarningSkipText(getLocator(), ret); if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); } } } @@ -972,9 +974,10 @@ void skipUnknownRule() : String ret; Locator loc = getLocator(); ret=skipStatement(); - reportWarningSkipText(loc, ret); if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); } } } @@ -1717,12 +1720,28 @@ Node returnDirective() : {return null;} } -JAVACODE -void debugDirective(){ +void debugDirective() : +{} +{ + + { + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. + System.out.println(content); + } + ()* } -JAVACODE -void warnDirective(){ +void warnDirective() : +{} +{ + + { + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. + System.err.println(content); + } + ()* } Node forDirective() : @@ -1816,7 +1835,7 @@ void styleRuleOrDeclarationOrNestedProperties() : { try { // differentiate between the colon of a pseudo and the colon of nested properties and the colon of a simple property - (LOOKAHEAD(5) styleRule() | declarationOrNestedProperties()) + (LOOKAHEAD(5) styleRule() | debugDirective() | warnDirective() | declarationOrNestedProperties()) } catch (JumpException e) { skipAfterExpression(); // reportWarningSkipText(getLocator(), skipAfterExpression()); @@ -2686,14 +2705,14 @@ void _parseRule() : } { ( )* - ( importDeclaration() | styleRule() | media() | page() + ( importDeclaration() | debugDirective() | warnDirective() | styleRule() | media() | page() | fontFace() | ret=skipStatement() { if ((ret == null) || (ret.length() == 0)) { return; } if (ret.charAt(0) == '@') { - documentHandler.ignorableAtRule(ret); + documentHandler.unrecognizedRule(ret); } else { throw new CSSParseException("unrecognize rule: " + ret, getLocator()); diff --git a/theme-compiler/tests/resources/automatic/css/unknown_as_is.css b/theme-compiler/tests/resources/automatic/css/unknown_as_is.css new file mode 100644 index 0000000000..bfe76855fb --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/unknown_as_is.css @@ -0,0 +1,3 @@ +@-webkit-keyframes fade-in { + 0% { opacity: 0; } +} diff --git a/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss b/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss new file mode 100644 index 0000000000..bfe76855fb --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/unknown_as_is.scss @@ -0,0 +1,3 @@ +@-webkit-keyframes fade-in { + 0% { opacity: 0; } +} -- 2.39.5