From 16452cbb7fff0441cde4d2d303297e83e8c58ce1 Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Fri, 12 Oct 2012 17:07:26 +0300 Subject: [PATCH] list append and contains for #9380 Originally c/76 (I413452d08b48a0fa21d027064ce2d35e687129cd) by Seba; received missing file, and fixed Change-Id: Ib814b13c6ce7bb6f29bdab2ee65274c1fade099e --- .../sass/handler/SCSSDocumentHandler.java | 6 + .../sass/handler/SCSSDocumentHandlerImpl.java | 18 + .../vaadin/sass/parser/LexicalUnitImpl.java | 4 + .../src/com/vaadin/sass/parser/Parser.java | 1738 ++++++++------ .../src/com/vaadin/sass/parser/Parser.jj | 79 +- .../vaadin/sass/parser/ParserConstants.java | 10 +- .../sass/parser/ParserTokenManager.java | 2059 +++++++++-------- .../com/vaadin/sass/tree/ListAppendNode.java | 19 + .../vaadin/sass/tree/ListContainsNode.java | 31 + .../com/vaadin/sass/tree/ListModifyNode.java | 99 +- .../com/vaadin/sass/tree/ListRemoveNode.java | 127 +- .../sass/tree/controldirective/IfNode.java | 7 +- .../vaadin/sass/visitor/IfElseVisitor.java | 14 +- .../vaadin/sass/visitor/VariableVisitor.java | 14 +- .../tests/resources/css/listmodify.css | 23 + .../tests/resources/scss/listmodify.scss | 25 + .../sass/testcases/scss/ListModify.java | 17 + 17 files changed, 2491 insertions(+), 1799 deletions(-) create mode 100644 theme-compiler/src/com/vaadin/sass/tree/ListAppendNode.java create mode 100644 theme-compiler/src/com/vaadin/sass/tree/ListContainsNode.java create mode 100644 theme-compiler/tests/resources/css/listmodify.css create mode 100644 theme-compiler/tests/resources/scss/listmodify.scss create mode 100644 theme-compiler/tests/src/com/vaadin/sass/testcases/scss/ListModify.java diff --git a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java index d3e53c5cd4..215abaa38b 100644 --- a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java +++ b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandler.java @@ -82,4 +82,10 @@ public interface SCSSDocumentHandler extends DocumentHandler { void removeDirective(String variable, String list, String remove, String separator); + void appendDirective(String variable, String list, String remove, + String separator); + + void containsDirective(String variable, String list, String contains, + String separator); + } diff --git a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java index 4acbc8d4d6..333ca0319b 100644 --- a/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java +++ b/theme-compiler/src/com/vaadin/sass/handler/SCSSDocumentHandlerImpl.java @@ -34,6 +34,8 @@ import com.vaadin.sass.tree.ExtendNode; import com.vaadin.sass.tree.FontFaceNode; import com.vaadin.sass.tree.ForNode; import com.vaadin.sass.tree.ImportNode; +import com.vaadin.sass.tree.ListAppendNode; +import com.vaadin.sass.tree.ListContainsNode; import com.vaadin.sass.tree.ListRemoveNode; import com.vaadin.sass.tree.MediaNode; import com.vaadin.sass.tree.MicrosoftRuleNode; @@ -310,4 +312,20 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler { separator); nodeStack.peek().appendChild(node); } + + @Override + public void appendDirective(String variable, String list, String append, + String separator) { + ListAppendNode node = new ListAppendNode(variable, list, append, + separator); + nodeStack.peek().appendChild(node); + } + + @Override + public void containsDirective(String variable, String list, + String contains, String separator) { + ListContainsNode node = new ListContainsNode(variable, list, contains, + separator); + nodeStack.peek().appendChild(node); + } } diff --git a/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java b/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java index 661dac6125..0afb95b315 100644 --- a/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java +++ b/theme-compiler/src/com/vaadin/sass/parser/LexicalUnitImpl.java @@ -628,4 +628,8 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit, public void setFunctionName(String functionName) { fname = functionName; } + + public static LexicalUnitImpl createIdent(String s) { + return new LexicalUnitImpl(0, 0, null, SAC_IDENT, s); + } } diff --git a/theme-compiler/src/com/vaadin/sass/parser/Parser.java b/theme-compiler/src/com/vaadin/sass/parser/Parser.java index f5a2e4e432..33411bd57d 100644 --- a/theme-compiler/src/com/vaadin/sass/parser/Parser.java +++ b/theme-compiler/src/com/vaadin/sass/parser/Parser.java @@ -554,7 +554,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VARIABLE: if (jj_2_1(5)) { - removeDirective(); + listModifyDirective(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case VARIABLE: @@ -567,6 +567,9 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } break; + case IF_SYM: + ifDirective(); + break; case MIXIN_SYM: mixinDirective(); break; @@ -1598,7 +1601,7 @@ char connector = ' '; default: jj_la1[61] = jj_gen; if (jj_2_2(5)) { - removeDirective(); + listModifyDirective(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case INCLUDE_SYM: @@ -2860,7 +2863,7 @@ boolean isPseudoElement = false; default: jj_la1[121] = jj_gen; if (jj_2_7(5)) { - removeDirective(); + listModifyDirective(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case MEDIA_SYM: @@ -3059,35 +3062,43 @@ boolean isPseudoElement = false; case MEDIA_SYM: media(); break; - case EACH_SYM: - eachDirective(); - break; - case EXTEND_SYM: - extendDirective(); - break; - case VARIABLE: - variable(); - break; default: jj_la1[134] = jj_gen; - if (jj_2_9(3)) { - declarationOrNestedProperties(); + if (jj_2_9(5)) { + listModifyDirective(); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); + case EACH_SYM: + eachDirective(); + break; + case EXTEND_SYM: + extendDirective(); + break; + case VARIABLE: + variable(); break; default: jj_la1[135] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + if (jj_2_10(3)) { + declarationOrNestedProperties(); + } else { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + default: + jj_la1[136] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } } } } @@ -3100,7 +3111,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[136] = jj_gen; + jj_la1[137] = jj_gen; break label_88; } jj_consume_token(S); @@ -3120,7 +3131,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[137] = jj_gen; + jj_la1[138] = jj_gen; break label_89; } jj_consume_token(COMMA); @@ -3131,7 +3142,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[138] = jj_gen; + jj_la1[139] = jj_gen; break label_90; } jj_consume_token(S); @@ -3180,7 +3191,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[139] = jj_gen; + jj_la1[140] = jj_gen; break label_91; } jj_consume_token(S); @@ -3189,7 +3200,7 @@ boolean isPseudoElement = false; prev = first; label_92: while (true) { - if (jj_2_10(3)) { + if (jj_2_11(3)) { ; } else { break label_92; @@ -3204,14 +3215,14 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[140] = jj_gen; + jj_la1[141] = jj_gen; break label_93; } jj_consume_token(S); } break; default: - jj_la1[141] = jj_gen; + jj_la1[142] = jj_gen; ; } prev = nonVariableTerm(prev); @@ -3223,13 +3234,13 @@ boolean isPseudoElement = false; prev, variable.image); break; default: - jj_la1[142] = jj_gen; + jj_la1[143] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[143] = jj_gen; + jj_la1[144] = jj_gen; ; } VariableNode arg = new VariableNode(name, first, false); @@ -3249,6 +3260,7 @@ boolean isPseudoElement = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: + case DOT: case COLON: case STRING: case IDENT: @@ -3278,7 +3290,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[144] = jj_gen; + jj_la1[145] = jj_gen; break label_94; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3291,14 +3303,14 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[145] = jj_gen; + jj_la1[146] = jj_gen; break label_95; } jj_consume_token(S); } break; default: - jj_la1[146] = jj_gen; + jj_la1[147] = jj_gen; ; } next = term(prev); @@ -3311,7 +3323,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[147] = jj_gen; + jj_la1[148] = jj_gen; break label_96; } jj_consume_token(COMMA); @@ -3322,7 +3334,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[148] = jj_gen; + jj_la1[149] = jj_gen; break label_97; } jj_consume_token(S); @@ -3334,6 +3346,7 @@ boolean isPseudoElement = false; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: + case DOT: case COLON: case STRING: case IDENT: @@ -3363,7 +3376,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[149] = jj_gen; + jj_la1[150] = jj_gen; break label_98; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3376,14 +3389,14 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[150] = jj_gen; + jj_la1[151] = jj_gen; break label_99; } jj_consume_token(S); } break; default: - jj_la1[151] = jj_gen; + jj_la1[152] = jj_gen; ; } next = term(prev); @@ -3405,7 +3418,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[152] = jj_gen; + jj_la1[153] = jj_gen; break label_100; } jj_consume_token(S); @@ -3420,7 +3433,7 @@ boolean isPseudoElement = false; jj_consume_token(RPARAN); break; default: - jj_la1[153] = jj_gen; + jj_la1[154] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -3434,7 +3447,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[154] = jj_gen; + jj_la1[155] = jj_gen; break label_102; } jj_consume_token(S); @@ -3444,17 +3457,30 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[155] = jj_gen; + jj_la1[156] = jj_gen; break label_101; } } documentHandler.includeDirective(name, args); } + final public void listModifyDirective() throws ParseException { + if (jj_2_12(5)) { + removeDirective(); + } else if (jj_2_13(5)) { + appendDirective(); + } else if (jj_2_14(5)) { + containsDirective(); + } else { + jj_consume_token(-1); + throw new ParseException(); + } + } + /** * @exception ParseException exception during the parse */ - final public void removeDirective() throws ParseException { + final public void appendDirective() throws ParseException { String list = null; String remove = null; String separator = null; @@ -3469,7 +3495,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[156] = jj_gen; + jj_la1[157] = jj_gen; break label_103; } jj_consume_token(S); @@ -3482,12 +3508,12 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[157] = jj_gen; + jj_la1[158] = jj_gen; break label_104; } jj_consume_token(S); } - jj_consume_token(REMOVE); + jj_consume_token(APPEND); label_105: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3495,18 +3521,18 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[158] = jj_gen; + jj_la1[159] = jj_gen; break label_105; } jj_consume_token(S); } - list = removeDirectiveArgs(0); + list = listModifyDirectiveArgs(0); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case RPARAN: jj_consume_token(RPARAN); break; default: - jj_la1[159] = jj_gen; + jj_la1[160] = jj_gen; ; } jj_consume_token(COMMA); @@ -3517,12 +3543,12 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[160] = jj_gen; + jj_la1[161] = jj_gen; break label_106; } jj_consume_token(S); } - remove = removeDirectiveArgs(1); + remove = listModifyDirectiveArgs(1); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: jj_consume_token(COMMA); @@ -3533,7 +3559,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[161] = jj_gen; + jj_la1[162] = jj_gen; break label_107; } jj_consume_token(S); @@ -3547,14 +3573,14 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[162] = jj_gen; + jj_la1[163] = jj_gen; break label_108; } jj_consume_token(S); } break; default: - jj_la1[163] = jj_gen; + jj_la1[164] = jj_gen; ; } jj_consume_token(RPARAN); @@ -3565,7 +3591,7 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[164] = jj_gen; + jj_la1[165] = jj_gen; break label_109; } jj_consume_token(S); @@ -3578,124 +3604,25 @@ boolean isPseudoElement = false; ; break; default: - jj_la1[165] = jj_gen; + jj_la1[166] = jj_gen; break label_110; } jj_consume_token(S); } - documentHandler.removeDirective(variable,list,remove,separator); - } - - String removeDirectiveArgs(int nest) throws ParseException { - String list = ""; - int nesting = nest; - Token t = null; - - while(true) - { - t = getToken(1); - String s = t.image; - if(t.kind == VARIABLE||t.kind == IDENT) - { - list += s; - }else if(s.toLowerCase().equals("auto")||s.toLowerCase().equals("space")||s.toLowerCase().equals("comma")) - { - int i = 2; - Token temp = getToken(i); - boolean isLast = true; - while(temp.kind != SEMICOLON) - { - if(temp.kind != RPARAN || temp.kind != S) - { - isLast = false; - } - i++; - temp = getToken(i); - } - - if(isLast) - { - return list; - } - } - else if(t.kind == STRING) - { - list += s.substring(1,s.length()).substring(0,s.length()-2); - - }else if(t.kind == LPARAN) - { - nesting++; - if(nesting > nest+1) - { - throw new CSSParseException("Only one ( ) pair per parameter allowed", getLocator()); - } - }else if(t.kind == RPARAN) - { - nesting--; - if(nesting == 0) - { - return list; - } - } else if(t.kind == COMMA) - { - if(nesting == nest) - { - return list; - }else - { - list += ","; - } - - }else if(t.kind == S) - { - list += " "; - } else if(t.kind == LBRACE) - { - throw new CSSParseException("Invalid token,'{' found", getLocator()); - } - - getNextToken(); - } + documentHandler.appendDirective(variable,list,remove,separator); } - final public Node returnDirective() throws ParseException { - String raw; - raw = skipStatement(); - {if (true) return null;} - throw new Error("Missing return statement in function"); - } - - void debugDirective() throws ParseException { - } - - void warnDirective() throws ParseException { - } - - final public Node forDirective() throws ParseException { - String var; - String from; - String to; - boolean exclusive; - String body; - Token tok; - var = variableName(); - int[] toThrough = {TO, THROUGH}; - from = skipStatementUntil(toThrough); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TO: - tok = jj_consume_token(TO); - exclusive = true; - break; - case THROUGH: - tok = jj_consume_token(THROUGH); - exclusive = false; - break; - default: - jj_la1[166] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - to = skipStatementUntilLeftBrace(); +/** + * @exception ParseException exception during the parse + */ + final public void removeDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + n = jj_consume_token(VARIABLE); + variable = n.image; label_111: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3708,23 +3635,7 @@ boolean isPseudoElement = false; } jj_consume_token(S); } - body = skipStatement(); - {if (true) return documentHandler.forDirective(var, from, to, exclusive, body);} - throw new Error("Missing return statement in function"); - } - - final public Node whileDirective() throws ParseException { - String condition; - String body; - condition = skipStatementUntilLeftBrace(); - body = skipStatement(); - {if (true) return documentHandler.whileDirective(condition, body);} - throw new Error("Missing return statement in function"); - } - - final public void extendDirective() throws ParseException { - ArrayList list; - jj_consume_token(EXTEND_SYM); + jj_consume_token(COLON); label_112: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -3737,36 +3648,421 @@ boolean isPseudoElement = false; } jj_consume_token(S); } - list = selectorList(); + jj_consume_token(REMOVE); label_113: while (true) { - jj_consume_token(SEMICOLON); - label_114: + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[169] = jj_gen; + break label_113; + } + jj_consume_token(S); + } + list = listModifyDirectiveArgs(0); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case RPARAN: + jj_consume_token(RPARAN); + break; + default: + jj_la1[170] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_114: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[171] = jj_gen; + break label_114; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_115: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[169] = jj_gen; - break label_114; + jj_la1[172] = jj_gen; + break label_115; } jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[170] = jj_gen; - break label_113; - } - } - documentHandler.extendDirective(list); - } - - Node importDirective() throws ParseException { - return null; + n = jj_consume_token(IDENT); + separator = n.image; + label_116: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[173] = jj_gen; + break label_116; + } + jj_consume_token(S); + } + break; + default: + jj_la1[174] = jj_gen; + ; + } + jj_consume_token(RPARAN); + label_117: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[175] = jj_gen; + break label_117; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + label_118: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[176] = jj_gen; + break label_118; + } + jj_consume_token(S); + } + documentHandler.removeDirective(variable,list,remove,separator); + } + +/** + * @exception ParseException exception during the parse + */ + final public void containsDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + n = jj_consume_token(VARIABLE); + variable = n.image; + label_119: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[177] = jj_gen; + break label_119; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_120: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[178] = jj_gen; + break label_120; + } + jj_consume_token(S); + } + jj_consume_token(CONTAINS); + label_121: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[179] = jj_gen; + break label_121; + } + jj_consume_token(S); + } + list = listModifyDirectiveArgs(0); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case RPARAN: + jj_consume_token(RPARAN); + break; + default: + jj_la1[180] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_122: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[181] = jj_gen; + break label_122; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_123: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[182] = jj_gen; + break label_123; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_124: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[183] = jj_gen; + break label_124; + } + jj_consume_token(S); + } + break; + default: + jj_la1[184] = jj_gen; + ; + } + jj_consume_token(RPARAN); + label_125: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[185] = jj_gen; + break label_125; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + label_126: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[186] = jj_gen; + break label_126; + } + jj_consume_token(S); + } + documentHandler.containsDirective(variable,list,remove,separator); + } + + String listModifyDirectiveArgs(int nest) throws ParseException { + String list = ""; + int nesting = nest; + Token t = null; + + while(true) + { + t = getToken(1); + String s = t.image; + if(t.kind == VARIABLE||t.kind == IDENT) + { + list += s; + }else if(s.toLowerCase().equals("auto")||s.toLowerCase().equals("space")||s.toLowerCase().equals("comma")) + { + int i = 2; + Token temp = getToken(i); + boolean isLast = true; + while(temp.kind != SEMICOLON) + { + if(temp.kind != RPARAN || temp.kind != S) + { + isLast = false; + } + i++; + temp = getToken(i); + } + + if(isLast) + { + return list; + } + } + else if(t.kind == STRING) + { + list += s.substring(1,s.length()).substring(0,s.length()-2); + + }else if(t.kind == LPARAN) + { + nesting++; + if(nesting > nest+1) + { + throw new CSSParseException("Only one ( ) pair per parameter allowed", getLocator()); + } + }else if(t.kind == RPARAN) + { + nesting--; + if(nesting == 0) + { + return list; + } + } else if(t.kind == COMMA) + { + if(nesting == nest) + { + return list; + }else + { + list += ","; + } + + }else if(t.kind == S) + { + list += " "; + } else if(t.kind == LBRACE) + { + throw new CSSParseException("Invalid token,'{' found", getLocator()); + } + + getNextToken(); + } + } + + final public Node returnDirective() throws ParseException { + String raw; + raw = skipStatement(); + {if (true) return null;} + throw new Error("Missing return statement in function"); + } + + void debugDirective() throws ParseException { + } + + void warnDirective() throws ParseException { + } + + final public Node forDirective() throws ParseException { + String var; + String from; + String to; + boolean exclusive; + String body; + Token tok; + var = variableName(); + int[] toThrough = {TO, THROUGH}; + from = skipStatementUntil(toThrough); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case TO: + tok = jj_consume_token(TO); + exclusive = true; + break; + case THROUGH: + tok = jj_consume_token(THROUGH); + exclusive = false; + break; + default: + jj_la1[187] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + to = skipStatementUntilLeftBrace(); + label_127: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[188] = jj_gen; + break label_127; + } + jj_consume_token(S); + } + body = skipStatement(); + {if (true) return documentHandler.forDirective(var, from, to, exclusive, body);} + throw new Error("Missing return statement in function"); + } + + final public Node whileDirective() throws ParseException { + String condition; + String body; + condition = skipStatementUntilLeftBrace(); + body = skipStatement(); + {if (true) return documentHandler.whileDirective(condition, body);} + throw new Error("Missing return statement in function"); + } + + final public void extendDirective() throws ParseException { + ArrayList list; + jj_consume_token(EXTEND_SYM); + label_128: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[189] = jj_gen; + break label_128; + } + jj_consume_token(S); + } + list = selectorList(); + label_129: + while (true) { + jj_consume_token(SEMICOLON); + label_130: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case S: + ; + break; + default: + jj_la1[190] = jj_gen; + break label_130; + } + jj_consume_token(S); + } + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[191] = jj_gen; + break label_129; + } + } + documentHandler.extendDirective(list); + } + + Node importDirective() throws ParseException { + return null; } Node charsetDirective() throws ParseException { @@ -3786,28 +4082,28 @@ boolean isPseudoElement = false; LexicalUnit exp; name = property(); jj_consume_token(COLON); - label_115: + label_131: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[171] = jj_gen; - break label_115; + jj_la1[192] = jj_gen; + break label_131; } jj_consume_token(S); } jj_consume_token(LBRACE); - label_116: + label_132: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[172] = jj_gen; - break label_116; + jj_la1[193] = jj_gen; + break label_132; } jj_consume_token(S); } @@ -3817,29 +4113,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[173] = jj_gen; + jj_la1[194] = jj_gen; ; } - label_117: + label_133: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[174] = jj_gen; - break label_117; + jj_la1[195] = jj_gen; + break label_133; } jj_consume_token(SEMICOLON); - label_118: + label_134: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[175] = jj_gen; - break label_118; + jj_la1[196] = jj_gen; + break label_134; } jj_consume_token(S); } @@ -3848,21 +4144,21 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[176] = jj_gen; + jj_la1[197] = jj_gen; ; } } jj_consume_token(RBRACE); documentHandler.endNestedProperties(name); - label_119: + label_135: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[177] = jj_gen; - break label_119; + jj_la1[198] = jj_gen; + break label_135; } jj_consume_token(S); } @@ -3881,21 +4177,22 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_120: + label_136: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[178] = jj_gen; - break label_120; + jj_la1[199] = jj_gen; + break label_136; } jj_consume_token(S); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: + case DOT: case STRING: case IDENT: case NUMBER: @@ -3927,7 +4224,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[179] = jj_gen; + jj_la1[200] = jj_gen; ; } Token next = getToken(1); @@ -3945,15 +4242,15 @@ LexicalUnit exp; break; case LBRACE: jj_consume_token(LBRACE); - label_121: + label_137: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[180] = jj_gen; - break label_121; + jj_la1[201] = jj_gen; + break label_137; } jj_consume_token(S); } @@ -3963,29 +4260,29 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[181] = jj_gen; + jj_la1[202] = jj_gen; ; } - label_122: + label_138: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[182] = jj_gen; - break label_122; + jj_la1[203] = jj_gen; + break label_138; } jj_consume_token(SEMICOLON); - label_123: + label_139: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[183] = jj_gen; - break label_123; + jj_la1[204] = jj_gen; + break label_139; } jj_consume_token(S); } @@ -3994,27 +4291,27 @@ LexicalUnit exp; declaration(); break; default: - jj_la1[184] = jj_gen; + jj_la1[205] = jj_gen; ; } } jj_consume_token(RBRACE); - label_124: + label_140: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[185] = jj_gen; - break label_124; + jj_la1[206] = jj_gen; + break label_140; } jj_consume_token(S); } documentHandler.endNestedProperties(name); break; default: - jj_la1[186] = jj_gen; + jj_la1[207] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4064,15 +4361,15 @@ LexicalUnit exp; name = property(); save = token; jj_consume_token(COLON); - label_125: + label_141: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[187] = jj_gen; - break label_125; + jj_la1[208] = jj_gen; + break label_141; } jj_consume_token(S); } @@ -4082,7 +4379,7 @@ LexicalUnit exp; important = prio(); break; default: - jj_la1[188] = jj_gen; + jj_la1[209] = jj_gen; ; } documentHandler.property(name, exp, important); @@ -4125,15 +4422,15 @@ LexicalUnit exp; */ final public boolean prio() throws ParseException { jj_consume_token(IMPORTANT_SYM); - label_126: + label_142: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[189] = jj_gen; - break label_126; + jj_la1[210] = jj_gen; + break label_142; } jj_consume_token(S); } @@ -4143,15 +4440,15 @@ LexicalUnit exp; final public boolean guarded() throws ParseException { jj_consume_token(GUARDED_SYM); - label_127: + label_143: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[190] = jj_gen; - break label_127; + jj_la1[211] = jj_gen; + break label_143; } jj_consume_token(S); } @@ -4167,15 +4464,15 @@ LexicalUnit exp; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DIV: n = jj_consume_token(DIV); - label_128: + label_144: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[191] = jj_gen; - break label_128; + jj_la1[212] = jj_gen; + break label_144; } jj_consume_token(S); } @@ -4185,15 +4482,15 @@ LexicalUnit exp; break; case COMMA: n = jj_consume_token(COMMA); - label_129: + label_145: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[192] = jj_gen; - break label_129; + jj_la1[213] = jj_gen; + break label_145; } jj_consume_token(S); } @@ -4202,7 +4499,7 @@ LexicalUnit exp; prev);} break; default: - jj_la1[193] = jj_gen; + jj_la1[214] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4217,12 +4514,12 @@ LexicalUnit exp; char op; first = term(null); res = first; - label_130: + label_146: while (true) { - if (jj_2_11(2)) { + if (jj_2_15(2)) { ; } else { - break label_130; + break label_146; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: @@ -4230,7 +4527,7 @@ LexicalUnit exp; res = operator(res); break; default: - jj_la1[194] = jj_gen; + jj_la1[215] = jj_gen; ; } res = term(res); @@ -4253,7 +4550,7 @@ LexicalUnit exp; {if (true) return '+';} break; default: - jj_la1[195] = jj_gen; + jj_la1[216] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4270,6 +4567,7 @@ LexicalUnit exp; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: + case DOT: case STRING: case IDENT: case NUMBER: @@ -4300,7 +4598,7 @@ LexicalUnit exp; result = variableTerm(prev); break; default: - jj_la1[196] = jj_gen; + jj_la1[217] = jj_gen; jj_consume_token(-1); throw new ParseException(); } @@ -4322,6 +4620,7 @@ LexicalUnitImpl result = null; Token n = null; char op = ' '; String varName; + String s = ""; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: @@ -4350,7 +4649,7 @@ LexicalUnitImpl result = null; op = unaryOperator(); break; default: - jj_la1[197] = jj_gen; + jj_la1[218] = jj_gen; ; } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { @@ -4441,7 +4740,7 @@ LexicalUnitImpl result = null; break; case DIMEN: n = jj_consume_token(DIMEN); - String s = n.image; + s = n.image; int i = 0; while (i < s.length() && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { @@ -4455,11 +4754,12 @@ LexicalUnitImpl result = null; result = function(op, prev); break; default: - jj_la1[198] = jj_gen; + jj_la1[219] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; + case DOT: case STRING: case IDENT: case URL: @@ -4473,9 +4773,19 @@ LexicalUnitImpl result = null; convertStringIndex(n.image, 1, n.image.length() -1)); break; + case DOT: case IDENT: + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case DOT: + jj_consume_token(DOT); + s+="."; + break; + default: + jj_la1[220] = jj_gen; + ; + } n = jj_consume_token(IDENT); - String s = convertIdent(n.image); + s += convertIdent(n.image); if ("inherit".equals(s)) { result = LexicalUnitImpl.createInherit(n.beginLine, n.beginColumn, prev); @@ -4518,25 +4828,25 @@ LexicalUnitImpl result = null; result = unicode(prev); break; default: - jj_la1[199] = jj_gen; + jj_la1[221] = jj_gen; jj_consume_token(-1); throw new ParseException(); } break; default: - jj_la1[200] = jj_gen; + jj_la1[222] = jj_gen; jj_consume_token(-1); throw new ParseException(); } - label_131: + label_147: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[201] = jj_gen; - break label_131; + jj_la1[223] = jj_gen; + break label_147; } jj_consume_token(S); } @@ -4552,15 +4862,15 @@ LexicalUnitImpl result = null; Token n; LexicalUnit params = null; n = jj_consume_token(FUNCTION); - label_132: + label_148: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[202] = jj_gen; - break label_132; + jj_la1[224] = jj_gen; + break label_148; } jj_consume_token(S); } @@ -4573,6 +4883,7 @@ LexicalUnitImpl result = null; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: + case DOT: case STRING: case IDENT: case NUMBER: @@ -4601,7 +4912,7 @@ LexicalUnitImpl result = null; params = expr(); break; default: - jj_la1[203] = jj_gen; + jj_la1[225] = jj_gen; ; } jj_consume_token(RPARAN); @@ -5072,15 +5383,15 @@ LexicalUnitImpl result = null; */ final public void _parseRule() throws ParseException { String ret = null; - label_133: + label_149: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[204] = jj_gen; - break label_133; + jj_la1[226] = jj_gen; + break label_149; } jj_consume_token(S); } @@ -5108,7 +5419,7 @@ LexicalUnitImpl result = null; fontFace(); break; default: - jj_la1[205] = jj_gen; + jj_la1[227] = jj_gen; ret = skipStatement(); if ((ret == null) || (ret.length() == 0)) { {if (true) return;} @@ -5123,15 +5434,15 @@ LexicalUnitImpl result = null; } final public void _parseImportRule() throws ParseException { - label_134: + label_150: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[206] = jj_gen; - break label_134; + jj_la1[228] = jj_gen; + break label_150; } jj_consume_token(S); } @@ -5139,15 +5450,15 @@ LexicalUnitImpl result = null; } final public void _parseMediaRule() throws ParseException { - label_135: + label_151: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[207] = jj_gen; - break label_135; + jj_la1[229] = jj_gen; + break label_151; } jj_consume_token(S); } @@ -5155,15 +5466,15 @@ LexicalUnitImpl result = null; } final public void _parseDeclarationBlock() throws ParseException { - label_136: + label_152: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[208] = jj_gen; - break label_136; + jj_la1[230] = jj_gen; + break label_152; } jj_consume_token(S); } @@ -5172,29 +5483,29 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[209] = jj_gen; + jj_la1[231] = jj_gen; ; } - label_137: + label_153: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SEMICOLON: ; break; default: - jj_la1[210] = jj_gen; - break label_137; + jj_la1[232] = jj_gen; + break label_153; } jj_consume_token(SEMICOLON); - label_138: + label_154: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[211] = jj_gen; - break label_138; + jj_la1[233] = jj_gen; + break label_154; } jj_consume_token(S); } @@ -5203,7 +5514,7 @@ LexicalUnitImpl result = null; declaration(); break; default: - jj_la1[212] = jj_gen; + jj_la1[234] = jj_gen; ; } } @@ -5212,15 +5523,15 @@ LexicalUnitImpl result = null; final public ArrayList _parseSelectors() throws ParseException { ArrayList p = null; try { - label_139: + label_155: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case S: ; break; default: - jj_la1[213] = jj_gen; - break label_139; + jj_la1[235] = jj_gen; + break label_155; } jj_consume_token(S); } @@ -5309,228 +5620,172 @@ LexicalUnitImpl result = null; finally { jj_save(10, xla); } } - private boolean jj_3_1() { - if (jj_3R_140()) return true; - return false; - } - - private boolean jj_3R_196() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_195() { - if (jj_scan_token(STRING)) return true; - return false; - } - - private boolean jj_3R_194() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_163() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_195()) { - jj_scanpos = xsp; - if (jj_3R_196()) { - jj_scanpos = xsp; - if (jj_3R_197()) { - jj_scanpos = xsp; - if (jj_3R_198()) { - jj_scanpos = xsp; - if (jj_3R_199()) return true; - } - } - } - } - return false; - } - - private boolean jj_3_4() { - if (jj_3R_143()) return true; - if (jj_3R_144()) return true; - return false; - } - - private boolean jj_3_7() { - if (jj_3R_140()) return true; - return false; - } - - private boolean jj_3R_193() { - if (jj_scan_token(DIMEN)) return true; - return false; - } - - private boolean jj_3R_172() { - if (jj_scan_token(COLON)) return true; - return false; - } - - private boolean jj_3_6() { - if (jj_3R_145()) return true; - return false; - } - - private boolean jj_3R_192() { - if (jj_scan_token(KHZ)) return true; - return false; - } - - private boolean jj_3R_191() { - if (jj_scan_token(HZ)) return true; - return false; - } - - private boolean jj_3R_190() { - if (jj_scan_token(MS)) return true; - return false; - } - - private boolean jj_3R_189() { - if (jj_scan_token(SECOND)) return true; - return false; + private boolean jj_2_12(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_12(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(11, xla); } } - private boolean jj_3R_188() { - if (jj_scan_token(GRAD)) return true; - return false; + private boolean jj_2_13(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_13(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(12, xla); } } - private boolean jj_3R_187() { - if (jj_scan_token(RAD)) return true; - return false; + private boolean jj_2_14(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_14(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(13, xla); } } - private boolean jj_3_5() { - if (jj_3R_145()) return true; - return false; + private boolean jj_2_15(int xla) { + jj_la = xla; jj_lastpos = jj_scanpos = token; + try { return !jj_3_15(); } + catch(LookaheadSuccess ls) { return true; } + finally { jj_save(14, xla); } } - private boolean jj_3R_186() { + private boolean jj_3R_205() { if (jj_scan_token(DEG)) return true; return false; } - private boolean jj_3R_185() { + private boolean jj_3R_204() { if (jj_scan_token(EXS)) return true; return false; } - private boolean jj_3_2() { - if (jj_3R_140()) return true; + private boolean jj_3R_203() { + if (jj_scan_token(EMS)) return true; return false; } - private boolean jj_3R_184() { - if (jj_scan_token(EMS)) return true; + private boolean jj_3_1() { + if (jj_3R_156()) return true; return false; } - private boolean jj_3R_183() { + private boolean jj_3R_202() { if (jj_scan_token(PX)) return true; return false; } - private boolean jj_3R_182() { + private boolean jj_3R_201() { if (jj_scan_token(IN)) return true; return false; } - private boolean jj_3R_181() { + private boolean jj_3R_200() { if (jj_scan_token(PC)) return true; return false; } - private boolean jj_3R_180() { + private boolean jj_3R_199() { if (jj_scan_token(MM)) return true; return false; } - private boolean jj_3R_179() { + private boolean jj_3R_198() { if (jj_scan_token(CM)) return true; return false; } - private boolean jj_3R_161() { + private boolean jj_3R_180() { if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_178() { + private boolean jj_3R_197() { if (jj_scan_token(PT)) return true; return false; } - private boolean jj_3R_177() { + private boolean jj_3R_196() { if (jj_scan_token(PERCENTAGE)) return true; return false; } - private boolean jj_3R_166() { - if (jj_3R_202()) return true; + private boolean jj_3_4() { + if (jj_3R_159()) return true; + if (jj_3R_160()) return true; return false; } - private boolean jj_3R_176() { + private boolean jj_3R_185() { + if (jj_3R_221()) return true; + return false; + } + + private boolean jj_3_7() { + if (jj_3R_156()) return true; + return false; + } + + private boolean jj_3R_195() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3R_228() { - if (jj_scan_token(INTERPOLATION)) return true; + private boolean jj_3R_194() { + if (jj_3R_236()) return true; return false; } - private boolean jj_3R_175() { - if (jj_3R_217()) return true; + private boolean jj_3R_191() { + if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_162() { + private boolean jj_3_6() { + if (jj_3R_161()) return true; + return false; + } + + private boolean jj_3R_181() { Token xsp; xsp = jj_scanpos; - if (jj_3R_175()) jj_scanpos = xsp; + if (jj_3R_194()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_176()) { + if (jj_3R_195()) { jj_scanpos = xsp; - if (jj_3R_177()) { + if (jj_3R_196()) { jj_scanpos = xsp; - if (jj_3R_178()) { + if (jj_3R_197()) { jj_scanpos = xsp; - if (jj_3R_179()) { + if (jj_3R_198()) { jj_scanpos = xsp; - if (jj_3R_180()) { + if (jj_3R_199()) { jj_scanpos = xsp; - if (jj_3R_181()) { + if (jj_3R_200()) { jj_scanpos = xsp; - if (jj_3R_182()) { + if (jj_3R_201()) { jj_scanpos = xsp; - if (jj_3R_183()) { + if (jj_3R_202()) { jj_scanpos = xsp; - if (jj_3R_184()) { + if (jj_3R_203()) { jj_scanpos = xsp; - if (jj_3R_185()) { + if (jj_3R_204()) { jj_scanpos = xsp; - if (jj_3R_186()) { + if (jj_3R_205()) { jj_scanpos = xsp; - if (jj_3R_187()) { + if (jj_3R_206()) { jj_scanpos = xsp; - if (jj_3R_188()) { + if (jj_3R_207()) { jj_scanpos = xsp; - if (jj_3R_189()) { + if (jj_3R_208()) { jj_scanpos = xsp; - if (jj_3R_190()) { + if (jj_3R_209()) { jj_scanpos = xsp; - if (jj_3R_191()) { + if (jj_3R_210()) { jj_scanpos = xsp; - if (jj_3R_192()) { + if (jj_3R_211()) { jj_scanpos = xsp; - if (jj_3R_193()) { + if (jj_3R_212()) { jj_scanpos = xsp; - if (jj_3R_194()) return true; + if (jj_3R_213()) return true; } } } @@ -5552,17 +5807,17 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_160() { - if (jj_3R_174()) return true; + private boolean jj_3R_179() { + if (jj_3R_193()) return true; return false; } - private boolean jj_3R_147() { + private boolean jj_3R_163() { Token xsp; xsp = jj_scanpos; - if (jj_3R_162()) { + if (jj_3R_181()) { jj_scanpos = xsp; - if (jj_3R_163()) return true; + if (jj_3R_182()) return true; } while (true) { xsp = jj_scanpos; @@ -5571,63 +5826,178 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_173() { - if (jj_scan_token(LBRACKET)) return true; + private boolean jj_3R_161() { + if (jj_3R_178()) 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_179()) { + jj_scanpos = xsp; + if (jj_3R_180()) return true; + } return false; } - private boolean jj_3R_159() { - if (jj_scan_token(IDENT)) return true; + private boolean jj_3R_239() { + if (jj_scan_token(HASH)) return true; + return false; + } + + private boolean jj_3R_221() { + if (jj_3R_242()) return true; + return false; + } + + private boolean jj_3R_166() { + if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } + if (jj_scan_token(COLON)) return true; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(CONTAINS)) return true; + 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_145() { - if (jj_3R_159()) return true; - if (jj_scan_token(COLON)) return true; + private boolean jj_3_5() { + if (jj_3R_161()) return true; + return false; + } + + private boolean jj_3_14() { + if (jj_3R_166()) return true; + return false; + } + + private boolean jj_3_2() { + if (jj_3R_156()) return true; + return false; + } + + private boolean jj_3R_240() { + if (jj_scan_token(URL)) return true; + return false; + } + + private boolean jj_3R_184() { + if (jj_3R_163()) return true; + return false; + } + + private boolean jj_3R_168() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_184()) { + jj_scanpos = xsp; + if (jj_3R_185()) return true; + } + return false; + } + + private boolean jj_3R_167() { + if (jj_3R_183()) return true; + return false; + } + + private boolean jj_3R_164() { + if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } + if (jj_scan_token(COLON)) return true; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + if (jj_scan_token(REMOVE)) return true; + 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_245() { + if (jj_scan_token(PLUS)) return true; + return false; + } + + private boolean jj_3R_244() { + if (jj_scan_token(MINUS)) return true; + return false; + } + + private boolean jj_3R_236() { + Token xsp; xsp = jj_scanpos; - if (jj_3R_160()) { + if (jj_3R_244()) { jj_scanpos = xsp; - if (jj_3R_161()) return true; + if (jj_3R_245()) return true; } return false; } - private boolean jj_3R_142() { - if (jj_3R_145()) return true; + private boolean jj_3_15() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_167()) jj_scanpos = xsp; + if (jj_3R_168()) return true; return false; } - private boolean jj_3R_222() { - if (jj_scan_token(VARIABLE)) return true; + private boolean jj_3_13() { + if (jj_3R_165()) return true; + return false; + } + + private boolean jj_3R_193() { + if (jj_3R_168()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + if (jj_3_15()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_219() { - if (jj_scan_token(HASH)) return true; + private boolean jj_3R_248() { + if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_202() { - if (jj_3R_222()) return true; + private boolean jj_3R_241() { + if (jj_scan_token(UNICODERANGE)) return true; + return false; + } + + private boolean jj_3R_246() { + if (jj_3R_193()) return true; + return false; + } + + private boolean jj_3_10() { + if (jj_3R_161()) return true; return false; } - private boolean jj_3R_140() { + private boolean jj_3R_165() { if (jj_scan_token(VARIABLE)) return true; Token xsp; while (true) { @@ -5639,163 +6009,239 @@ LexicalUnitImpl result = null; xsp = jj_scanpos; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } - if (jj_scan_token(REMOVE)) return true; + if (jj_scan_token(APPEND)) return true; + 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_192() { + if (jj_scan_token(LBRACKET)) return true; + return false; + } + + private boolean jj_3R_158() { + if (jj_3R_161()) return true; + return false; + } + + private boolean jj_3R_220() { + if (jj_scan_token(COMMA)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_178() { + if (jj_scan_token(IDENT)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_237() { + 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_246()) jj_scanpos = xsp; + if (jj_scan_token(RPARAN)) return true; + return false; + } + + private boolean jj_3R_242() { + if (jj_scan_token(VARIABLE)) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + } + return false; + } + + private boolean jj_3R_219() { + if (jj_scan_token(DIV)) 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_216() { + private boolean jj_3R_183() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_219()) { + jj_scanpos = xsp; + if (jj_3R_220()) return true; + } + return false; + } + + private boolean jj_3R_235() { if (jj_scan_token(PARENT)) return true; return false; } - private boolean jj_3R_215() { + private boolean jj_3R_234() { if (jj_scan_token(ANY)) return true; return false; } - private boolean jj_3R_227() { - if (jj_scan_token(IDENT)) return true; + private boolean jj_3R_218() { + if (jj_3R_241()) return true; return false; } - private boolean jj_3R_223() { + private boolean jj_3R_217() { + if (jj_3R_240()) return true; + return false; + } + + private boolean jj_3_12() { + if (jj_3R_164()) return true; + return false; + } + + private boolean jj_3R_156() { Token xsp; xsp = jj_scanpos; - if (jj_3R_227()) { + if (jj_3_12()) { + jj_scanpos = xsp; + if (jj_3_13()) { jj_scanpos = xsp; - if (jj_3R_228()) return true; + if (jj_3_14()) return true; + } } return false; } - private boolean jj_3R_214() { - Token xsp; - if (jj_3R_223()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_223()) { jj_scanpos = xsp; break; } - } + private boolean jj_3R_247() { + if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_169() { + private boolean jj_3R_243() { Token xsp; xsp = jj_scanpos; - if (jj_3R_214()) { - jj_scanpos = xsp; - if (jj_3R_215()) { + if (jj_3R_247()) { jj_scanpos = xsp; - if (jj_3R_216()) return true; - } + if (jj_3R_248()) return true; } return false; } - private boolean jj_3R_165() { - if (jj_3R_147()) return true; + private boolean jj_3R_216() { + if (jj_3R_239()) return true; return false; } - private boolean jj_3R_220() { - if (jj_scan_token(URL)) return true; + private boolean jj_3R_233() { + Token xsp; + if (jj_3R_243()) return true; + while (true) { + xsp = jj_scanpos; + if (jj_3R_243()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_149() { + private boolean jj_3R_188() { Token xsp; xsp = jj_scanpos; - if (jj_3R_165()) { + if (jj_3R_233()) { jj_scanpos = xsp; - if (jj_3R_166()) return true; + if (jj_3R_234()) { + jj_scanpos = xsp; + if (jj_3R_235()) return true; + } } return false; } - private boolean jj_3R_211() { + private boolean jj_3R_230() { if (jj_scan_token(S)) return true; return false; } - private boolean jj_3R_210() { + private boolean jj_3R_229() { if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3R_209() { - if (jj_scan_token(EQ)) return true; + private boolean jj_3R_157() { + if (jj_3R_169()) return true; return false; } - private boolean jj_3R_148() { - if (jj_3R_164()) return true; + private boolean jj_3R_228() { + if (jj_scan_token(EQ)) return true; return false; } - private boolean jj_3R_208() { + private boolean jj_3R_227() { if (jj_scan_token(RPARAN)) return true; return false; } - private boolean jj_3R_207() { + private boolean jj_3R_226() { if (jj_scan_token(FUNCTION)) return true; return false; } - private boolean jj_3R_206() { + private boolean jj_3R_225() { if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_141() { - if (jj_3R_150()) return true; - return false; - } - - private boolean jj_3R_205() { + private boolean jj_3R_224() { if (jj_scan_token(INTERPOLATION)) return true; return false; } - private boolean jj_3R_204() { + private boolean jj_3R_223() { if (jj_scan_token(NUMBER)) return true; return false; } - private boolean jj_3_9() { - if (jj_3R_145()) return true; - return false; - } - - private boolean jj_3R_203() { + private boolean jj_3R_222() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_167() { + private boolean jj_3R_186() { Token xsp; xsp = jj_scanpos; - if (jj_3R_203()) { + if (jj_3R_222()) { jj_scanpos = xsp; - if (jj_3R_204()) { + if (jj_3R_223()) { jj_scanpos = xsp; - if (jj_3R_205()) { + if (jj_3R_224()) { jj_scanpos = xsp; - if (jj_3R_206()) { + if (jj_3R_225()) { jj_scanpos = xsp; - if (jj_3R_207()) { + if (jj_3R_226()) { jj_scanpos = xsp; - if (jj_3R_208()) { + if (jj_3R_227()) { jj_scanpos = xsp; - if (jj_3R_209()) { + if (jj_3R_228()) { jj_scanpos = xsp; - if (jj_3R_210()) { + if (jj_3R_229()) { jj_scanpos = xsp; - if (jj_3R_211()) return true; + if (jj_3R_230()) return true; } } } @@ -5807,40 +6253,22 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_225() { - if (jj_scan_token(PLUS)) return true; - return false; - } - - private boolean jj_3R_224() { - if (jj_scan_token(MINUS)) return true; - return false; - } - - private boolean jj_3R_217() { + private boolean jj_3_3() { Token xsp; xsp = jj_scanpos; - if (jj_3R_224()) { + if (jj_3R_157()) { jj_scanpos = xsp; - if (jj_3R_225()) return true; + if (jj_3R_158()) return true; } return false; } - private boolean jj_3R_171() { + private boolean jj_3R_190() { if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3_11() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_148()) jj_scanpos = xsp; - if (jj_3R_149()) return true; - return false; - } - - private boolean jj_3R_150() { + private boolean jj_3R_169() { if (jj_scan_token(MICROSOFT_RULE)) return true; Token xsp; while (true) { @@ -5848,15 +6276,15 @@ LexicalUnitImpl result = null; if (jj_scan_token(1)) { jj_scanpos = xsp; break; } } if (jj_scan_token(COLON)) return true; - if (jj_3R_167()) return true; + if (jj_3R_186()) return true; while (true) { xsp = jj_scanpos; - if (jj_3R_167()) { jj_scanpos = xsp; break; } + if (jj_3R_186()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_146() { + private boolean jj_3R_162() { if (jj_scan_token(COMMA)) return true; Token xsp; while (true) { @@ -5866,52 +6294,32 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_213() { + private boolean jj_3R_232() { if (jj_scan_token(PRECEDES)) return true; return false; } - private boolean jj_3_3() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_141()) { - jj_scanpos = xsp; - if (jj_3R_142()) return true; - } - return false; - } - - private boolean jj_3R_174() { - if (jj_3R_149()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_11()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_212() { + private boolean jj_3R_231() { if (jj_scan_token(PLUS)) return true; return false; } - private boolean jj_3R_168() { + private boolean jj_3R_187() { Token xsp; xsp = jj_scanpos; - if (jj_3R_212()) { + if (jj_3R_231()) { jj_scanpos = xsp; - if (jj_3R_213()) return true; + if (jj_3R_232()) return true; } return false; } - private boolean jj_3R_221() { - if (jj_scan_token(UNICODERANGE)) return true; + private boolean jj_3_8() { + if (jj_3R_161()) return true; return false; } - private boolean jj_3R_152() { + private boolean jj_3R_171() { if (jj_scan_token(PRECEDES)) return true; Token xsp; while (true) { @@ -5921,25 +6329,28 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3_8() { - if (jj_3R_145()) return true; + private boolean jj_3R_238() { + if (jj_scan_token(DOT)) return true; return false; } - private boolean jj_3R_226() { - if (jj_3R_174()) return true; + private boolean jj_3R_215() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_238()) jj_scanpos = xsp; + if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_153() { + private boolean jj_3R_172() { if (jj_scan_token(S)) return true; Token xsp; xsp = jj_scanpos; - if (jj_3R_168()) jj_scanpos = xsp; + if (jj_3R_187()) jj_scanpos = xsp; return false; } - private boolean jj_3R_151() { + private boolean jj_3R_170() { if (jj_scan_token(PLUS)) return true; Token xsp; while (true) { @@ -5949,122 +6360,123 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_143() { + private boolean jj_3R_159() { Token xsp; xsp = jj_scanpos; - if (jj_3R_151()) { + if (jj_3R_170()) { jj_scanpos = xsp; - if (jj_3R_152()) { + if (jj_3R_171()) { jj_scanpos = xsp; - if (jj_3R_153()) return true; + if (jj_3R_172()) return true; } } return false; } - private boolean jj_3_10() { + private boolean jj_3_11() { Token xsp; xsp = jj_scanpos; - if (jj_3R_146()) jj_scanpos = xsp; - if (jj_3R_147()) return true; + if (jj_3R_162()) jj_scanpos = xsp; + if (jj_3R_163()) return true; return false; } - private boolean jj_3R_201() { - if (jj_scan_token(COMMA)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } + private boolean jj_3R_214() { + if (jj_scan_token(STRING)) return true; return false; } - private boolean jj_3R_218() { - 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_226()) jj_scanpos = xsp; - if (jj_scan_token(RPARAN)) return true; + private boolean jj_3R_213() { + if (jj_3R_237()) return true; return false; } - private boolean jj_3R_200() { - if (jj_scan_token(DIV)) return true; + private boolean jj_3R_182() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_214()) { + jj_scanpos = xsp; + if (jj_3R_215()) { + jj_scanpos = xsp; + if (jj_3R_216()) { + jj_scanpos = xsp; + if (jj_3R_217()) { + jj_scanpos = xsp; + if (jj_3R_218()) return true; + } + } + } } return false; } - private boolean jj_3R_164() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_200()) { - jj_scanpos = xsp; - if (jj_3R_201()) return true; - } + private boolean jj_3R_212() { + if (jj_scan_token(DIMEN)) return true; return false; } - private boolean jj_3R_199() { - if (jj_3R_221()) return true; + private boolean jj_3R_177() { + if (jj_3R_192()) return true; return false; } - private boolean jj_3R_198() { - if (jj_3R_220()) return true; + private boolean jj_3R_176() { + if (jj_3R_191()) return true; return false; } - private boolean jj_3R_158() { - if (jj_3R_173()) return true; + private boolean jj_3R_211() { + if (jj_scan_token(KHZ)) return true; return false; } - private boolean jj_3R_197() { - if (jj_3R_219()) return true; + private boolean jj_3R_175() { + if (jj_3R_190()) return true; return false; } - private boolean jj_3R_157() { - if (jj_3R_172()) return true; + private boolean jj_3R_210() { + if (jj_scan_token(HZ)) return true; return false; } - private boolean jj_3R_156() { - if (jj_3R_171()) return true; + private boolean jj_3R_174() { + if (jj_3R_189()) return true; return false; } - private boolean jj_3R_155() { - if (jj_3R_170()) return true; + private boolean jj_3_9() { + if (jj_3R_156()) return true; return false; } - private boolean jj_3R_154() { - if (jj_3R_169()) return true; + private boolean jj_3R_209() { + if (jj_scan_token(MS)) return true; + return false; + } + + private boolean jj_3R_173() { + if (jj_3R_188()) return true; + return false; + } + + private boolean jj_3R_208() { + if (jj_scan_token(SECOND)) return true; return false; } - private boolean jj_3R_144() { + private boolean jj_3R_160() { Token xsp; xsp = jj_scanpos; - if (jj_3R_154()) { + if (jj_3R_173()) { jj_scanpos = xsp; - if (jj_3R_155()) { + if (jj_3R_174()) { jj_scanpos = xsp; - if (jj_3R_156()) { + if (jj_3R_175()) { jj_scanpos = xsp; - if (jj_3R_157()) { + if (jj_3R_176()) { jj_scanpos = xsp; - if (jj_3R_158()) return true; + if (jj_3R_177()) return true; } } } @@ -6072,11 +6484,21 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_170() { + private boolean jj_3R_189() { if (jj_scan_token(HASH)) return true; return false; } + private boolean jj_3R_207() { + if (jj_scan_token(GRAD)) return true; + return false; + } + + private boolean jj_3R_206() { + if (jj_scan_token(RAD)) return true; + return false; + } + /** Generated Token Manager. */ public ParserTokenManager token_source; /** Current token. */ @@ -6087,7 +6509,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[214]; + final private int[] jj_la1 = new int[236]; static private int[] jj_la1_0; static private int[] jj_la1_1; static private int[] jj_la1_2; @@ -6099,18 +6521,18 @@ 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,0xe8000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xe9f45400,0xe9f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x1f45400,0x2,0x2,0x1100000,0x2,0x1100000,0x1100002,0x2,0x80080002,0x80080002,0x2,0x2,0x2,0x2,0x2,0xe8000000,0x0,0x0,0x0,0xe8000000,0x2,0x400000,0x2,0x2,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0xe8000000,0x0,0x0,0x0,0x0,0x60000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x800000,0x27380002,0x2,0xe8000000,0x0,0xe8000000,0x2,0x0,0x2,0x27380002,0x0,0x2,0xe8000000,0x0,0xe8000000,0x2,0x27380002,0x2,0x2,0x2,0x0,0x2,0xe8000000,0x0,0x0,0xe8000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xe8000000,0x0,0xe8000000,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,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x4400000,0x4400000,0x300000,0x300000,0x300000,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xe8000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,}; + jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xe8000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xe9f45400,0xe9f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x1f45400,0x2,0x2,0x1100000,0x2,0x1100000,0x1100002,0x2,0x80080002,0x80080002,0x2,0x2,0x2,0x2,0x2,0xe8000000,0x0,0x0,0x0,0xe8000000,0x2,0x400000,0x2,0x2,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0x88000000,0xe8000000,0x0,0x0,0x0,0x0,0x60000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x800000,0x27380002,0x2,0xe8000000,0x0,0xe8000000,0x2,0x0,0x2,0x27380002,0x0,0x2,0xe8000000,0x0,0xe8000000,0x2,0x27380002,0x2,0x2,0x2,0x0,0x2,0xe8000000,0x0,0x0,0xe8000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xe8000000,0x0,0x0,0xe8000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x80300000,0x2,0x0,0x400000,0x2,0x80300000,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,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x80301000,0x2,0x0,0x2,0x2,0x2,0x2,0x4400000,0x4400000,0x300000,0x80300000,0x300000,0x0,0x80000000,0x80000000,0x80300000,0x2,0x2,0x80300000,0x2,0xe8000000,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,0x83000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc2,0xc2,0x0,0x0,0x0,0x0,0x0,0xa82000c0,0x0,0x20000000,0x88200000,0xc0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x0,0x802000c0,0x80200000,0xc0,0x0,0x40000000,0x0,0x3f,0x0,0x0,0x802000c0,0x80200000,0xc0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x802000c0,0x200000,0x80000000,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x882000c0,0x88200000,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x0,0x40,0x0,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x60000,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,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x283000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc2,0xc2,0x0,0x0,0x0,0x0,0x0,0xa82000c0,0x0,0x20000000,0x88200000,0xc0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x0,0x802000c0,0x80200000,0xc0,0x0,0x40000000,0x0,0x3f,0x0,0x0,0x802000c0,0x80200000,0xc0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x802000c0,0x200000,0x80000000,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x882000c0,0x200000,0x88000000,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x40,0x0,0x40,0x0,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x60000,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,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x80000000,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x400,0x50000440,0x0,0x0,0x0,0x0,0x220,0x0,0x40,0x0,0x0,0x0,0xf0000ae0,0xf0000ae0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0xe0000aa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x50000444,0x44,0x0,0x40000400,0x10000040,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000040,0x40,0x40,0x40,0x40,0x40,0x0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x0,0x0,0x4c0,0x0,0x50000440,0x40000400,0x10000040,0x0,0x0,0x0,0x4c0,0x8,0x0,0x50000440,0x40000400,0x10000040,0x0,0x4c0,0x0,0x0,0x0,0x440,0x0,0x50000440,0x0,0x40000400,0x10000040,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x50000440,0x40000400,0x10000040,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x1ffffee0,0x0,0x0,0x0,0x0,0x1ffffee0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x1ffffee0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ffffee0,0x0,0xffff880,0x10000260,0x1ffffae0,0x0,0x0,0x1ffffee0,0x0,0x70000040,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,}; + jj_la1_2 = new int[] {0x80000000,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x400,0x50000440,0x0,0x0,0x0,0x0,0x220,0x0,0x40,0x0,0x0,0x0,0xf0000ae0,0xf0000ae0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0xe0000aa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x50000444,0x44,0x0,0x40000400,0x10000040,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000040,0x40,0x40,0x40,0x40,0x40,0x0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x10,0x0,0x0,0x4c0,0x0,0x50000440,0x40000400,0x10000040,0x0,0x0,0x0,0x4c0,0x8,0x0,0x50000440,0x40000400,0x10000040,0x0,0x4c0,0x0,0x0,0x0,0x440,0x0,0x50000440,0x0,0x40000400,0x10000040,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x50000440,0x40000000,0x400,0x10000040,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x1ffffee0,0x0,0x0,0x0,0x0,0x1ffffee0,0x0,0x0,0x0,0x40,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,0x40,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,0x1ffffee0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ffffee0,0x0,0xffff880,0x0,0x10000260,0x1ffffae0,0x0,0x0,0x1ffffee0,0x0,0x70000040,0x0,0x0,0x0,0x40,0x0,0x0,0x40,0x0,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x0,0x4,0x4,0x0,0x4,0x0,0x0,0x0,0x0,0x3,0x4,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1a00f,0x1a00f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1a00f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,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,0x8000,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,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa000,0x0,0x0,0x0,0x0,0xa000,0x0,0x0,0x0,0x8000,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,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0xa000,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa000,0x0,0x8000,0x2000,0xa000,0x0,0x0,0xa000,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x0,0x4,0x4,0x0,0x4,0x0,0x0,0x0,0x0,0x3,0x4,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6200f,0x6200f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6200f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,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,0x20000,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,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x22000,0x0,0x0,0x0,0x0,0x22000,0x0,0x0,0x0,0x20000,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,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x22000,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x22000,0x0,0x20000,0x0,0x2000,0x22000,0x0,0x0,0x22000,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } - final private JJCalls[] jj_2_rtns = new JJCalls[11]; + final private JJCalls[] jj_2_rtns = new JJCalls[15]; private boolean jj_rescan = false; private int jj_gc = 0; @@ -6120,7 +6542,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 214; i++) jj_la1[i] = -1; + for (int i = 0; i < 236; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6130,7 +6552,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 214; i++) jj_la1[i] = -1; + for (int i = 0; i < 236; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6140,7 +6562,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 214; i++) jj_la1[i] = -1; + for (int i = 0; i < 236; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6150,7 +6572,7 @@ LexicalUnitImpl result = null; token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 214; i++) jj_la1[i] = -1; + for (int i = 0; i < 236; i++) jj_la1[i] = -1; for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); } @@ -6262,12 +6684,12 @@ LexicalUnitImpl result = null; /** Generate ParseException. */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[113]; + boolean[] la1tokens = new boolean[115]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; } - for (int i = 0; i < 214; i++) { + for (int i = 0; i < 236; i++) { if (jj_la1[i] == jj_gen) { for (int j = 0; j < 32; j++) { if ((jj_la1_0[i] & (1<)? "(" > + | < APPEND : "append" (< S >)? "(" > + | < CONTAINS : "contains" (< S >)? "(" > } @@ -740,7 +742,7 @@ void afterImportDeclaration() : } { ( - ( (LOOKAHEAD(5)removeDirective()|variable()) | mixinDirective()| eachDirective() | includeDirective() | styleRule() | media()| page() | fontFace() + ( (LOOKAHEAD(5)listModifyDirective()|variable()) | ifDirective()|mixinDirective()| eachDirective() | includeDirective() | styleRule() | media()| page() | fontFace() | { l = getLocator(); } ret=skipStatement() { if ((ret == null) || (ret.length() == 0)) { @@ -1054,7 +1056,7 @@ void styleRule() : start = true; documentHandler.startSelector(l); } - ( ifDirective() | LOOKAHEAD(5)removeDirective() | includeDirective() | media() | extendDirective()| eachDirective() | variable() | LOOKAHEAD(3) (microsoftExtension()|declarationOrNestedProperties()) | styleRule())* + ( ifDirective() | LOOKAHEAD(5)listModifyDirective() | includeDirective() | media() | extendDirective()| eachDirective() | variable() | LOOKAHEAD(3) (microsoftExtension()|declarationOrNestedProperties()) | styleRule())* ()* } catch (ThrowedParseException e) { if (errorHandler != null) { @@ -1442,7 +1444,7 @@ Token booleanExpressionToken() : |n = < OR > |n = < AND > |n = < S > - |n = < NOT_EQ > + |n = < NOT_EQ > ){ return n; } @@ -1464,7 +1466,7 @@ void eachDirective() : {documentHandler.startEachDirective(var.image, listVariable);} ) < LBRACE >(< S >)* - ( includeDirective() | LOOKAHEAD(5)removeDirective() | media() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())* + ( includeDirective() | LOOKAHEAD(5)listModifyDirective() | media() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())* < RBRACE >(< S >)* { documentHandler.endEachDirective();} } @@ -1496,7 +1498,7 @@ void mixinDirective() : |(name = functionName() args = arglist()) ()*) ()* {documentHandler.startMixinDirective(name, args);} - ( includeDirective() | media() | eachDirective() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())* + ( includeDirective() | media() | LOOKAHEAD(5)listModifyDirective()|eachDirective() | extendDirective()| variable() | LOOKAHEAD(3) declarationOrNestedProperties() | styleRule())* ()* {documentHandler.endMixinDirective(name, args);} } @@ -1580,6 +1582,37 @@ void includeDirective() : {documentHandler.includeDirective(name, args);} } + +void listModifyDirective() : { +} +{ +LOOKAHEAD(5)removeDirective()|LOOKAHEAD(5)appendDirective()|LOOKAHEAD(5)containsDirective() +} + + +/** + * @exception ParseException exception during the parse + */ +void appendDirective() : +{ + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; +} +{ + n = < VARIABLE >{ variable = n.image; }(< S >)* ":" (< S >)* + < APPEND >(< S >)* + (list = listModifyDirectiveArgs(0)) + (< RPARAN >)? < COMMA >(< S >)* + (remove = listModifyDirectiveArgs(1)) + ( < COMMA >(< S >)* n = < IDENT >{ separator = n.image; } (< S >)*)? + < RPARAN >(< S >)* < SEMICOLON >(< S >)* + + { documentHandler.appendDirective(variable,list,remove,separator); } +} + /** * @exception ParseException exception during the parse */ @@ -1592,17 +1625,40 @@ void removeDirective() : { String list = null; { n = < VARIABLE >{ variable = n.image; }(< S >)* ":" (< S >)* < REMOVE >(< S >)* - (list = removeDirectiveArgs(0)) + (list = listModifyDirectiveArgs(0)) (< RPARAN >)? < COMMA >(< S >)* - (remove = removeDirectiveArgs(1)) + (remove = listModifyDirectiveArgs(1)) ( < COMMA >(< S >)* n = < IDENT >{ separator = n.image; } (< S >)*)? < RPARAN >(< S >)* < SEMICOLON >(< S >)* { documentHandler.removeDirective(variable,list,remove,separator); } } +/** + * @exception ParseException exception during the parse + */ +void containsDirective() : +{ + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; +} +{ + n = < VARIABLE >{ variable = n.image; }(< S >)* ":" (< S >)* + < CONTAINS >(< S >)* + (list = listModifyDirectiveArgs(0)) + (< RPARAN >)? < COMMA >(< S >)* + (remove = listModifyDirectiveArgs(1)) + ( < COMMA >(< S >)* n = < IDENT >{ separator = n.image; } (< S >)*)? + < RPARAN >(< S >)* < SEMICOLON >(< S >)* + + { documentHandler.containsDirective(variable,list,remove,separator); } +} + JAVACODE -String removeDirectiveArgs(int nest) { +String listModifyDirectiveArgs(int nest) { String list = ""; int nesting = nest; Token t = null; @@ -1947,6 +2003,7 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) : { LexicalUnitImpl result Token n = null; char op = ' '; String varName; + String s = ""; } { ( ( ( op=unaryOperator() )? @@ -2004,7 +2061,7 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) : { LexicalUnitImpl result prev, number(op, n, 3)); } | n= { - String s = n.image; + s = n.image; int i = 0; while (i < s.length() && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { @@ -2020,8 +2077,8 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) : { LexicalUnitImpl result LexicalUnitImpl.createString(n.beginLine, n.beginColumn, prev, convertStringIndex(n.image, 1, n.image.length() -1));} - | n= - { String s = convertIdent(n.image); + | (< DOT >{ s+="."; })?n= + { s += convertIdent(n.image); if ("inherit".equals(s)) { result = LexicalUnitImpl.createInherit(n.beginLine, n.beginColumn, prev); diff --git a/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java b/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java index 62b7bb490c..f8d5a96722 100644 --- a/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java +++ b/theme-compiler/src/com/vaadin/sass/parser/ParserConstants.java @@ -219,9 +219,13 @@ public interface ParserConstants { /** RegularExpression Id. */ int REMOVE = 110; /** RegularExpression Id. */ - int FUNCTION = 111; + int APPEND = 111; /** RegularExpression Id. */ - int UNKNOWN = 112; + int CONTAINS = 112; + /** RegularExpression Id. */ + int FUNCTION = 113; + /** RegularExpression Id. */ + int UNKNOWN = 114; /** Lexical state. */ int DEFAULT = 0; @@ -345,6 +349,8 @@ public interface ParserConstants { "", "", "", + "", + "", "", "", }; diff --git a/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java b/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java index e3029206a6..39b74b9a7f 100644 --- a/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java +++ b/theme-compiler/src/com/vaadin/sass/parser/ParserTokenManager.java @@ -39,38 +39,38 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) case 0: if ((active0 & 0xfff0000000000000L) != 0L || (active1 & 0x3e0000003L) != 0L) return 111; - if ((active0 & 0x2000000000L) != 0L) - return 423; - if ((active0 & 0x200800L) != 0L) - return 42; if ((active0 & 0x10000L) != 0L) return 79; - if ((active0 & 0x80000000L) != 0L) - return 424; - if ((active0 & 0x4000044L) != 0L) - return 3; if ((active0 & 0xe000000000000L) != 0L || (active1 & 0x8L) != 0L) { jjmatchedKind = 70; - return 425; + return 441; } + if ((active0 & 0x80000000L) != 0L) + return 442; + if ((active0 & 0x2000000000L) != 0L) + return 443; + if ((active0 & 0x4000044L) != 0L) + return 3; + if ((active0 & 0x200800L) != 0L) + return 42; return -1; case 1: if ((active0 & 0x4000000000000L) != 0L) { jjmatchedKind = 70; jjmatchedPos = 1; - return 425; + return 441; } if ((active1 & 0x1L) != 0L) return 112; if ((active0 & 0xa000000000000L) != 0L || (active1 & 0x8L) != 0L) - return 425; + return 441; if ((active0 & 0xfff0000000000000L) != 0L || (active1 & 0x3e0000002L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 1; - return 426; + return 444; } if ((active0 & 0x40L) != 0L) return 1; @@ -80,85 +80,85 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) { jjmatchedKind = 98; jjmatchedPos = 2; - return 426; + return 444; } if ((active0 & 0x2000000000000000L) != 0L) - return 426; + return 444; if ((active0 & 0x4000000000000L) != 0L) { jjmatchedKind = 70; jjmatchedPos = 2; - return 425; + return 441; } return -1; case 3: - if ((active0 & 0xdbf0000000000000L) != 0L || (active1 & 0x3e0000003L) != 0L) + if ((active0 & 0x4000000000000L) != 0L) { - jjmatchedKind = 98; + jjmatchedKind = 70; jjmatchedPos = 3; - return 426; + return 441; } - if ((active0 & 0x4000000000000L) != 0L) + if ((active0 & 0xdbf0000000000000L) != 0L || (active1 & 0x3e0000003L) != 0L) { - jjmatchedKind = 70; + jjmatchedKind = 98; jjmatchedPos = 3; - return 425; + return 444; } if ((active0 & 0x400000000000000L) != 0L) - return 426; + return 444; return -1; case 4: if ((active0 & 0x91f0000000000000L) != 0L || (active1 & 0x2e0000003L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 4; - return 426; + return 444; } if ((active0 & 0x4a00000000000000L) != 0L || (active1 & 0x100000000L) != 0L) - return 426; + return 444; if ((active0 & 0x4000000000000L) != 0L) { jjmatchedKind = 70; jjmatchedPos = 4; - return 425; + return 441; } return -1; case 5: - if ((active0 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 70; - jjmatchedPos = 5; - return 425; - } if ((active0 & 0x1110000000000000L) != 0L || (active1 & 0x40000000L) != 0L) - return 426; + return 444; if ((active0 & 0x80e0000000000000L) != 0L || (active1 & 0x2a0000003L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 5; - return 426; + return 444; + } + if ((active0 & 0x4000000000000L) != 0L) + { + jjmatchedKind = 70; + jjmatchedPos = 5; + return 441; } return -1; case 6: if ((active0 & 0x4000000000000L) != 0L) - return 425; + return 441; if ((active0 & 0x8080000000000000L) != 0L || (active1 & 0x20000000L) != 0L) - return 426; + return 444; if ((active0 & 0x60000000000000L) != 0L || (active1 & 0x280000003L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 6; - return 426; + return 444; } return -1; case 7: if ((active0 & 0x20000000000000L) != 0L || (active1 & 0x80000000L) != 0L) - return 426; + return 444; if ((active0 & 0x40000000000000L) != 0L || (active1 & 0x200000003L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 7; - return 426; + return 444; } return -1; case 8: @@ -166,27 +166,27 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) { jjmatchedKind = 98; jjmatchedPos = 8; - return 426; + return 444; } if ((active0 & 0x40000000000000L) != 0L || (active1 & 0x2L) != 0L) - return 426; + return 444; return -1; case 9: if ((active1 & 0x1L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 9; - return 426; + return 444; } if ((active1 & 0x200000000L) != 0L) - return 426; + return 444; return -1; case 10: if ((active1 & 0x1L) != 0L) { jjmatchedKind = 98; jjmatchedPos = 10; - return 426; + return 444; } return -1; case 11: @@ -194,7 +194,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) { jjmatchedKind = 98; jjmatchedPos = 11; - return 426; + return 444; } return -1; case 12: @@ -202,7 +202,7 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) { jjmatchedKind = 98; jjmatchedPos = 12; - return 426; + return 444; } return -1; default : @@ -245,7 +245,7 @@ private int jjMoveStringLiteralDfa0_0() jjmatchedKind = 21; return jjMoveStringLiteralDfa1_0(0x800L, 0x0L); case 46: - return jjStartNfaWithStates_0(0, 31, 424); + return jjStartNfaWithStates_0(0, 31, 442); case 47: jjmatchedKind = 26; return jjMoveStringLiteralDfa1_0(0x44L, 0x0L); @@ -340,7 +340,7 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1) case 70: case 102: if ((active1 & 0x8L) != 0L) - return jjStartNfaWithStates_0(1, 67, 425); + return jjStartNfaWithStates_0(1, 67, 441); return jjMoveStringLiteralDfa2_0(active0, 0x440000000000000L, active1, 0x200000000L); case 72: case 104: @@ -354,12 +354,12 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1) case 78: case 110: if ((active0 & 0x8000000000000L) != 0L) - return jjStartNfaWithStates_0(1, 51, 425); + return jjStartNfaWithStates_0(1, 51, 441); break; case 79: case 111: if ((active0 & 0x2000000000000L) != 0L) - return jjStartNfaWithStates_0(1, 49, 425); + return jjStartNfaWithStates_0(1, 49, 441); break; case 80: case 112: @@ -408,7 +408,7 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a case 70: case 102: if ((active0 & 0x2000000000000000L) != 0L) - return jjStartNfaWithStates_0(2, 61, 426); + return jjStartNfaWithStates_0(2, 61, 444); break; case 72: case 104: @@ -487,7 +487,7 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a case 82: case 114: if ((active0 & 0x400000000000000L) != 0L) - return jjStartNfaWithStates_0(3, 58, 426); + return jjStartNfaWithStates_0(3, 58, 444); return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L, active1, 0L); case 83: case 115: @@ -520,14 +520,14 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a case 69: case 101: if ((active0 & 0x4000000000000000L) != 0L) - return jjStartNfaWithStates_0(4, 62, 426); + return jjStartNfaWithStates_0(4, 62, 444); else if ((active1 & 0x100000000L) != 0L) - return jjStartNfaWithStates_0(4, 96, 426); + return jjStartNfaWithStates_0(4, 96, 444); return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0L); case 72: case 104: if ((active0 & 0x800000000000000L) != 0L) - return jjStartNfaWithStates_0(4, 59, 426); + return jjStartNfaWithStates_0(4, 59, 444); break; case 73: case 105: @@ -538,7 +538,7 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a case 78: case 110: if ((active0 & 0x200000000000000L) != 0L) - return jjStartNfaWithStates_0(4, 57, 426); + return jjStartNfaWithStates_0(4, 57, 444); break; case 79: case 111: @@ -579,22 +579,22 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a case 65: case 97: if ((active1 & 0x40000000L) != 0L) - return jjStartNfaWithStates_0(5, 94, 426); + return jjStartNfaWithStates_0(5, 94, 444); break; case 69: case 101: if ((active0 & 0x1000000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 60, 426); + return jjStartNfaWithStates_0(5, 60, 444); break; case 71: case 103: if ((active0 & 0x100000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 56, 426); + return jjStartNfaWithStates_0(5, 56, 444); return jjMoveStringLiteralDfa6_0(active0, 0x4000000000000L, active1, 0L); case 78: case 110: if ((active0 & 0x10000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 52, 426); + return jjStartNfaWithStates_0(5, 52, 444); return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000000L, active1, 0L); case 79: case 111: @@ -630,7 +630,7 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a case 68: case 100: if ((active0 & 0x8000000000000000L) != 0L) - return jjStartNfaWithStates_0(6, 63, 426); + return jjStartNfaWithStates_0(6, 63, 444); return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x1L); case 69: case 101: @@ -641,7 +641,7 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a case 72: case 104: if ((active0 & 0x4000000000000L) != 0L) - return jjStartNfaWithStates_0(6, 50, 425); + return jjStartNfaWithStates_0(6, 50, 441); break; case 73: case 105: @@ -649,7 +649,7 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a case 78: case 110: if ((active0 & 0x80000000000000L) != 0L) - return jjStartNfaWithStates_0(6, 55, 426); + return jjStartNfaWithStates_0(6, 55, 444); break; case 82: case 114: @@ -657,7 +657,7 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a case 84: case 116: if ((active1 & 0x20000000L) != 0L) - return jjStartNfaWithStates_0(6, 93, 426); + return jjStartNfaWithStates_0(6, 93, 444); break; default : break; @@ -681,7 +681,7 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a case 69: case 101: if ((active0 & 0x20000000000000L) != 0L) - return jjStartNfaWithStates_0(7, 53, 426); + return jjStartNfaWithStates_0(7, 53, 444); break; case 79: case 111: @@ -689,7 +689,7 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a case 84: case 116: if ((active1 & 0x80000000L) != 0L) - return jjStartNfaWithStates_0(7, 95, 426); + return jjStartNfaWithStates_0(7, 95, 444); return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2L); default : break; @@ -713,12 +713,12 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a case 78: case 110: if ((active0 & 0x40000000000000L) != 0L) - return jjStartNfaWithStates_0(8, 54, 426); + return jjStartNfaWithStates_0(8, 54, 444); break; case 83: case 115: if ((active1 & 0x2L) != 0L) - return jjStartNfaWithStates_0(8, 65, 426); + return jjStartNfaWithStates_0(8, 65, 444); break; default : break; @@ -739,7 +739,7 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a case 69: case 101: if ((active1 & 0x200000000L) != 0L) - return jjStartNfaWithStates_0(9, 97, 426); + return jjStartNfaWithStates_0(9, 97, 444); break; case 85: case 117: @@ -820,7 +820,7 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1) case 84: case 116: if ((active1 & 0x1L) != 0L) - return jjStartNfaWithStates_0(13, 64, 426); + return jjStartNfaWithStates_0(13, 64, 444); break; default : break; @@ -841,7 +841,7 @@ static final long[] jjbitVec0 = { private int jjMoveNfa_0(int startState, int curPos) { int startsAt = 0; - jjnewStateCnt = 423; + jjnewStateCnt = 441; int i = 1; jjstateSet[0] = startState; int kind = 0x7fffffff; @@ -856,87 +856,59 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 4: - if ((0x3ff000000000000L & l) != 0L) - { - if (kind > 71) - kind = 71; - jjCheckNAddStates(0, 73); - } - else if ((0x100003600L & l) != 0L) - { - if (kind > 1) - kind = 1; - jjCheckNAdd(0); - } - else if (curChar == 46) - jjCheckNAddStates(74, 91); - else if (curChar == 45) - jjAddStates(92, 93); - else if (curChar == 33) - jjCheckNAddStates(94, 97); - else if (curChar == 35) - jjCheckNAddTwoStates(100, 101); - else if (curChar == 36) - jjCheckNAddStates(98, 101); - else if (curChar == 39) - jjCheckNAddStates(102, 105); - else if (curChar == 34) - jjCheckNAddStates(106, 109); - else if (curChar == 47) - jjstateSet[jjnewStateCnt++] = 3; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 42; - else if (curChar == 35) - jjstateSet[jjnewStateCnt++] = 5; - break; - case 79: - if (curChar == 45) - jjCheckNAdd(80); - break; - case 424: + case 442: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(110, 114); + jjCheckNAddStates(0, 4); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(234, 237); + jjCheckNAddTwoStates(252, 255); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(231, 233); + jjCheckNAddTwoStates(249, 251); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(229, 230); + jjCheckNAddTwoStates(247, 248); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(226, 228); + jjCheckNAddTwoStates(244, 246); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(221, 225); + jjCheckNAddTwoStates(239, 243); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(217, 220); + jjCheckNAddTwoStates(235, 238); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(213, 216); + jjCheckNAddTwoStates(231, 234); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(210, 212); + jjCheckNAddTwoStates(228, 230); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(207, 209); + jjCheckNAddTwoStates(225, 227); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(204, 206); + jjCheckNAddTwoStates(222, 224); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(201, 203); + jjCheckNAddTwoStates(219, 221); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(198, 200); + jjCheckNAddTwoStates(216, 218); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(195, 197); + jjCheckNAddTwoStates(213, 215); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(192, 194); + jjCheckNAddTwoStates(210, 212); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(189, 191); + jjCheckNAddTwoStates(207, 209); if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(187, 188); + jjCheckNAddTwoStates(205, 206); if ((0x3ff000000000000L & l) != 0L) { if (kind > 71) kind = 71; - jjCheckNAdd(186); + jjCheckNAdd(204); } break; - case 426: + case 79: + if (curChar == 45) + jjCheckNAdd(80); + break; + case 443: + if ((0x100003600L & l) != 0L) + jjCheckNAddTwoStates(189, 198); + if ((0x100003600L & l) != 0L) + jjCheckNAddTwoStates(181, 188); + break; + case 444: case 113: if ((0x3ff200000000000L & l) == 0L) break; @@ -944,33 +916,61 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 98; jjCheckNAddTwoStates(113, 114); break; - case 425: + case 441: if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); else if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(151, 152); + jjCheckNAddTwoStates(169, 170); else if (curChar == 40) { - if (kind > 111) - kind = 111; + if (kind > 113) + kind = 113; } if ((0x3ff200000000000L & l) != 0L) { if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); } break; - case 423: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(171, 180); - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(163, 170); - break; case 111: if (curChar == 45) jjstateSet[jjnewStateCnt++] = 112; break; + case 4: + if ((0x3ff000000000000L & l) != 0L) + { + if (kind > 71) + kind = 71; + jjCheckNAddStates(9, 82); + } + else if ((0x100003600L & l) != 0L) + { + if (kind > 1) + kind = 1; + jjCheckNAdd(0); + } + else if (curChar == 46) + jjCheckNAddStates(83, 100); + else if (curChar == 45) + jjAddStates(101, 102); + else if (curChar == 33) + jjCheckNAddStates(103, 106); + else if (curChar == 35) + jjCheckNAddTwoStates(100, 101); + else if (curChar == 36) + jjCheckNAddStates(107, 110); + else if (curChar == 39) + jjCheckNAddStates(111, 114); + else if (curChar == 34) + jjCheckNAddStates(115, 118); + else if (curChar == 47) + jjstateSet[jjnewStateCnt++] = 3; + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 42; + else if (curChar == 35) + jjstateSet[jjnewStateCnt++] = 5; + break; case 0: if ((0x100003600L & l) == 0L) break; @@ -1072,11 +1072,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 44: if (curChar == 34) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 45: if ((0xfffffffb00000200L & l) != 0L) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 46: if (curChar == 34 && kind > 69) @@ -1084,11 +1084,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 48: if (curChar == 12) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 50: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 51: if ((0x3ff000000000000L & l) != 0L) @@ -1096,7 +1096,7 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 52: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 53: if ((0x3ff000000000000L & l) != 0L) @@ -1120,11 +1120,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 58: if (curChar == 13) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 59: if (curChar == 10) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 60: if (curChar == 13) @@ -1132,11 +1132,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 61: if (curChar == 39) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 62: if ((0xffffff7f00000200L & l) != 0L) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 63: if (curChar == 39 && kind > 69) @@ -1144,11 +1144,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 65: if (curChar == 12) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 67: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 68: if ((0x3ff000000000000L & l) != 0L) @@ -1156,7 +1156,7 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 69: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 70: if ((0x3ff000000000000L & l) != 0L) @@ -1180,11 +1180,11 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 75: if (curChar == 13) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 76: if (curChar == 10) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 77: if (curChar == 13) @@ -1192,7 +1192,7 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 78: if (curChar == 36) - jjCheckNAddStates(98, 101); + jjCheckNAddStates(107, 110); break; case 81: if ((0x3ff200000000000L & l) == 0L) @@ -1473,1011 +1473,1027 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 110; break; case 140: + if ((0x100003600L & l) != 0L) + jjAddStates(425, 426); + break; + case 141: + if (curChar == 40 && kind > 111) + kind = 111; + break; + case 148: + if ((0x100003600L & l) != 0L) + jjAddStates(427, 428); + break; + case 149: + if (curChar == 40 && kind > 112) + kind = 112; + break; + case 158: if ((0x3ff200000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 142: + case 160: if ((0xffffffff00000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 143: + case 161: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(425, 428); + jjCheckNAddStates(429, 432); break; - case 144: + case 162: if ((0x100003600L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 145: + case 163: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(429, 435); + jjCheckNAddStates(433, 439); break; - case 146: + case 164: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(436, 438); + jjCheckNAddStates(440, 442); break; - case 147: + case 165: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(439, 442); + jjCheckNAddStates(443, 446); break; - case 148: + case 166: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(443, 447); + jjCheckNAddStates(447, 451); break; - case 149: + case 167: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(448, 453); + jjCheckNAddStates(452, 457); break; - case 150: + case 168: if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 151: + case 169: if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(151, 152); + jjCheckNAddTwoStates(169, 170); break; - case 152: - if (curChar == 40 && kind > 111) - kind = 111; + case 170: + if (curChar == 40 && kind > 113) + kind = 113; break; - case 154: + case 172: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 155: + case 173: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(454, 458); + jjCheckNAddStates(458, 462); break; - case 156: + case 174: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 157: + case 175: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(459, 466); + jjCheckNAddStates(463, 470); break; - case 158: - case 364: + case 176: + case 382: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(467, 470); + jjCheckNAddStates(471, 474); break; - case 159: + case 177: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(471, 475); + jjCheckNAddStates(475, 479); break; - case 160: + case 178: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(476, 481); + jjCheckNAddStates(480, 485); break; - case 161: + case 179: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(482, 488); + jjCheckNAddStates(486, 492); break; - case 162: + case 180: if (curChar == 33) - jjCheckNAddStates(94, 97); + jjCheckNAddStates(103, 106); break; - case 163: + case 181: if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(163, 170); + jjCheckNAddTwoStates(181, 188); break; - case 171: + case 189: if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(171, 180); + jjCheckNAddTwoStates(189, 198); break; - case 181: + case 199: if (curChar == 45) - jjAddStates(92, 93); + jjAddStates(101, 102); break; - case 185: + case 203: if (curChar == 46) - jjCheckNAddStates(74, 91); + jjCheckNAddStates(83, 100); break; - case 186: + case 204: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 71) kind = 71; - jjCheckNAdd(186); + jjCheckNAdd(204); break; - case 187: + case 205: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(187, 188); + jjCheckNAddTwoStates(205, 206); break; - case 188: + case 206: if (curChar == 37 && kind > 75) kind = 75; break; - case 189: + case 207: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(189, 191); + jjCheckNAddTwoStates(207, 209); break; - case 192: + case 210: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(192, 194); + jjCheckNAddTwoStates(210, 212); break; - case 195: + case 213: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(195, 197); + jjCheckNAddTwoStates(213, 215); break; - case 198: + case 216: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(198, 200); + jjCheckNAddTwoStates(216, 218); break; - case 201: + case 219: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(201, 203); + jjCheckNAddTwoStates(219, 221); break; - case 204: + case 222: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(204, 206); + jjCheckNAddTwoStates(222, 224); break; - case 207: + case 225: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(207, 209); + jjCheckNAddTwoStates(225, 227); break; - case 210: + case 228: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(210, 212); + jjCheckNAddTwoStates(228, 230); break; - case 213: + case 231: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(213, 216); + jjCheckNAddTwoStates(231, 234); break; - case 217: + case 235: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(217, 220); + jjCheckNAddTwoStates(235, 238); break; - case 221: + case 239: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(221, 225); + jjCheckNAddTwoStates(239, 243); break; - case 226: + case 244: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(226, 228); + jjCheckNAddTwoStates(244, 246); break; - case 229: + case 247: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(229, 230); + jjCheckNAddTwoStates(247, 248); break; - case 231: + case 249: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(231, 233); + jjCheckNAddTwoStates(249, 251); break; - case 234: + case 252: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(234, 237); + jjCheckNAddTwoStates(252, 255); break; - case 238: + case 256: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(110, 114); + jjCheckNAddStates(0, 4); break; - case 239: + case 257: if (curChar == 45) - jjCheckNAdd(240); + jjCheckNAdd(258); break; - case 241: + case 259: if ((0x3ff200000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 243: + case 261: if ((0xffffffff00000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 244: + case 262: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(489, 492); + jjCheckNAddStates(493, 496); break; - case 245: + case 263: if ((0x100003600L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 246: + case 264: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(493, 499); + jjCheckNAddStates(497, 503); break; - case 247: + case 265: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(500, 502); + jjCheckNAddStates(504, 506); break; - case 248: + case 266: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(503, 506); + jjCheckNAddStates(507, 510); break; - case 249: + case 267: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(507, 511); + jjCheckNAddStates(511, 515); break; - case 250: + case 268: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(512, 517); + jjCheckNAddStates(516, 521); break; - case 253: + case 271: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(518, 521); + jjCheckNAddStates(522, 525); break; - case 254: + case 272: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(522, 528); + jjCheckNAddStates(526, 532); break; - case 255: + case 273: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(529, 531); + jjCheckNAddStates(533, 535); break; - case 256: + case 274: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(532, 535); + jjCheckNAddStates(536, 539); break; - case 257: + case 275: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(536, 540); + jjCheckNAddStates(540, 544); break; - case 258: + case 276: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(541, 546); + jjCheckNAddStates(545, 550); break; - case 260: + case 278: if (curChar == 40) - jjCheckNAddStates(547, 552); + jjCheckNAddStates(551, 556); break; - case 261: + case 279: if ((0xfffffc7a00000000L & l) != 0L) - jjCheckNAddStates(553, 556); + jjCheckNAddStates(557, 560); break; - case 262: + case 280: if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(262, 263); + jjCheckNAddTwoStates(280, 281); break; - case 263: + case 281: if (curChar == 41 && kind > 73) kind = 73; break; - case 265: + case 283: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(553, 556); + jjCheckNAddStates(557, 560); break; - case 266: + case 284: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(557, 561); + jjCheckNAddStates(561, 565); break; - case 267: + case 285: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(553, 556); + jjCheckNAddStates(557, 560); break; - case 268: + case 286: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(562, 569); + jjCheckNAddStates(566, 573); break; - case 269: + case 287: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(570, 573); + jjCheckNAddStates(574, 577); break; - case 270: + case 288: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(574, 578); + jjCheckNAddStates(578, 582); break; - case 271: + case 289: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(579, 584); + jjCheckNAddStates(583, 588); break; - case 272: + case 290: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(585, 591); + jjCheckNAddStates(589, 595); break; - case 273: + case 291: if (curChar == 39) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 274: + case 292: if ((0xffffff7f00000200L & l) != 0L) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 275: + case 293: if (curChar == 39) - jjCheckNAddTwoStates(262, 263); + jjCheckNAddTwoStates(280, 281); break; - case 277: + case 295: if (curChar == 12) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 279: + case 297: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 280: + case 298: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(596, 601); + jjCheckNAddStates(600, 605); break; - case 281: + case 299: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 282: + case 300: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(602, 610); + jjCheckNAddStates(606, 614); break; - case 283: + case 301: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(611, 615); + jjCheckNAddStates(615, 619); break; - case 284: + case 302: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(616, 621); + jjCheckNAddStates(620, 625); break; - case 285: + case 303: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(622, 628); + jjCheckNAddStates(626, 632); break; - case 286: + case 304: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(629, 636); + jjCheckNAddStates(633, 640); break; - case 287: + case 305: if (curChar == 13) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 288: + case 306: if (curChar == 10) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 289: + case 307: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 288; + jjstateSet[jjnewStateCnt++] = 306; break; - case 290: + case 308: if (curChar == 34) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 291: + case 309: if ((0xfffffffb00000200L & l) != 0L) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 292: + case 310: if (curChar == 34) - jjCheckNAddTwoStates(262, 263); + jjCheckNAddTwoStates(280, 281); break; - case 294: + case 312: if (curChar == 12) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 296: + case 314: if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 297: + case 315: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(641, 646); + jjCheckNAddStates(645, 650); break; - case 298: + case 316: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 299: + case 317: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(647, 655); + jjCheckNAddStates(651, 659); break; - case 300: + case 318: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(656, 660); + jjCheckNAddStates(660, 664); break; - case 301: + case 319: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(661, 666); + jjCheckNAddStates(665, 670); break; - case 302: + case 320: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(667, 673); + jjCheckNAddStates(671, 677); break; - case 303: + case 321: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(674, 681); + jjCheckNAddStates(678, 685); break; - case 304: + case 322: if (curChar == 13) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 305: + case 323: if (curChar == 10) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 306: + case 324: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 305; + jjstateSet[jjnewStateCnt++] = 323; break; - case 307: + case 325: if ((0x100003600L & l) != 0L) - jjCheckNAddStates(682, 688); + jjCheckNAddStates(686, 692); break; - case 310: + case 328: if (curChar == 43) - jjAddStates(689, 690); + jjAddStates(693, 694); break; - case 311: + case 329: if (curChar != 63) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 312; + jjstateSet[jjnewStateCnt++] = 330; break; - case 312: + case 330: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddStates(691, 694); + jjCheckNAddStates(695, 698); break; - case 313: + case 331: if (curChar == 63 && kind > 109) kind = 109; break; - case 314: - case 329: - case 333: - case 336: - case 339: + case 332: + case 347: + case 351: + case 354: + case 357: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAdd(313); + jjCheckNAdd(331); break; - case 315: + case 333: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(313, 314); + jjCheckNAddTwoStates(331, 332); break; - case 316: + case 334: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddStates(695, 697); + jjCheckNAddStates(699, 701); break; - case 317: + case 335: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjAddStates(698, 703); + jjAddStates(702, 707); break; - case 318: + case 336: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 319; + jjstateSet[jjnewStateCnt++] = 337; break; - case 319: + case 337: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 320; + jjstateSet[jjnewStateCnt++] = 338; break; - case 320: + case 338: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAdd(321); + jjCheckNAdd(339); break; - case 321: + case 339: if ((0x3ff000000000000L & l) != 0L && kind > 109) kind = 109; break; - case 322: + case 340: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 323; + jjstateSet[jjnewStateCnt++] = 341; break; - case 323: + case 341: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 324; + jjstateSet[jjnewStateCnt++] = 342; break; - case 324: + case 342: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 325; + jjstateSet[jjnewStateCnt++] = 343; break; - case 325: + case 343: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAdd(313); + jjCheckNAdd(331); break; - case 326: + case 344: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 327; + jjstateSet[jjnewStateCnt++] = 345; break; - case 327: + case 345: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 328; + jjstateSet[jjnewStateCnt++] = 346; break; - case 328: + case 346: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 329; + jjstateSet[jjnewStateCnt++] = 347; break; - case 330: + case 348: if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 331; + jjstateSet[jjnewStateCnt++] = 349; break; - case 331: + case 349: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 332; + jjstateSet[jjnewStateCnt++] = 350; break; - case 332: + case 350: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(313, 333); + jjCheckNAddTwoStates(331, 351); break; - case 334: + case 352: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 335; + jjstateSet[jjnewStateCnt++] = 353; break; - case 335: + case 353: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddStates(704, 706); + jjCheckNAddStates(708, 710); break; - case 337: + case 355: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(313, 336); + jjCheckNAddTwoStates(331, 354); break; - case 338: + case 356: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddStates(707, 710); + jjCheckNAddStates(711, 714); break; - case 340: + case 358: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(313, 339); + jjCheckNAddTwoStates(331, 357); break; - case 341: + case 359: if (curChar != 63) break; if (kind > 109) kind = 109; - jjCheckNAddStates(711, 713); + jjCheckNAddStates(715, 717); break; - case 342: + case 360: if (curChar == 43) - jjstateSet[jjnewStateCnt++] = 343; + jjstateSet[jjnewStateCnt++] = 361; break; - case 343: + case 361: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(344, 350); + jjCheckNAddTwoStates(362, 368); break; - case 344: + case 362: if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 345; + jjstateSet[jjnewStateCnt++] = 363; break; - case 345: + case 363: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 346; + jjstateSet[jjnewStateCnt++] = 364; break; - case 346: + case 364: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddStates(714, 717); + jjCheckNAddStates(718, 721); break; - case 347: + case 365: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAdd(321); + jjCheckNAdd(339); break; - case 348: + case 366: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(321, 347); + jjCheckNAddTwoStates(339, 365); break; - case 349: + case 367: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddStates(718, 720); + jjCheckNAddStates(722, 724); break; - case 350: + case 368: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(721, 725); + jjCheckNAddStates(725, 729); break; - case 351: + case 369: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAdd(344); + jjCheckNAdd(362); break; - case 352: + case 370: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(351, 344); + jjCheckNAddTwoStates(369, 362); break; - case 353: + case 371: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(726, 728); + jjCheckNAddStates(730, 732); break; - case 354: + case 372: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(729, 732); + jjCheckNAddStates(733, 736); break; - case 356: + case 374: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(733, 736); + jjCheckNAddStates(737, 740); break; - case 357: + case 375: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(737, 743); + jjCheckNAddStates(741, 747); break; - case 358: + case 376: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(744, 746); + jjCheckNAddStates(748, 750); break; - case 359: + case 377: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(747, 750); + jjCheckNAddStates(751, 754); break; - case 360: + case 378: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(751, 755); + jjCheckNAddStates(755, 759); break; - case 361: + case 379: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(756, 761); + jjCheckNAddStates(760, 765); break; - case 362: + case 380: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(762, 766); + jjCheckNAddStates(766, 770); break; - case 363: + case 381: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(767, 774); + jjCheckNAddStates(771, 778); break; - case 365: + case 383: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(775, 779); + jjCheckNAddStates(779, 783); break; - case 366: + case 384: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(780, 785); + jjCheckNAddStates(784, 789); break; - case 367: + case 385: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(786, 792); + jjCheckNAddStates(790, 796); break; - case 368: + case 386: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 71) kind = 71; - jjCheckNAddStates(0, 73); + jjCheckNAddStates(9, 82); break; - case 369: + case 387: if ((0x3ff000000000000L & l) == 0L) break; if (kind > 71) kind = 71; - jjCheckNAdd(369); + jjCheckNAdd(387); break; - case 370: + case 388: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(370, 371); + jjCheckNAddTwoStates(388, 389); break; - case 371: + case 389: if (curChar == 46) - jjCheckNAdd(186); + jjCheckNAdd(204); break; - case 372: + case 390: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(372, 188); + jjCheckNAddTwoStates(390, 206); break; - case 373: + case 391: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(373, 374); + jjCheckNAddTwoStates(391, 392); break; - case 374: + case 392: if (curChar == 46) - jjCheckNAdd(187); + jjCheckNAdd(205); break; - case 375: + case 393: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(375, 191); + jjCheckNAddTwoStates(393, 209); break; - case 376: + case 394: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(376, 377); + jjCheckNAddTwoStates(394, 395); break; - case 377: + case 395: if (curChar == 46) - jjCheckNAdd(189); + jjCheckNAdd(207); break; - case 378: + case 396: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(378, 194); + jjCheckNAddTwoStates(396, 212); break; - case 379: + case 397: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(379, 380); + jjCheckNAddTwoStates(397, 398); break; - case 380: + case 398: if (curChar == 46) - jjCheckNAdd(192); + jjCheckNAdd(210); break; - case 381: + case 399: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(381, 197); + jjCheckNAddTwoStates(399, 215); break; - case 382: + case 400: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(382, 383); + jjCheckNAddTwoStates(400, 401); break; - case 383: + case 401: if (curChar == 46) - jjCheckNAdd(195); + jjCheckNAdd(213); break; - case 384: + case 402: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(384, 200); + jjCheckNAddTwoStates(402, 218); break; - case 385: + case 403: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(385, 386); + jjCheckNAddTwoStates(403, 404); break; - case 386: + case 404: if (curChar == 46) - jjCheckNAdd(198); + jjCheckNAdd(216); break; - case 387: + case 405: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(387, 203); + jjCheckNAddTwoStates(405, 221); break; - case 388: + case 406: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(388, 389); + jjCheckNAddTwoStates(406, 407); break; - case 389: + case 407: if (curChar == 46) - jjCheckNAdd(201); + jjCheckNAdd(219); break; - case 390: + case 408: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(390, 206); + jjCheckNAddTwoStates(408, 224); break; - case 391: + case 409: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(391, 392); + jjCheckNAddTwoStates(409, 410); break; - case 392: + case 410: if (curChar == 46) - jjCheckNAdd(204); + jjCheckNAdd(222); break; - case 393: + case 411: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(393, 209); + jjCheckNAddTwoStates(411, 227); break; - case 394: + case 412: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(394, 395); + jjCheckNAddTwoStates(412, 413); break; - case 395: + case 413: if (curChar == 46) - jjCheckNAdd(207); + jjCheckNAdd(225); break; - case 396: + case 414: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(396, 212); + jjCheckNAddTwoStates(414, 230); break; - case 397: + case 415: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(397, 398); + jjCheckNAddTwoStates(415, 416); break; - case 398: + case 416: if (curChar == 46) - jjCheckNAdd(210); + jjCheckNAdd(228); break; - case 399: + case 417: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(399, 216); + jjCheckNAddTwoStates(417, 234); break; - case 400: + case 418: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(400, 401); + jjCheckNAddTwoStates(418, 419); break; - case 401: + case 419: if (curChar == 46) - jjCheckNAdd(213); + jjCheckNAdd(231); break; - case 402: + case 420: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(402, 220); + jjCheckNAddTwoStates(420, 238); break; - case 403: + case 421: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(403, 404); + jjCheckNAddTwoStates(421, 422); break; - case 404: + case 422: if (curChar == 46) - jjCheckNAdd(217); + jjCheckNAdd(235); break; - case 405: + case 423: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(405, 225); + jjCheckNAddTwoStates(423, 243); break; - case 406: + case 424: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(406, 407); + jjCheckNAddTwoStates(424, 425); break; - case 407: + case 425: if (curChar == 46) - jjCheckNAdd(221); + jjCheckNAdd(239); break; - case 408: + case 426: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(408, 228); + jjCheckNAddTwoStates(426, 246); break; - case 409: + case 427: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(409, 410); + jjCheckNAddTwoStates(427, 428); break; - case 410: + case 428: if (curChar == 46) - jjCheckNAdd(226); + jjCheckNAdd(244); break; - case 411: + case 429: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(411, 230); + jjCheckNAddTwoStates(429, 248); break; - case 412: + case 430: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(412, 413); + jjCheckNAddTwoStates(430, 431); break; - case 413: + case 431: if (curChar == 46) - jjCheckNAdd(229); + jjCheckNAdd(247); break; - case 414: + case 432: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(414, 233); + jjCheckNAddTwoStates(432, 251); break; - case 415: + case 433: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(415, 416); + jjCheckNAddTwoStates(433, 434); break; - case 416: + case 434: if (curChar == 46) - jjCheckNAdd(231); + jjCheckNAdd(249); break; - case 417: + case 435: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(417, 237); + jjCheckNAddTwoStates(435, 255); break; - case 418: + case 436: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(418, 419); + jjCheckNAddTwoStates(436, 437); break; - case 419: + case 437: if (curChar == 46) - jjCheckNAdd(234); + jjCheckNAdd(252); break; - case 420: + case 438: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(793, 797); + jjCheckNAddStates(797, 801); break; - case 421: + case 439: if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(421, 422); + jjCheckNAddTwoStates(439, 440); break; - case 422: + case 440: if (curChar == 46) - jjCheckNAdd(238); + jjCheckNAdd(256); break; default : break; } @@ -2490,23 +2506,17 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 4: + case 42: + if ((0x7fffffe07fffffeL & l) != 0L) + jjCheckNAddStates(5, 8); if ((0x7fffffe07fffffeL & l) != 0L) { if (kind > 70) kind = 70; - jjCheckNAddStates(798, 803); + jjCheckNAddTwoStates(158, 159); } - else if (curChar == 92) - jjCheckNAddStates(804, 807); - else if (curChar == 64) - jjAddStates(808, 811); - if ((0x20000000200000L & l) != 0L) - jjAddStates(812, 814); - else if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 137; - else if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 33; + if ((0x200000002000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 41; break; case 79: if ((0x7fffffe07fffffeL & l) != 0L) @@ -2518,19 +2528,13 @@ private int jjMoveNfa_0(int startState, int curPos) else if (curChar == 92) jjCheckNAddTwoStates(83, 93); break; - case 42: - if ((0x7fffffe07fffffeL & l) != 0L) - jjCheckNAddStates(115, 118); - if ((0x7fffffe07fffffeL & l) != 0L) - { - if (kind > 70) - kind = 70; - jjCheckNAddTwoStates(140, 141); - } - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 41; + case 443: + if ((0x20000000200L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 197; + else if ((0x1000000010L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 187; break; - case 426: + case 444: if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 98) @@ -2540,25 +2544,19 @@ private int jjMoveNfa_0(int startState, int curPos) else if (curChar == 92) jjCheckNAddTwoStates(115, 116); break; - case 425: + case 441: if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); else if (curChar == 92) - jjCheckNAddTwoStates(142, 143); + jjCheckNAddTwoStates(160, 161); if ((0x7fffffe87fffffeL & l) != 0L) { if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); } else if (curChar == 92) - jjCheckNAddTwoStates(154, 155); - break; - case 423: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 179; - else if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 169; + jjCheckNAddTwoStates(172, 173); break; case 111: if ((0x7fffffe07fffffeL & l) != 0L) @@ -2570,6 +2568,28 @@ private int jjMoveNfa_0(int startState, int curPos) else if (curChar == 92) jjCheckNAddTwoStates(115, 125); break; + case 4: + if ((0x7fffffe07fffffeL & l) != 0L) + { + if (kind > 70) + kind = 70; + jjCheckNAddStates(802, 807); + } + else if (curChar == 92) + jjCheckNAddStates(808, 811); + else if (curChar == 64) + jjAddStates(812, 815); + if ((0x20000000200000L & l) != 0L) + jjAddStates(816, 818); + else if ((0x800000008L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 155; + else if ((0x200000002L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 145; + else if ((0x4000000040000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 137; + else if ((0x4000000040L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 33; + break; case 2: if (kind > 5) kind = 5; @@ -2698,15 +2718,15 @@ private int jjMoveNfa_0(int startState, int curPos) case 45: case 50: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 47: if (curChar == 92) - jjAddStates(815, 818); + jjAddStates(819, 822); break; case 49: if (curChar == 92) - jjAddStates(819, 820); + jjAddStates(823, 824); break; case 51: if ((0x7e0000007eL & l) != 0L) @@ -2735,15 +2755,15 @@ private int jjMoveNfa_0(int startState, int curPos) case 62: case 67: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 64: if (curChar == 92) - jjAddStates(821, 824); + jjAddStates(825, 828); break; case 66: if (curChar == 92) - jjAddStates(825, 826); + jjAddStates(829, 830); break; case 68: if ((0x7e0000007eL & l) != 0L) @@ -2891,7 +2911,7 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 101: if (curChar == 92) - jjAddStates(827, 828); + jjAddStates(831, 832); break; case 102: if ((0x7fffffffffffffffL & l) == 0L) @@ -2944,7 +2964,7 @@ private int jjMoveNfa_0(int startState, int curPos) break; case 110: if (curChar == 64) - jjAddStates(808, 811); + jjAddStates(812, 815); break; case 112: if ((0x7fffffe07fffffeL & l) == 0L) @@ -3083,752 +3103,808 @@ private int jjMoveNfa_0(int startState, int curPos) if ((0x4000000040000L & l) != 0L) jjstateSet[jjnewStateCnt++] = 137; break; - case 140: + case 139: + if ((0x1000000010L & l) != 0L) + jjAddStates(425, 426); + break; + case 142: + if ((0x400000004000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 139; + break; + case 143: + if ((0x2000000020L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 142; + break; + case 144: + if ((0x1000000010000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 143; + break; + case 145: + if ((0x1000000010000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 144; + break; + case 146: + if ((0x200000002L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 145; + break; + case 147: + if ((0x8000000080000L & l) != 0L) + jjAddStates(427, 428); + break; + case 150: + if ((0x400000004000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 147; + break; + case 151: + if ((0x20000000200L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 150; + break; + case 152: + if ((0x200000002L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 151; + break; + case 153: + if ((0x10000000100000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 152; + break; + case 154: + if ((0x400000004000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 153; + break; + case 155: + if ((0x800000008000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 154; + break; + case 156: + if ((0x800000008L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 155; + break; + case 158: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 141: + case 159: if (curChar == 92) - jjCheckNAddTwoStates(142, 143); + jjCheckNAddTwoStates(160, 161); break; - case 142: + case 160: if ((0x7fffffffffffffffL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 143: + case 161: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(425, 428); + jjCheckNAddStates(429, 432); break; - case 145: + case 163: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(429, 435); + jjCheckNAddStates(433, 439); break; - case 146: + case 164: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(436, 438); + jjCheckNAddStates(440, 442); break; - case 147: + case 165: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(439, 442); + jjCheckNAddStates(443, 446); break; - case 148: + case 166: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(443, 447); + jjCheckNAddStates(447, 451); break; - case 149: + case 167: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(448, 453); + jjCheckNAddStates(452, 457); break; - case 150: + case 168: if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 153: + case 171: if (curChar == 92) - jjCheckNAddTwoStates(154, 155); + jjCheckNAddTwoStates(172, 173); break; - case 154: + case 172: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 155: + case 173: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(454, 458); + jjCheckNAddStates(458, 462); break; - case 157: + case 175: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(459, 466); + jjCheckNAddStates(463, 470); break; - case 158: - case 364: + case 176: + case 382: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(467, 470); + jjCheckNAddStates(471, 474); break; - case 159: + case 177: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(471, 475); + jjCheckNAddStates(475, 479); break; - case 160: + case 178: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(476, 481); + jjCheckNAddStates(480, 485); break; - case 161: + case 179: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(482, 488); + jjCheckNAddStates(486, 492); break; - case 164: + case 182: if ((0x10000000100000L & l) != 0L && kind > 68) kind = 68; break; - case 165: + case 183: if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 164; + jjstateSet[jjnewStateCnt++] = 182; break; - case 166: + case 184: if ((0x20000000200000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 165; + jjstateSet[jjnewStateCnt++] = 183; break; - case 167: + case 185: if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 166; + jjstateSet[jjnewStateCnt++] = 184; break; - case 168: + case 186: if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 167; + jjstateSet[jjnewStateCnt++] = 185; break; - case 169: + case 187: if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 168; + jjstateSet[jjnewStateCnt++] = 186; break; - case 170: + case 188: if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 169; + jjstateSet[jjnewStateCnt++] = 187; break; - case 172: + case 190: if ((0x10000000100000L & l) != 0L && kind > 99) kind = 99; break; - case 173: + case 191: if ((0x400000004000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 172; + jjstateSet[jjnewStateCnt++] = 190; break; - case 174: + case 192: if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 173; + jjstateSet[jjnewStateCnt++] = 191; break; - case 175: + case 193: if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 174; + jjstateSet[jjnewStateCnt++] = 192; break; - case 176: + case 194: if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 175; + jjstateSet[jjnewStateCnt++] = 193; break; - case 177: + case 195: if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 176; + jjstateSet[jjnewStateCnt++] = 194; break; - case 178: + case 196: if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 177; + jjstateSet[jjnewStateCnt++] = 195; break; - case 179: + case 197: if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 178; + jjstateSet[jjnewStateCnt++] = 196; break; - case 180: + case 198: if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 179; + jjstateSet[jjnewStateCnt++] = 197; break; - case 182: + case 200: if ((0x7fffffe07fffffeL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 183: + case 201: if ((0x7fffffe07fffffeL & l) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 184: + case 202: if ((0x7fffffe07fffffeL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(798, 803); + jjCheckNAddStates(802, 807); break; - case 190: + case 208: if ((0x10000000100000L & l) != 0L && kind > 76) kind = 76; break; - case 191: + case 209: if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 190; + jjstateSet[jjnewStateCnt++] = 208; break; - case 193: + case 211: if ((0x200000002000L & l) != 0L && kind > 77) kind = 77; break; - case 194: + case 212: if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 193; + jjstateSet[jjnewStateCnt++] = 211; break; - case 196: + case 214: if ((0x200000002000L & l) != 0L && kind > 78) kind = 78; break; - case 197: + case 215: if ((0x800000008L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 196; + jjstateSet[jjnewStateCnt++] = 214; break; - case 199: + case 217: if ((0x800000008L & l) != 0L && kind > 79) kind = 79; break; - case 200: + case 218: if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 199; + jjstateSet[jjnewStateCnt++] = 217; break; - case 202: + case 220: if ((0x400000004000L & l) != 0L && kind > 80) kind = 80; break; - case 203: + case 221: if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 202; + jjstateSet[jjnewStateCnt++] = 220; break; - case 205: + case 223: if ((0x100000001000000L & l) != 0L && kind > 81) kind = 81; break; - case 206: + case 224: if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 205; + jjstateSet[jjnewStateCnt++] = 223; break; - case 208: + case 226: if ((0x200000002000L & l) != 0L && kind > 82) kind = 82; break; - case 209: + case 227: if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 208; + jjstateSet[jjnewStateCnt++] = 226; break; - case 211: + case 229: if ((0x100000001000000L & l) != 0L && kind > 83) kind = 83; break; - case 212: + case 230: if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 211; + jjstateSet[jjnewStateCnt++] = 229; break; - case 214: + case 232: if ((0x8000000080L & l) != 0L && kind > 84) kind = 84; break; - case 215: + case 233: if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 214; + jjstateSet[jjnewStateCnt++] = 232; break; - case 216: + case 234: if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 215; + jjstateSet[jjnewStateCnt++] = 233; break; - case 218: + case 236: if ((0x1000000010L & l) != 0L && kind > 85) kind = 85; break; - case 219: + case 237: if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 218; + jjstateSet[jjnewStateCnt++] = 236; break; - case 220: + case 238: if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 219; + jjstateSet[jjnewStateCnt++] = 237; break; - case 222: + case 240: if ((0x1000000010L & l) != 0L && kind > 86) kind = 86; break; - case 223: + case 241: if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 222; + jjstateSet[jjnewStateCnt++] = 240; break; - case 224: + case 242: if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 223; + jjstateSet[jjnewStateCnt++] = 241; break; - case 225: + case 243: if ((0x8000000080L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 224; + jjstateSet[jjnewStateCnt++] = 242; break; - case 227: + case 245: if ((0x8000000080000L & l) != 0L && kind > 87) kind = 87; break; - case 228: + case 246: if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 227; + jjstateSet[jjnewStateCnt++] = 245; break; - case 230: + case 248: if ((0x8000000080000L & l) != 0L && kind > 88) kind = 88; break; - case 232: + case 250: if ((0x400000004000000L & l) != 0L && kind > 89) kind = 89; break; - case 233: + case 251: if ((0x10000000100L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 232; + jjstateSet[jjnewStateCnt++] = 250; break; - case 235: + case 253: if ((0x400000004000000L & l) != 0L && kind > 90) kind = 90; break; - case 236: + case 254: if ((0x10000000100L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 235; + jjstateSet[jjnewStateCnt++] = 253; break; - case 237: + case 255: if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 236; + jjstateSet[jjnewStateCnt++] = 254; break; - case 240: + case 258: if ((0x7fffffe07fffffeL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 241: + case 259: if ((0x7fffffe87fffffeL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 242: + case 260: if (curChar == 92) - jjCheckNAddTwoStates(243, 244); + jjCheckNAddTwoStates(261, 262); break; - case 243: + case 261: if ((0x7fffffffffffffffL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 244: + case 262: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(489, 492); + jjCheckNAddStates(493, 496); break; - case 246: + case 264: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(493, 499); + jjCheckNAddStates(497, 503); break; - case 247: + case 265: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(500, 502); + jjCheckNAddStates(504, 506); break; - case 248: + case 266: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(503, 506); + jjCheckNAddStates(507, 510); break; - case 249: + case 267: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(507, 511); + jjCheckNAddStates(511, 515); break; - case 250: + case 268: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(512, 517); + jjCheckNAddStates(516, 521); break; - case 252: + case 270: if (curChar == 92) - jjCheckNAddTwoStates(243, 253); + jjCheckNAddTwoStates(261, 271); break; - case 253: + case 271: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(518, 521); + jjCheckNAddStates(522, 525); break; - case 254: + case 272: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(522, 528); + jjCheckNAddStates(526, 532); break; - case 255: + case 273: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(529, 531); + jjCheckNAddStates(533, 535); break; - case 256: + case 274: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(532, 535); + jjCheckNAddStates(536, 539); break; - case 257: + case 275: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(536, 540); + jjCheckNAddStates(540, 544); break; - case 258: + case 276: if ((0x7e0000007eL & l) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddStates(541, 546); + jjCheckNAddStates(545, 550); break; - case 259: + case 277: if ((0x20000000200000L & l) != 0L) - jjAddStates(812, 814); + jjAddStates(816, 818); break; - case 261: - case 265: + case 279: + case 283: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(553, 556); + jjCheckNAddStates(557, 560); break; - case 264: + case 282: if (curChar == 92) - jjAddStates(829, 830); + jjAddStates(833, 834); break; - case 266: + case 284: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(557, 561); + jjCheckNAddStates(561, 565); break; - case 268: + case 286: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(562, 569); + jjCheckNAddStates(566, 573); break; - case 269: + case 287: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(570, 573); + jjCheckNAddStates(574, 577); break; - case 270: + case 288: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(574, 578); + jjCheckNAddStates(578, 582); break; - case 271: + case 289: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(579, 584); + jjCheckNAddStates(583, 588); break; - case 272: + case 290: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(585, 591); + jjCheckNAddStates(589, 595); break; - case 274: - case 279: + case 292: + case 297: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 276: + case 294: if (curChar == 92) - jjAddStates(831, 834); + jjAddStates(835, 838); break; - case 278: + case 296: if (curChar == 92) - jjAddStates(835, 836); + jjAddStates(839, 840); break; - case 280: + case 298: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(596, 601); + jjCheckNAddStates(600, 605); break; - case 282: + case 300: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(602, 610); + jjCheckNAddStates(606, 614); break; - case 283: + case 301: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(611, 615); + jjCheckNAddStates(615, 619); break; - case 284: + case 302: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(616, 621); + jjCheckNAddStates(620, 625); break; - case 285: + case 303: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(622, 628); + jjCheckNAddStates(626, 632); break; - case 286: + case 304: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(629, 636); + jjCheckNAddStates(633, 640); break; - case 291: - case 296: + case 309: + case 314: if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; - case 293: + case 311: if (curChar == 92) - jjAddStates(837, 840); + jjAddStates(841, 844); break; - case 295: + case 313: if (curChar == 92) - jjAddStates(841, 842); + jjAddStates(845, 846); break; - case 297: + case 315: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(641, 646); + jjCheckNAddStates(645, 650); break; - case 299: + case 317: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(647, 655); + jjCheckNAddStates(651, 659); break; - case 300: + case 318: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(656, 660); + jjCheckNAddStates(660, 664); break; - case 301: + case 319: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(661, 666); + jjCheckNAddStates(665, 670); break; - case 302: + case 320: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(667, 673); + jjCheckNAddStates(671, 677); break; - case 303: + case 321: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(674, 681); + jjCheckNAddStates(678, 685); break; - case 308: + case 326: if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 260; + jjstateSet[jjnewStateCnt++] = 278; break; - case 309: + case 327: if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 308; + jjstateSet[jjnewStateCnt++] = 326; break; - case 317: + case 335: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjAddStates(698, 703); + jjAddStates(702, 707); break; - case 318: + case 336: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 319; + jjstateSet[jjnewStateCnt++] = 337; break; - case 319: + case 337: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 320; + jjstateSet[jjnewStateCnt++] = 338; break; - case 320: + case 338: if ((0x7e0000007eL & l) != 0L) - jjCheckNAdd(321); + jjCheckNAdd(339); break; - case 321: + case 339: if ((0x7e0000007eL & l) != 0L && kind > 109) kind = 109; break; - case 322: + case 340: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 323; + jjstateSet[jjnewStateCnt++] = 341; break; - case 323: + case 341: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 324; + jjstateSet[jjnewStateCnt++] = 342; break; - case 324: + case 342: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 325; + jjstateSet[jjnewStateCnt++] = 343; break; - case 325: + case 343: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 313; + jjstateSet[jjnewStateCnt++] = 331; break; - case 326: + case 344: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 327; + jjstateSet[jjnewStateCnt++] = 345; break; - case 327: + case 345: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 328; + jjstateSet[jjnewStateCnt++] = 346; break; - case 328: + case 346: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 329; + jjstateSet[jjnewStateCnt++] = 347; break; - case 330: + case 348: if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 331; + jjstateSet[jjnewStateCnt++] = 349; break; - case 331: + case 349: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 332; + jjstateSet[jjnewStateCnt++] = 350; break; - case 334: + case 352: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 335; + jjstateSet[jjnewStateCnt++] = 353; break; - case 343: + case 361: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddTwoStates(344, 350); + jjCheckNAddTwoStates(362, 368); break; - case 345: + case 363: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjstateSet[jjnewStateCnt++] = 346; + jjstateSet[jjnewStateCnt++] = 364; break; - case 346: + case 364: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddStates(714, 717); + jjCheckNAddStates(718, 721); break; - case 347: + case 365: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAdd(321); + jjCheckNAdd(339); break; - case 348: + case 366: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddTwoStates(321, 347); + jjCheckNAddTwoStates(339, 365); break; - case 349: + case 367: if ((0x7e0000007eL & l) == 0L) break; if (kind > 109) kind = 109; - jjCheckNAddStates(718, 720); + jjCheckNAddStates(722, 724); break; - case 350: + case 368: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(721, 725); + jjCheckNAddStates(725, 729); break; - case 351: + case 369: if ((0x7e0000007eL & l) != 0L) - jjCheckNAdd(344); + jjCheckNAdd(362); break; - case 352: + case 370: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddTwoStates(351, 344); + jjCheckNAddTwoStates(369, 362); break; - case 353: + case 371: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(726, 728); + jjCheckNAddStates(730, 732); break; - case 354: + case 372: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(729, 732); + jjCheckNAddStates(733, 736); break; - case 355: + case 373: if (curChar == 92) - jjCheckNAddStates(804, 807); + jjCheckNAddStates(808, 811); break; - case 356: + case 374: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(733, 736); + jjCheckNAddStates(737, 740); break; - case 357: + case 375: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(737, 743); + jjCheckNAddStates(741, 747); break; - case 358: + case 376: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(744, 746); + jjCheckNAddStates(748, 750); break; - case 359: + case 377: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(747, 750); + jjCheckNAddStates(751, 754); break; - case 360: + case 378: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(751, 755); + jjCheckNAddStates(755, 759); break; - case 361: + case 379: if ((0x7e0000007eL & l) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddStates(756, 761); + jjCheckNAddStates(760, 765); break; - case 362: + case 380: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(762, 766); + jjCheckNAddStates(766, 770); break; - case 363: + case 381: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(767, 774); + jjCheckNAddStates(771, 778); break; - case 365: + case 383: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(775, 779); + jjCheckNAddStates(779, 783); break; - case 366: + case 384: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(780, 785); + jjCheckNAddStates(784, 789); break; - case 367: + case 385: if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(786, 792); + jjCheckNAddStates(790, 796); break; default : break; } @@ -3842,13 +3918,6 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 4: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 40) - kind = 40; - jjCheckNAddStates(798, 803); - break; case 79: case 81: case 83: @@ -3858,7 +3927,7 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 74; jjCheckNAddTwoStates(81, 82); break; - case 426: + case 444: case 113: case 115: if ((jjbitVec0[i2] & l2) == 0L) @@ -3867,15 +3936,15 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 98; jjCheckNAddTwoStates(113, 114); break; - case 425: + case 441: if ((jjbitVec0[i2] & l2) != 0L) { if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); } if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; case 111: if ((jjbitVec0[i2] & l2) == 0L) @@ -3884,6 +3953,13 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 98; jjCheckNAddTwoStates(113, 114); break; + case 4: + if ((jjbitVec0[i2] & l2) == 0L) + break; + if (kind > 40) + kind = 40; + jjCheckNAddStates(802, 807); + break; case 2: if ((jjbitVec0[i2] & l2) != 0L && kind > 5) kind = 5; @@ -3897,12 +3973,12 @@ private int jjMoveNfa_0(int startState, int curPos) case 45: case 50: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(106, 109); + jjCheckNAddStates(115, 118); break; case 62: case 67: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(102, 105); + jjCheckNAddStates(111, 114); break; case 100: case 102: @@ -3912,42 +3988,42 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 92; jjCheckNAddTwoStates(100, 101); break; - case 140: - case 142: + case 158: + case 160: if ((jjbitVec0[i2] & l2) == 0L) break; if (kind > 70) kind = 70; - jjCheckNAddTwoStates(140, 141); + jjCheckNAddTwoStates(158, 159); break; - case 150: - case 154: + case 168: + case 172: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(115, 118); + jjCheckNAddStates(5, 8); break; - case 241: - case 243: - case 251: + case 259: + case 261: + case 269: if ((jjbitVec0[i2] & l2) == 0L) break; if (kind > 91) kind = 91; - jjCheckNAddTwoStates(241, 242); + jjCheckNAddTwoStates(259, 260); break; - case 261: - case 265: + case 279: + case 283: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(553, 556); + jjCheckNAddStates(557, 560); break; - case 274: - case 279: + case 292: + case 297: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(592, 595); + jjCheckNAddStates(596, 599); break; - case 291: - case 296: + case 309: + case 314: if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(637, 640); + jjCheckNAddStates(641, 644); break; default : break; } @@ -3960,7 +4036,7 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 0x7fffffff; } ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 423 - (jjnewStateCnt = startsAt))) + if ((i = jjnewStateCnt) == (startsAt = 441 - (jjnewStateCnt = startsAt))) return curPos; try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } @@ -4116,14 +4192,14 @@ private int jjMoveStringLiteralDfa1_2(long active0) return 2; } static final int[] jjnextStates = { - 369, 370, 371, 372, 373, 374, 188, 375, 376, 377, 191, 378, 379, 380, 194, 381, - 382, 383, 197, 384, 385, 386, 200, 387, 388, 389, 203, 390, 391, 392, 206, 393, - 394, 395, 209, 396, 397, 398, 212, 399, 400, 401, 216, 402, 403, 404, 220, 405, - 406, 407, 225, 408, 409, 410, 228, 411, 412, 413, 230, 414, 415, 416, 233, 417, - 418, 419, 237, 420, 421, 422, 239, 240, 251, 252, 186, 187, 189, 192, 195, 198, - 201, 204, 207, 210, 213, 217, 221, 226, 229, 231, 234, 238, 182, 183, 163, 170, - 171, 180, 79, 80, 91, 92, 62, 63, 64, 66, 45, 46, 47, 49, 238, 239, - 240, 251, 252, 150, 151, 152, 153, 7, 8, 20, 21, 9, 10, 11, 9, 14, + 256, 257, 258, 269, 270, 168, 169, 170, 171, 387, 388, 389, 390, 391, 392, 206, + 393, 394, 395, 209, 396, 397, 398, 212, 399, 400, 401, 215, 402, 403, 404, 218, + 405, 406, 407, 221, 408, 409, 410, 224, 411, 412, 413, 227, 414, 415, 416, 230, + 417, 418, 419, 234, 420, 421, 422, 238, 423, 424, 425, 243, 426, 427, 428, 246, + 429, 430, 431, 248, 432, 433, 434, 251, 435, 436, 437, 255, 438, 439, 440, 257, + 258, 269, 270, 204, 205, 207, 210, 213, 216, 219, 222, 225, 228, 231, 235, 239, + 244, 247, 249, 252, 256, 200, 201, 181, 188, 189, 198, 79, 80, 91, 92, 62, + 63, 64, 66, 45, 46, 47, 49, 7, 8, 20, 21, 9, 10, 11, 9, 14, 10, 11, 15, 9, 16, 14, 10, 11, 17, 18, 19, 9, 14, 10, 11, 9, 16, 14, 10, 11, 9, 16, 14, 10, 11, 17, 9, 16, 14, 10, 11, 17, 18, 14, 9, 10, 11, 23, 24, 14, 9, 10, 11, 25, 26, 27, 14, 9, @@ -4142,33 +4218,33 @@ static final int[] jjnextStates = { 118, 113, 119, 117, 114, 120, 121, 122, 113, 117, 114, 113, 119, 117, 114, 113, 119, 117, 114, 120, 113, 119, 117, 114, 120, 121, 117, 113, 114, 126, 127, 117, 113, 114, 128, 129, 130, 117, 113, 114, 127, 117, 113, 114, 127, 117, 113, 114, - 128, 127, 117, 113, 114, 128, 129, 132, 133, 140, 144, 141, 145, 140, 146, 144, - 141, 147, 148, 149, 140, 144, 141, 140, 146, 144, 141, 140, 146, 144, 141, 147, - 140, 146, 144, 141, 147, 148, 150, 152, 153, 156, 157, 150, 158, 152, 153, 156, - 159, 160, 161, 150, 152, 153, 156, 150, 158, 152, 153, 156, 150, 158, 152, 153, - 156, 159, 150, 158, 152, 153, 156, 159, 160, 241, 245, 242, 246, 241, 247, 245, - 242, 248, 249, 250, 241, 245, 242, 241, 247, 245, 242, 241, 247, 245, 242, 248, - 241, 247, 245, 242, 248, 249, 245, 241, 242, 254, 255, 245, 241, 242, 256, 257, - 258, 245, 241, 242, 255, 245, 241, 242, 255, 245, 241, 242, 256, 255, 245, 241, - 242, 256, 257, 261, 273, 290, 263, 264, 307, 261, 262, 263, 264, 261, 263, 264, - 267, 268, 261, 269, 263, 264, 267, 270, 271, 272, 261, 263, 264, 267, 261, 269, - 263, 264, 267, 261, 269, 263, 264, 267, 270, 261, 269, 263, 264, 267, 270, 271, - 274, 275, 276, 278, 274, 281, 275, 276, 278, 282, 274, 283, 281, 275, 276, 278, - 284, 285, 286, 274, 281, 275, 276, 278, 274, 283, 281, 275, 276, 278, 274, 283, - 281, 275, 276, 278, 284, 274, 283, 281, 275, 276, 278, 284, 285, 291, 292, 293, - 295, 291, 298, 292, 293, 295, 299, 291, 300, 298, 292, 293, 295, 301, 302, 303, - 291, 298, 292, 293, 295, 291, 300, 298, 292, 293, 295, 291, 300, 298, 292, 293, - 295, 301, 291, 300, 298, 292, 293, 295, 301, 302, 261, 273, 290, 262, 263, 264, - 307, 311, 317, 313, 314, 315, 316, 313, 314, 315, 318, 322, 326, 330, 334, 338, - 313, 336, 337, 313, 339, 340, 341, 313, 339, 340, 321, 347, 348, 349, 321, 347, - 348, 351, 344, 352, 353, 354, 351, 344, 352, 351, 344, 352, 353, 144, 140, 141, - 357, 358, 144, 140, 141, 359, 360, 361, 144, 140, 141, 358, 144, 140, 141, 358, - 144, 140, 141, 359, 358, 144, 140, 141, 359, 360, 150, 152, 153, 156, 363, 364, - 150, 152, 153, 156, 365, 366, 367, 364, 150, 152, 153, 156, 364, 150, 152, 153, - 156, 365, 364, 150, 152, 153, 156, 365, 366, 420, 239, 240, 251, 252, 140, 150, - 151, 152, 153, 141, 142, 356, 154, 362, 111, 112, 123, 124, 309, 310, 342, 48, - 58, 60, 59, 50, 51, 65, 75, 77, 76, 67, 68, 102, 103, 265, 266, 277, - 287, 289, 288, 279, 280, 294, 304, 306, 305, 296, 297, + 128, 127, 117, 113, 114, 128, 129, 132, 133, 140, 141, 148, 149, 158, 162, 159, + 163, 158, 164, 162, 159, 165, 166, 167, 158, 162, 159, 158, 164, 162, 159, 158, + 164, 162, 159, 165, 158, 164, 162, 159, 165, 166, 168, 170, 171, 174, 175, 168, + 176, 170, 171, 174, 177, 178, 179, 168, 170, 171, 174, 168, 176, 170, 171, 174, + 168, 176, 170, 171, 174, 177, 168, 176, 170, 171, 174, 177, 178, 259, 263, 260, + 264, 259, 265, 263, 260, 266, 267, 268, 259, 263, 260, 259, 265, 263, 260, 259, + 265, 263, 260, 266, 259, 265, 263, 260, 266, 267, 263, 259, 260, 272, 273, 263, + 259, 260, 274, 275, 276, 263, 259, 260, 273, 263, 259, 260, 273, 263, 259, 260, + 274, 273, 263, 259, 260, 274, 275, 279, 291, 308, 281, 282, 325, 279, 280, 281, + 282, 279, 281, 282, 285, 286, 279, 287, 281, 282, 285, 288, 289, 290, 279, 281, + 282, 285, 279, 287, 281, 282, 285, 279, 287, 281, 282, 285, 288, 279, 287, 281, + 282, 285, 288, 289, 292, 293, 294, 296, 292, 299, 293, 294, 296, 300, 292, 301, + 299, 293, 294, 296, 302, 303, 304, 292, 299, 293, 294, 296, 292, 301, 299, 293, + 294, 296, 292, 301, 299, 293, 294, 296, 302, 292, 301, 299, 293, 294, 296, 302, + 303, 309, 310, 311, 313, 309, 316, 310, 311, 313, 317, 309, 318, 316, 310, 311, + 313, 319, 320, 321, 309, 316, 310, 311, 313, 309, 318, 316, 310, 311, 313, 309, + 318, 316, 310, 311, 313, 319, 309, 318, 316, 310, 311, 313, 319, 320, 279, 291, + 308, 280, 281, 282, 325, 329, 335, 331, 332, 333, 334, 331, 332, 333, 336, 340, + 344, 348, 352, 356, 331, 354, 355, 331, 357, 358, 359, 331, 357, 358, 339, 365, + 366, 367, 339, 365, 366, 369, 362, 370, 371, 372, 369, 362, 370, 369, 362, 370, + 371, 162, 158, 159, 375, 376, 162, 158, 159, 377, 378, 379, 162, 158, 159, 376, + 162, 158, 159, 376, 162, 158, 159, 377, 376, 162, 158, 159, 377, 378, 168, 170, + 171, 174, 381, 382, 168, 170, 171, 174, 383, 384, 385, 382, 168, 170, 171, 174, + 382, 168, 170, 171, 174, 383, 382, 168, 170, 171, 174, 383, 384, 438, 257, 258, + 269, 270, 158, 168, 169, 170, 171, 159, 160, 374, 172, 380, 111, 112, 123, 124, + 327, 328, 360, 48, 58, 60, 59, 50, 51, 65, 75, 77, 76, 67, 68, 102, + 103, 283, 284, 295, 305, 307, 306, 297, 298, 312, 322, 324, 323, 314, 315, }; /** Token literal values. */ @@ -4181,7 +4257,8 @@ null, null, null, null, null, null, null, null, null, null, null, null, null, nu null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, }; +null, null, null, null, null, null, null, null, null, null, null, null, null, null, +null, null, }; /** Lexer state names. */ public static final String[] lexStateNames = { @@ -4197,10 +4274,10 @@ public static final int[] jjnewLexState = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0xfffe01fffffffc03L, 0x1e00ffffffeffL, + 0xfffe01fffffffc03L, 0x7e00ffffffeffL, }; static final long[] jjtoSkip = { 0x190L, 0x0L, @@ -4212,8 +4289,8 @@ static final long[] jjtoMore = { 0x26cL, 0x0L, }; protected CharStream input_stream; -private final int[] jjrounds = new int[423]; -private final int[] jjstateSet = new int[846]; +private final int[] jjrounds = new int[441]; +private final int[] jjstateSet = new int[882]; private final StringBuilder jjimage = new StringBuilder(); private StringBuilder image = jjimage; private int jjimageLen; @@ -4242,7 +4319,7 @@ private void ReInitRounds() { int i; jjround = 0x80000001; - for (i = 423; i-- > 0;) + for (i = 441; i-- > 0;) jjrounds[i] = 0x80000000; } @@ -4326,9 +4403,9 @@ public Token getNextToken() jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; curPos = jjMoveStringLiteralDfa0_0(); - if (jjmatchedPos == 0 && jjmatchedKind > 112) + if (jjmatchedPos == 0 && jjmatchedKind > 114) { - jjmatchedKind = 112; + jjmatchedKind = 114; } break; case 1: diff --git a/theme-compiler/src/com/vaadin/sass/tree/ListAppendNode.java b/theme-compiler/src/com/vaadin/sass/tree/ListAppendNode.java new file mode 100644 index 0000000000..ef85594744 --- /dev/null +++ b/theme-compiler/src/com/vaadin/sass/tree/ListAppendNode.java @@ -0,0 +1,19 @@ +package com.vaadin.sass.tree; + +import java.util.ArrayList; + +public class ListAppendNode extends ListModifyNode { + + public ListAppendNode(String variable, String list, String append, + String separator) { + this.variable = variable; + checkSeparator(separator, list); + populateList(list, append); + } + + @Override + protected void modifyList(ArrayList newList) { + newList.addAll(modify); + } + +} diff --git a/theme-compiler/src/com/vaadin/sass/tree/ListContainsNode.java b/theme-compiler/src/com/vaadin/sass/tree/ListContainsNode.java new file mode 100644 index 0000000000..1a9ace88a5 --- /dev/null +++ b/theme-compiler/src/com/vaadin/sass/tree/ListContainsNode.java @@ -0,0 +1,31 @@ +package com.vaadin.sass.tree; + +import java.util.ArrayList; + +import com.vaadin.sass.parser.LexicalUnitImpl; + +public class ListContainsNode extends ListModifyNode { + + public ListContainsNode(String variable, String list, String contains, + String separator) { + this.variable = variable; + checkSeparator(separator, list); + populateList(list, contains); + } + + @Override + protected void modifyList(ArrayList newList) { + // Does not actually modify the list + } + + @Override + public VariableNode getModifiedList() { + + String contains = "" + list.containsAll(modify); + VariableNode node = new VariableNode(variable.substring(1), + LexicalUnitImpl.createString(contains), false); + return node; + + } + +} diff --git a/theme-compiler/src/com/vaadin/sass/tree/ListModifyNode.java b/theme-compiler/src/com/vaadin/sass/tree/ListModifyNode.java index 0e9f727c53..d54f56f8a7 100644 --- a/theme-compiler/src/com/vaadin/sass/tree/ListModifyNode.java +++ b/theme-compiler/src/com/vaadin/sass/tree/ListModifyNode.java @@ -1,11 +1,102 @@ package com.vaadin.sass.tree; -public interface ListModifyNode { +import java.util.ArrayList; +import java.util.Arrays; - public String getNewVariable(); +import com.vaadin.sass.parser.LexicalUnitImpl; - public String getModifyingList(); +public abstract class ListModifyNode extends Node implements IVariableNode { - public VariableNode getModifiedList(VariableNode variableNode); + protected ArrayList list; + protected ArrayList modify; + protected String separator = " "; + protected String variable; + + public String getNewVariable() { + return variable; + } + + public VariableNode getModifiedList() { + final ArrayList newList = new ArrayList(list); + modifyList(newList); + + LexicalUnitImpl unit = null; + if (newList.size() > 0) { + unit = LexicalUnitImpl.createIdent(newList.get(0)); + LexicalUnitImpl last = unit; + for (int i = 1; i < newList.size(); i++) { + LexicalUnitImpl current = LexicalUnitImpl.createIdent(newList + .get(i)); + last.setNextLexicalUnit(current); + last = current; + } + + } + VariableNode node = new VariableNode(variable.substring(1), unit, false); + return node; + } + + protected abstract void modifyList(ArrayList newList); + + protected void checkSeparator(String separator, String list) { + String lowerCase = ""; + if (separator == null + || (lowerCase = separator.toLowerCase()).equals("auto")) { + if (list.contains(",")) { + this.separator = ","; + } + } else if (lowerCase.equals("comma")) { + this.separator = ","; + } else if (lowerCase.equals("space")) { + this.separator = " "; + } + } + + protected void populateList(String list, String modify) { + this.list = new ArrayList(Arrays.asList(list.split(separator))); + this.modify = new ArrayList(Arrays.asList(modify + .split(separator))); + } + + @Override + public void replaceVariables(ArrayList variables) { + for (final String listVar : new ArrayList(list)) { + replacePossibleVariable(variables, listVar, list); + } + + for (final String listVar : new ArrayList(modify)) { + replacePossibleVariable(variables, listVar, modify); + } + + } + + private void replacePossibleVariable(ArrayList variables, + final String listVar, ArrayList list) { + if (listVar.startsWith("$")) { + + for (final VariableNode var : variables) { + + if (var.getName().equals(listVar.substring(1))) { + + String[] split = null; + if (var.getExpr().toString().contains(",")) { + split = var.getExpr().toString().split(","); + } else { + split = var.getExpr().toString().split(" "); + } + int i = list.indexOf(listVar); + for (final String s : split) { + list.add(i, s.trim()); + i++; + } + + list.remove(listVar); + break; + + } + } + + } + } } diff --git a/theme-compiler/src/com/vaadin/sass/tree/ListRemoveNode.java b/theme-compiler/src/com/vaadin/sass/tree/ListRemoveNode.java index 9c61c9f636..22fb216c9e 100644 --- a/theme-compiler/src/com/vaadin/sass/tree/ListRemoveNode.java +++ b/theme-compiler/src/com/vaadin/sass/tree/ListRemoveNode.java @@ -1,107 +1,19 @@ package com.vaadin.sass.tree; import java.util.ArrayList; -import java.util.Arrays; import com.vaadin.sass.parser.LexicalUnitImpl; -import com.vaadin.sass.util.DeepCopy; -public class ListRemoveNode extends Node implements ListModifyNode, - IVariableNode { - - private ArrayList list; - private ArrayList remove; - private String separator = " "; - private String variable; +public class ListRemoveNode extends ListModifyNode { public ListRemoveNode(String variable, String list, String remove, String separator) { this.variable = variable; checkSeparator(separator, list); - populateList(list, remove); } - private void checkSeparator(String separator, String list) { - String lowerCase = ""; - if (separator == null - || (lowerCase = separator.toLowerCase()).equals("auto")) { - if (list.contains(",")) { - this.separator = ","; - } - } else if (lowerCase.equals("comma")) { - this.separator = ","; - } else if (lowerCase.equals("space")) { - this.separator = " "; - } - } - - private void populateList(String list, String remove) { - this.list = new ArrayList(Arrays.asList(list.split(separator))); - this.remove = new ArrayList(Arrays.asList(remove - .split(separator))); - } - - @Override - public String getNewVariable() { - return variable; - } - - @Override - public VariableNode getModifiedList(VariableNode variableNode) { - - if (variableNode != null) { - VariableNode clone = (VariableNode) DeepCopy.copy(variableNode); - - LexicalUnitImpl first = null; - LexicalUnitImpl current = (LexicalUnitImpl) clone.getExpr(); - LexicalUnitImpl lastAccepted = null; - while (current != null) { - - if (shouldInclude(current, lastAccepted)) { - LexicalUnitImpl temp = current.clone(); - temp.setNextLexicalUnit(null); - - if (lastAccepted != null) { - lastAccepted.setNextLexicalUnit(temp); - } - - lastAccepted = temp; - - if (first == null) { - first = lastAccepted; - } - } - current = (LexicalUnitImpl) current.getNextLexicalUnit(); - } - - clone.setExpr(first); - - return clone; - } else { - - final ArrayList newList = new ArrayList(list); - newList.removeAll(remove); - - LexicalUnitImpl unit = null; - if (newList.size() > 0) { - unit = LexicalUnitImpl.createString(newList.get(0)); - LexicalUnitImpl last = unit; - for (int i = 1; i < newList.size(); i++) { - LexicalUnitImpl current = LexicalUnitImpl - .createString(newList.get(i)); - last.setNextLexicalUnit(current); - last = current; - } - - } - VariableNode node = new VariableNode(variable, unit, false); - return node; - - } - } - private boolean shouldInclude(LexicalUnitImpl current, LexicalUnitImpl lastAccepted) { @@ -112,7 +24,7 @@ public class ListRemoveNode extends Node implements ListModifyNode, } String string = current.getValue().toString(); - for (final String s : remove) { + for (final String s : modify) { if (s.equals(string)) { return false; } @@ -121,38 +33,7 @@ public class ListRemoveNode extends Node implements ListModifyNode, } @Override - public void replaceVariables(ArrayList variables) { - ArrayList newList = new ArrayList(); - - for (final String removeVar : remove) { - if (!removeVar.startsWith("$")) { - continue; - } - - for (final VariableNode var : variables) { - if (removeVar.equals("$" + var.getName())) { - LexicalUnitImpl expr = var.getExpr(); - while (expr != null) { - newList.add(expr.getValue().toString()); - expr = expr.getNextLexicalUnit(); - } - - } - } - } - if (newList.size() > 0) { - remove = newList; - } - - } - - @Override - public String getModifyingList() { - String firstListEntry = list.get(0); - if (list.size() == 1 && firstListEntry.startsWith("$")) { - return firstListEntry.substring(1, firstListEntry.length()); - } - - return null; + protected void modifyList(ArrayList newList) { + newList.removeAll(modify); } } diff --git a/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java index 2f31f36f0c..8de7ccf78a 100644 --- a/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java +++ b/theme-compiler/src/com/vaadin/sass/tree/controldirective/IfNode.java @@ -16,6 +16,7 @@ package com.vaadin.sass.tree.controldirective; import java.util.ArrayList; +import java.util.regex.Pattern; import com.vaadin.sass.tree.IVariableNode; import com.vaadin.sass.tree.Node; @@ -45,9 +46,9 @@ public class IfNode extends Node implements IfElseNode, IVariableNode { @Override public void replaceVariables(ArrayList variables) { for (final VariableNode node : variables) { - if (expression.contains(node.getName())) { - expression = expression.replaceAll(node.getName(), node - .getExpr().toString()); + if (expression.contains("$" + node.getName())) { + expression = expression.replaceAll(Pattern.quote("$" + + node.getName()), node.getExpr().toString()); } } } diff --git a/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java index cff00392fb..2cffb890ee 100644 --- a/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java +++ b/theme-compiler/src/com/vaadin/sass/visitor/IfElseVisitor.java @@ -42,12 +42,21 @@ public class IfElseVisitor implements Visitor { expression = replaceStrings(expression); Expression e = evaluator.createExpression(expression); try { - Boolean result = (Boolean) e.evaluate(null); + Object eval = e.evaluate(null); + + Boolean result = false; + if (eval instanceof Boolean) { + result = (Boolean) eval; + } else if (eval instanceof String) { + result = Boolean.valueOf((String) eval); + } + if (result) { replaceDefNodeWithCorrectChild(defNode, parent, child); break; } + System.out.println(); } catch (ClassCastException ex) { throw new ParseException( "Invalid @if/@else in scss file, not a boolean expression : " @@ -81,13 +90,14 @@ public class IfElseVisitor implements Visitor { } private String replaceStrings(String expression) { + expression = expression.replaceAll("\"", ""); Matcher m = pattern.matcher(expression); StringBuffer b = new StringBuffer(); while (m.find()) { String group = m.group(); m.appendReplacement(b, "'" + group + "'"); } - + m.appendTail(b); if (b.length() != 0) { return b.toString(); } diff --git a/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java b/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java index fc31ffa7b9..b6963caf1b 100644 --- a/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java +++ b/theme-compiler/src/com/vaadin/sass/visitor/VariableVisitor.java @@ -70,15 +70,15 @@ public class VariableVisitor implements Visitor { ListModifyNode modify = (ListModifyNode) node; - String variable = modify.getNewVariable().substring(1, - modify.getNewVariable().length()); + String variable = modify.getNewVariable().substring(1); - VariableNode modifiedList = modify - .getModifiedList(this.variables.get(modify - .getModifyingList())); - modifiedList.setName(variable); - this.variables.put(variable, modifiedList); + try { + VariableNode modifiedList = modify.getModifiedList(); + this.variables.put(variable, modifiedList); + } catch (Exception e) { + e.printStackTrace(); + } } else if (node instanceof IVariableNode) { ((IVariableNode) node) .replaceVariables(new ArrayList( diff --git a/theme-compiler/tests/resources/css/listmodify.css b/theme-compiler/tests/resources/css/listmodify.css new file mode 100644 index 0000000000..b07d5d9eef --- /dev/null +++ b/theme-compiler/tests/resources/css/listmodify.css @@ -0,0 +1,23 @@ +.v-button { + font-size: 12px; +} + +.v-label { + font-size: 12px; +} + +.v-button { + font-color: red; +} + +.v-label { + font-color: red; +} + +.v-textfield { + font-color: red; +} + +.v-button { + background-color: black; +} \ No newline at end of file diff --git a/theme-compiler/tests/resources/scss/listmodify.scss b/theme-compiler/tests/resources/scss/listmodify.scss new file mode 100644 index 0000000000..814f3156f8 --- /dev/null +++ b/theme-compiler/tests/resources/scss/listmodify.scss @@ -0,0 +1,25 @@ +$list : .v-button, .v-panel, .v-label; + +$basics : remove($list, .v-panel); + +@each $component in $basics{ + .#{$component} { + font-size: 12px; + } +} + +$items : append($basics, .v-textfield); + +@each $component in $items{ + .#{$component} { + font-color: red; + } +} + +$contains : contains($items, .v-button); + +@if($contains){ + .v-button { + background-color: black; + } +} diff --git a/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/ListModify.java b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/ListModify.java new file mode 100644 index 0000000000..4a65591f83 --- /dev/null +++ b/theme-compiler/tests/src/com/vaadin/sass/testcases/scss/ListModify.java @@ -0,0 +1,17 @@ +package com.vaadin.sass.testcases.scss; + +import org.junit.Test; + +import com.vaadin.sass.AbstractTestBase; + +public class ListModify extends AbstractTestBase { + + String scss = "/scss/listmodify.scss"; + String css = "/css/listmodify.css"; + + @Test + public void testCompiler() throws Exception { + testCompiler(scss, css); + } + +} -- 2.39.5