diff options
author | Artur Signell <artur@vaadin.com> | 2013-11-11 16:03:28 +0200 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2013-11-11 16:03:52 +0200 |
commit | 3a08ea6b031470067dbb6f0bc927b5d88fa8b543 (patch) | |
tree | b754c2be3b694588e4b44ef018eddc2482e169b0 /theme-compiler/src | |
parent | e75dc7e789940e6396538318dd0f1e490efeedb7 (diff) | |
parent | 9d84c091714f01e0088fab2202c10b505e78a607 (diff) | |
download | vaadin-framework-3a08ea6b031470067dbb6f0bc927b5d88fa8b543.tar.gz vaadin-framework-3a08ea6b031470067dbb6f0bc927b5d88fa8b543.zip |
Merge commit '9d84c091714f01e0088fab2202c10b505e78a607'
Conflicts:
theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
Change-Id: Ie23f14975f693c666d932d7ca1c07c980a5ba08a
Diffstat (limited to 'theme-compiler/src')
-rw-r--r-- | theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java | 20156 | ||||
-rw-r--r-- | theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj | 3 |
2 files changed, 7598 insertions, 12561 deletions
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java index e223e059fd..5fbec45efd 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java @@ -16,39 +16,38 @@ /* Generated By:JavaCC: Do not edit this line. Parser.java */ package com.vaadin.sass.internal.parser; -import java.io.*; -import java.net.*; +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.URL; import java.util.ArrayList; import java.util.Locale; -import java.util.Map; import java.util.UUID; +import org.w3c.css.sac.CSSException; +import org.w3c.css.sac.CSSParseException; import org.w3c.css.sac.ConditionFactory; -import org.w3c.css.sac.Condition; -import org.w3c.css.sac.SelectorFactory; -import org.w3c.css.sac.SelectorList; -import org.w3c.css.sac.Selector; -import org.w3c.css.sac.SimpleSelector; import org.w3c.css.sac.DocumentHandler; -import org.w3c.css.sac.InputSource; import org.w3c.css.sac.ErrorHandler; -import org.w3c.css.sac.CSSException; -import org.w3c.css.sac.CSSParseException; -import org.w3c.css.sac.Locator; +import org.w3c.css.sac.InputSource; import org.w3c.css.sac.LexicalUnit; - -import org.w3c.flute.parser.selectors.SelectorFactoryImpl; +import org.w3c.css.sac.Locator; +import org.w3c.css.sac.SelectorFactory; +import org.w3c.css.sac.SelectorList; import org.w3c.flute.parser.selectors.ConditionFactoryImpl; - +import org.w3c.flute.parser.selectors.SelectorFactoryImpl; import org.w3c.flute.util.Encoding; -import com.vaadin.sass.internal.handler.*; - -import com.vaadin.sass.internal.tree.*; +import com.vaadin.sass.internal.handler.SCSSDocumentHandlerImpl; +import com.vaadin.sass.internal.tree.Node; +import com.vaadin.sass.internal.tree.VariableNode; /** * A CSS2 parser - * + * * @author Philippe Le H�garet * @version $Revision: 1.15 $ */ @@ -79,27 +78,32 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * @@TODO - * @exception CSSException Not yet implemented + * @exception CSSException + * Not yet implemented */ + @Override public void setLocale(Locale locale) throws CSSException { throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR); } - public InputSource getInputSource(){ + public InputSource getInputSource() { return source; } /** * Set the document handler for this parser */ + @Override public void setDocumentHandler(DocumentHandler handler) { - this.documentHandler = (SCSSDocumentHandlerImpl) handler; + documentHandler = (SCSSDocumentHandlerImpl) handler; } + @Override public void setSelectorFactory(SelectorFactory selectorFactory) { this.selectorFactory = selectorFactory; } + @Override public void setConditionFactory(ConditionFactory conditionFactory) { this.conditionFactory = conditionFactory; } @@ -107,19 +111,24 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Set the error handler for this parser */ + @Override public void setErrorHandler(ErrorHandler error) { - this.errorHandler = error; + errorHandler = error; } /** * Main parse methods - * - * @param source the source of the style sheet. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param source + * the source of the style sheet. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleSheet(InputSource source) - throws CSSException, IOException { + @Override + public void parseStyleSheet(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); if (selectorFactory == null) { @@ -134,26 +143,34 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Convenient method for URIs. - * - * @param systemId the fully resolved URI of the style sheet. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param systemId + * the fully resolved URI of the style sheet. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleSheet(String systemId) - throws CSSException, IOException { + @Override + public void parseStyleSheet(String systemId) throws CSSException, + IOException { parseStyleSheet(new InputSource(systemId)); } /** - * This method parses only one rule (style rule or at-rule, except @charset). - * - * @param source the source of the rule. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * This method parses only one rule (style rule or at-rule, except + * @charset). + * + * @param source + * the source of the rule. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ // TODO required by original parser but not used by Vaadin? - public void parseRule(InputSource source) - throws CSSException, IOException { + @Override + public void parseRule(InputSource source) throws CSSException, IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -169,13 +186,17 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * This method parses a style declaration (including the surrounding curly * braces). - * - * @param source the source of the style declaration. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param source + * the source of the style declaration. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleDeclaration(InputSource source) - throws CSSException, IOException { + @Override + public void parseStyleDeclaration(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -190,8 +211,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * This methods returns "http://www.w3.org/TR/REC-CSS2". + * * @return the string "http://www.w3.org/TR/REC-CSS2". */ + @Override public String getParserVersion() { return "http://www.w3.org/TR/REC-CSS2"; } @@ -199,8 +222,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Parse methods used by DOM Level 2 implementation. */ - public void parseImportRule(InputSource source) - throws CSSException, IOException { + public void parseImportRule(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -213,8 +236,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { _parseImportRule(); } - public void parseMediaRule(InputSource source) - throws CSSException, IOException { + public void parseMediaRule(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -227,14 +250,16 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { _parseMediaRule(); } - public SelectorList parseSelectors(InputSource source) - throws CSSException, IOException { + @Override + public SelectorList parseSelectors(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); return null; } + @Override public LexicalUnit parsePropertyValue(InputSource source) throws CSSException, IOException { this.source = source; @@ -243,8 +268,9 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { return expr(); } - public boolean parsePriority(InputSource source) - throws CSSException, IOException { + @Override + public boolean parsePriority(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -252,7 +278,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } /** - * Convert the source into a Reader. Used only by DOM Level 2 parser methods. + * Convert the source into a Reader. Used only by DOM Level 2 parser + * methods. */ private Reader getReader(InputSource source) throws IOException { if (source.getCharacterStream() != null) { @@ -264,7 +291,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { return new InputStreamReader(source.getByteStream(), "ASCII"); } else { return new InputStreamReader(source.getByteStream(), - source.getEncoding()); + source.getEncoding()); } } else { // systemId @@ -274,11 +301,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } /** - * Convert the source into a CharStream with encoding informations. - * The encoding can be found in the InputSource or in the CSS document. - * Since this method marks the reader and make a reset after looking for - * the charset declaration, you'll find the charset declaration into the - * stream. + * Convert the source into a CharStream with encoding informations. The + * encoding can be found in the InputSource or in the CSS document. Since + * this method marks the reader and make a reset after looking for the + * charset declaration, you'll find the charset declaration into the stream. */ private CharStream getCharStreamWithLurk(InputSource source) throws CSSException, IOException { @@ -298,7 +324,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } } - //use UTF-8 as the default encoding. + // use UTF-8 as the default encoding. String encoding = source.getEncoding(); InputStream input = source.getByteStream(); if (!input.markSupported()) { @@ -308,7 +334,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } // Mark either the original stream or the wrapped stream input.mark(100); - if(encoding == null){ + if (encoding == null) { encoding = "ASCII"; char c = ' '; @@ -317,14 +343,15 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (c == '@') { // hum, is it a charset ? - int size = 100; + int size = 100; byte[] buf = new byte[size]; input.read(buf, 0, 7); String keyword = new String(buf, 0, 7); if (keyword.equals("charset")) { // Yes, this is the charset declaration ! - // here I don't use the right declaration : white space are ' '. + // here I don't use the right declaration : white space are + // ' '. while ((c = (char) input.read()) == ' ') { // find the first quote } @@ -351,15 +378,17 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (c != ';') { // no semi colon at the end ? throw new CSSException("invalid charset declaration: " - + "missing semi colon"); + + "missing semi colon"); } encoding = new String(buf, 0, i); if (source.getEncoding() != null) { // compare the two encoding informations. - // For example, I don't accept to have ASCII and after UTF-8. + // For example, I don't accept to have ASCII and after + // UTF-8. // Is it really good ? That is the question. if (!encoding.equals(source.getEncoding())) { - throw new CSSException("invalid encoding information."); + throw new CSSException( + "invalid encoding information."); } } } // else no charset declaration available @@ -369,7 +398,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { source.setEncoding(encoding); // set the real reader of this source. source.setCharacterStream(new InputStreamReader(source.getByteStream(), - Encoding.getJavaEncoding(encoding))); + Encoding.getJavaEncoding(encoding))); // reset the stream (leave the charset declaration in the stream). input.reset(); @@ -377,6 +406,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } private LocatorImpl currentLocator; + private Locator getLocator() { if (currentLocator == null) { currentLocator = new LocatorImpl(this); @@ -384,6 +414,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } return currentLocator.reInit(this); } + private LocatorImpl getLocator(Token save) { if (currentLocator == null) { currentLocator = new LocatorImpl(this, save); @@ -400,8 +431,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (pe.specialConstructor) { StringBuffer errorM = new StringBuffer(); if (pe.currentToken != null) { - errorM.append("encountered \u005c"") - .append(pe.currentToken.next); + errorM.append("encountered \u005c"").append( + pe.currentToken.next); } errorM.append('"'); if (pe.expectedTokenSequences.length != 0) { @@ -417,10 +448,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } errorHandler.error(new CSSParseException(errorM.toString(), - l, e)); + l, e)); } else { - errorHandler.error(new CSSParseException(e.getMessage(), - l, e)); + errorHandler.error(new CSSParseException(e.getMessage(), l, + e)); } } else if (e == null) { errorHandler.error(new CSSParseException("error", l, null)); @@ -431,7061 +462,4816 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } private void reportWarningSkipText(Locator l, String text) { - if (errorHandler != null && text != null) { + if (errorHandler != null && text != null) { errorHandler.warning(new CSSParseException("Skipping: " + text, l)); } } -/* - * The grammar of CSS2 - */ + /* + * The grammar of CSS2 + */ -/** - * The main entry for the parser. - * - * @exception ParseException exception during the parse - */ - final public void parserUnit() throws ParseException { - try { - documentHandler.startDocument(source); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CHARSET_SYM: - charset(); - break; - default: - jj_la1[0] = jj_gen; - ; - } - label_1: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case CDO: - case CDC: - case ATKEYWORD: - ; - break; - default: - jj_la1[1] = jj_gen; - break label_1; + /** + * The main entry for the parser. + * + * @exception ParseException + * exception during the parse + */ + final public void parserUnit() throws ParseException { + try { + documentHandler.startDocument(source); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CHARSET_SYM: + charset(); + break; + default: + jj_la1[0] = jj_gen; + ; + } + label_1: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[1] = jj_gen; + break label_1; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + jj_consume_token(S); + comments(); + break; + case CDO: + case CDC: + case ATKEYWORD: + ignoreStatement(); + break; + default: + jj_la1[2] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + label_2: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORT_SYM: + ; + break; + default: + jj_la1[3] = jj_gen; + break label_2; + } + importDeclaration(); + label_3: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[4] = jj_gen; + break label_3; + } + ignoreStatement(); + label_4: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[5] = jj_gen; + break label_4; + } + jj_consume_token(S); + } + } + } + afterImportDeclaration(); + jj_consume_token(0); + } finally { + documentHandler.endDocument(source); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - jj_consume_token(S); - comments(); - break; - case CDO: - case CDC: - case ATKEYWORD: - ignoreStatement(); - break; - default: - jj_la1[2] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - label_2: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORT_SYM: - ; - break; - default: - jj_la1[3] = jj_gen; - break label_2; + } + + final public void charset() throws ParseException { + Token n; + try { + jj_consume_token(CHARSET_SYM); + label_5: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[6] = jj_gen; + break label_5; + } + jj_consume_token(S); + } + n = jj_consume_token(STRING); + label_6: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[7] = jj_gen; + break label_6; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + } catch (ParseException e) { + reportError(getLocator(e.currentToken.next), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (Exception e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + } - importDeclaration(); - label_3: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CDO: - case CDC: - case ATKEYWORD: + } + + final public void afterImportDeclaration() throws ParseException { + String ret; + Locator l; + label_7: while (true) { ; - break; - default: - jj_la1[4] = jj_gen; - break label_3; - } - ignoreStatement(); - label_4: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case MIXIN_SYM: + mixinDirective(); + break; + case EACH_SYM: + case IF_SYM: + controlDirective(); + break; + case INCLUDE_SYM: + includeDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case MEDIA_SYM: + media(); + break; + case PAGE_SYM: + page(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + case KEY_FRAME_SYM: + keyframes(); + break; default: - jj_la1[5] = jj_gen; - break label_4; + jj_la1[8] = jj_gen; + if (jj_2_1(2147483647)) { + variable(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + listModifyDirective(); + break; + default: + jj_la1[9] = jj_gen; + l = getLocator(); + ret = skipStatement(); + if ((ret == null) || (ret.length() == 0)) { + { + if (true) { + return; + } + } + } + if (ret.charAt(0) == '@') { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(l, ret); + } + } + } } - jj_consume_token(S); - } - } - } - afterImportDeclaration(); - jj_consume_token(0); - } finally { - documentHandler.endDocument(source); - } - } - - final public void charset() throws ParseException { - Token n; - try { - jj_consume_token(CHARSET_SYM); - label_5: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[6] = jj_gen; - break label_5; - } - jj_consume_token(S); - } - n = jj_consume_token(STRING); - label_6: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[7] = jj_gen; - break label_6; - } - jj_consume_token(S); - } - jj_consume_token(SEMICOLON); - } catch (ParseException e) { - reportError(getLocator(e.currentToken.next), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } catch (Exception e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } - } - - final public void afterImportDeclaration() throws ParseException { - String ret; - Locator l; - label_7: - while (true) { - ; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - case MIXIN_SYM: - mixinDirective(); - break; - case EACH_SYM: - case IF_SYM: - controlDirective(); - break; - case INCLUDE_SYM: - includeDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case MEDIA_SYM: - media(); - break; - case PAGE_SYM: - page(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - case KEY_FRAME_SYM: - keyframes(); - break; - default: - jj_la1[8] = jj_gen; - if (jj_2_1(2147483647)) { - variable(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - listModifyDirective(); - break; - default: - jj_la1[9] = jj_gen; - l = getLocator(); - ret = skipStatement(); - if ((ret == null) || (ret.length() == 0)) { - {if (true) return;} - } - if (ret.charAt(0) == '@') { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(l, ret); - } - } - } - } - label_8: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + label_8: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[10] = jj_gen; + break label_8; + } + ignoreStatement(); + label_9: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[11] = jj_gen; + break label_9; + } + jj_consume_token(S); + } + } + } + } + + final public void ignoreStatement() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CDO: + jj_consume_token(CDO); + break; case CDC: + jj_consume_token(CDC); + break; case ATKEYWORD: - ; - break; + atRuleDeclaration(); + break; default: - jj_la1[10] = jj_gen; - break label_8; + jj_la1[12] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - ignoreStatement(); - label_9: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[11] = jj_gen; - break label_9; - } - jj_consume_token(S); - } - } - } - } - - final public void ignoreStatement() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CDO: - jj_consume_token(CDO); - break; - case CDC: - jj_consume_token(CDC); - break; - case ATKEYWORD: - atRuleDeclaration(); - break; - default: - jj_la1[12] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } + } + + /** + * The import statement + * + * @exception ParseException + * exception during the parse + */ + final public void importDeclaration() throws ParseException { + Token n; + String uri; + MediaListImpl ml = new MediaListImpl(); + boolean isURL = false; + try { + jj_consume_token(IMPORT_SYM); + label_10: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[13] = jj_gen; + break label_10; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case STRING: + n = jj_consume_token(STRING); + uri = convertStringIndex(n.image, 1, n.image.length() - 1); + break; + case URL: + n = jj_consume_token(URL); + isURL = true; + uri = n.image.substring(4, n.image.length() - 1).trim(); + if ((uri.charAt(0) == '"') || (uri.charAt(0) == '\u005c'')) { + uri = uri.substring(1, uri.length() - 1); + } + break; + default: + jj_la1[14] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_11: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[15] = jj_gen; + break label_11; + } + jj_consume_token(S); + } + mediaStatement(ml); + jj_consume_token(SEMICOLON); + label_12: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[16] = jj_gen; + break label_12; + } + jj_consume_token(S); + } + if (ml.getLength() == 0) { + // see section 6.3 of the CSS2 recommandation. + ml.addItem("all"); + } + documentHandler.importStyle(uri, ml, isURL); + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); -/** - * The import statement - * - * @exception ParseException exception during the parse - */ - final public void importDeclaration() throws ParseException { - Token n; - String uri; - MediaListImpl ml = new MediaListImpl(); - boolean isURL = false; - try { - jj_consume_token(IMPORT_SYM); - label_10: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[13] = jj_gen; - break label_10; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING: - n = jj_consume_token(STRING); - uri = convertStringIndex(n.image, 1, - n.image.length() -1); - break; - case URL: - n = jj_consume_token(URL); - isURL=true; - uri = n.image.substring(4, n.image.length()-1).trim(); - if ((uri.charAt(0) == '"') - || (uri.charAt(0) == '\u005c'')) { - uri = uri.substring(1, uri.length()-1); - } - break; - default: - jj_la1[14] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_11: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[15] = jj_gen; - break label_11; - } - jj_consume_token(S); - } - mediaStatement(ml); - jj_consume_token(SEMICOLON); - label_12: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[16] = jj_gen; - break label_12; } - jj_consume_token(S); - } - if (ml.getLength() == 0) { - // see section 6.3 of the CSS2 recommandation. - ml.addItem("all"); - } - documentHandler.importStyle(uri, ml, isURL); - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); + } + /** + * @exception ParseException + * exception during the parse + */ + final public void keyframes() throws ParseException { + Token n; + boolean start = false; + String keyframeName = null; + String animationname = ""; + try { + n = jj_consume_token(KEY_FRAME_SYM); + label_13: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[17] = jj_gen; + break label_13; + } + jj_consume_token(S); + } + keyframeName = n.image; + label_14: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + animationname += n.image; + break; + case INTERPOLATION: + n = jj_consume_token(INTERPOLATION); + animationname += n.image; + break; + default: + jj_la1[18] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[19] = jj_gen; + break label_14; + } + } + label_15: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[20] = jj_gen; + break label_15; + } + jj_consume_token(S); + } + start = true; + documentHandler.startKeyFrames(keyframeName, animationname); + jj_consume_token(LBRACE); + label_16: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[21] = jj_gen; + break label_16; + } + jj_consume_token(S); + } + label_17: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case TO: + case FROM: + case PERCENTAGE: + ; + break; + default: + jj_la1[22] = jj_gen; + break label_17; + } + keyframeSelector(); + } + jj_consume_token(RBRACE); + label_18: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[23] = jj_gen; + break label_18; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + } finally { + if (start) { + documentHandler.endKeyFrames(); + } + } } - } -/** - * @exception ParseException exception during the parse - */ - final public void keyframes() throws ParseException { - Token n; - boolean start = false; - String keyframeName = null; - String animationname = ""; - try { - n = jj_consume_token(KEY_FRAME_SYM); - label_13: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[17] = jj_gen; - break label_13; - } - jj_consume_token(S); - } - keyframeName = n.image; - label_14: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - animationname += n.image; - break; - case INTERPOLATION: - n = jj_consume_token(INTERPOLATION); - animationname += n.image; - break; - default: - jj_la1[18] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + final public void keyframeSelector() throws ParseException { + Token n; + boolean start = false; + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case FROM: + n = jj_consume_token(FROM); + break; + case TO: + n = jj_consume_token(TO); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + break; + default: + jj_la1[24] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_19: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[25] = jj_gen; + break label_19; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_20: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[26] = jj_gen; + break label_20; + } + jj_consume_token(S); + } + start = true; + documentHandler.startKeyframeSelector(n.image); + label_21: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case MICROSOFT_RULE: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[27] = jj_gen; + break label_21; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + case MICROSOFT_RULE: + microsoftExtension(); + break; + default: + jj_la1[28] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_22: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[29] = jj_gen; + break label_22; + } + jj_consume_token(S); + } + } catch (ThrowedParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.e.currentToken.next.beginLine, + e.e.currentToken.next.beginColumn - 1); + reportError(li, e.e); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (TokenMgrError e) { + reportWarningSkipText(getLocator(), skipStatement()); + } finally { + if (start) { + documentHandler.endKeyframeSelector(); + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[19] = jj_gen; - break label_14; + } + + /** + * @exception ParseException + * exception during the parse + */ + /* see http://www.w3.org/TR/css3-mediaqueries/ */ + final public void media() throws ParseException { + boolean start = false; + String ret; + MediaListImpl ml = new MediaListImpl(); + try { + jj_consume_token(MEDIA_SYM); + label_23: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[30] = jj_gen; + break label_23; + } + jj_consume_token(S); + } + mediaStatement(ml); + start = true; + documentHandler.startMedia(ml); + jj_consume_token(LBRACE); + label_24: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[31] = jj_gen; + break label_24; + } + jj_consume_token(S); + } + label_25: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case LBRACE: + case DASHMATCH: + case INCLUDES: + case PLUS: + case MINUS: + case COMMA: + case SEMICOLON: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case NONASCII: + case DEBUG_SYM: + case WARN_SYM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case PERCENTAGE: + case HASH: + case IMPORT_SYM: + case MEDIA_SYM: + case CHARSET_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case ATKEYWORD: + case IMPORTANT_SYM: + case UNICODERANGE: + case FUNCTION: + case UNKNOWN: + ; + break; + default: + jj_la1[32] = jj_gen; + break label_25; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case CDO: + case LBRACE: + case DASHMATCH: + case INCLUDES: + case MINUS: + case COMMA: + case SEMICOLON: + case NONASCII: + case STRING: + case NUMBER: + case URL: + case PERCENTAGE: + case IMPORT_SYM: + case MEDIA_SYM: + case CHARSET_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case ATKEYWORD: + case IMPORTANT_SYM: + case UNICODERANGE: + case FUNCTION: + case UNKNOWN: + skipUnknownRule(); + break; + default: + jj_la1[33] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_26: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[34] = jj_gen; + break label_26; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } finally { + if (start) { + documentHandler.endMedia(ml); + } } - } - label_15: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[20] = jj_gen; - break label_15; - } - jj_consume_token(S); - } - start = true; documentHandler.startKeyFrames(keyframeName, animationname); - jj_consume_token(LBRACE); - label_16: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[21] = jj_gen; - break label_16; - } - jj_consume_token(S); - } - label_17: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TO: - case FROM: - case PERCENTAGE: - ; - break; - default: - jj_la1[22] = jj_gen; - break label_17; - } - keyframeSelector(); - } - jj_consume_token(RBRACE); - label_18: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[23] = jj_gen; - break label_18; - } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - } finally { - if (start) { - documentHandler.endKeyFrames(); - } - } - } - - final public void keyframeSelector() throws ParseException { - Token n; - boolean start = false; - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case FROM: - n = jj_consume_token(FROM); - break; - case TO: - n = jj_consume_token(TO); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - break; - default: - jj_la1[24] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_19: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[25] = jj_gen; - break label_19; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_20: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[26] = jj_gen; - break label_20; - } - jj_consume_token(S); - } - start = true; - documentHandler.startKeyframeSelector(n.image); - label_21: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case MICROSOFT_RULE: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[27] = jj_gen; - break label_21; + } + + final public void mediaStatement(MediaListImpl ml) throws ParseException { + Token t; + t = getToken(1); + // loop over comma separated parts, add each to ml + while ((t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { + StringBuffer s = new StringBuffer(); + s.append(getToken(0).image); + while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF) + && (t.kind != SEMICOLON)) { + s.append(t.image); + getNextToken(); + t = getToken(1); + } + if (t.kind == COMMA) { + // skip the comma and the token before it that is still the + // active token + getNextToken(); + getNextToken(); + t = getToken(1); + } + String str = s.toString().trim(); + if (str.length() > 0) { + ml.addItem(str); + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case MICROSOFT_RULE: - microsoftExtension(); - break; - default: - jj_la1[28] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_22: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[29] = jj_gen; - break label_22; + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String medium() throws ParseException { + Token n; + n = jj_consume_token(IDENT); + { + if (true) { + return convertIdent(n.image); + } } - jj_consume_token(S); - } - } catch (ThrowedParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.e.currentToken.next.beginLine, - e.e.currentToken.next.beginColumn-1); - reportError(li, e.e); + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void page() throws ParseException { + boolean start = false; + Token n = null; + String page = null; + String pseudo = null; + try { + jj_consume_token(PAGE_SYM); + label_27: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[35] = jj_gen; + break label_27; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + label_28: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[36] = jj_gen; + break label_28; + } + jj_consume_token(S); + } + break; + default: + jj_la1[37] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + pseudo = pseudo_page(); + break; + default: + jj_la1[38] = jj_gen; + ; + } + if (n != null) { + page = convertIdent(n.image); + } + jj_consume_token(LBRACE); + label_29: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[39] = jj_gen; + break label_29; + } + jj_consume_token(S); + } + start = true; + documentHandler.startPage(page, pseudo); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[40] = jj_gen; + ; + } + label_30: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[41] = jj_gen; + break label_30; + } + jj_consume_token(SEMICOLON); + label_31: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[42] = jj_gen; + break label_31; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[43] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_32: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[44] = jj_gen; + break label_32; + } + jj_consume_token(S); + } + } catch (ParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + skipStatement(); + // reportWarningSkipText(li, skipStatement()); + } else { + skipStatement(); + } + } finally { + if (start) { + documentHandler.endPage(page, pseudo); + } } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); + } - } catch (TokenMgrError e) { - reportWarningSkipText(getLocator(), skipStatement()); - } finally { - if (start) { - documentHandler.endKeyframeSelector(); + final public String pseudo_page() throws ParseException { + Token n; + jj_consume_token(COLON); + n = jj_consume_token(IDENT); + label_33: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[45] = jj_gen; + break label_33; + } + jj_consume_token(S); } + { + if (true) { + return convertIdent(n.image); + } + } + throw new Error("Missing return statement in function"); } - } -/** - * @exception ParseException exception during the parse - */ -/* see http://www.w3.org/TR/css3-mediaqueries/ */ - final public void media() throws ParseException { - boolean start = false; - String ret; - MediaListImpl ml = new MediaListImpl(); - try { - jj_consume_token(MEDIA_SYM); - label_23: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[30] = jj_gen; - break label_23; - } - jj_consume_token(S); - } - mediaStatement(ml); - start = true; documentHandler.startMedia(ml); - jj_consume_token(LBRACE); - label_24: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[31] = jj_gen; - break label_24; - } - jj_consume_token(S); - } - label_25: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + final public void fontFace() throws ParseException { + boolean start = false; + try { + jj_consume_token(FONT_FACE_SYM); + label_34: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[46] = jj_gen; + break label_34; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_35: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[47] = jj_gen; + break label_35; + } + jj_consume_token(S); + } + start = true; + documentHandler.startFontFace(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[48] = jj_gen; + ; + } + label_36: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[49] = jj_gen; + break label_36; + } + jj_consume_token(SEMICOLON); + label_37: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[50] = jj_gen; + break label_37; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[51] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_38: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[52] = jj_gen; + break label_38; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } finally { + if (start) { + documentHandler.endFontFace(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void atRuleDeclaration() throws ParseException { + Token n; + String ret; + n = jj_consume_token(ATKEYWORD); + ret = skipStatement(); + if ((ret != null) && (ret.charAt(0) == '@')) { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); + } + } + + final public void skipUnknownRule() throws ParseException { + Token n; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ATKEYWORD: + n = jj_consume_token(ATKEYWORD); + break; case CDO: - case LBRACE: + n = jj_consume_token(CDO); + break; + case CHARSET_SYM: + n = jj_consume_token(CHARSET_SYM); + break; + case COMMA: + n = jj_consume_token(COMMA); + break; case DASHMATCH: + n = jj_consume_token(DASHMATCH); + break; + case FONT_FACE_SYM: + n = jj_consume_token(FONT_FACE_SYM); + break; + case FUNCTION: + n = jj_consume_token(FUNCTION); + break; + case IMPORTANT_SYM: + n = jj_consume_token(IMPORTANT_SYM); + break; + case IMPORT_SYM: + n = jj_consume_token(IMPORT_SYM); + break; case INCLUDES: - case PLUS: - case MINUS: - case COMMA: - case SEMICOLON: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: + n = jj_consume_token(INCLUDES); + break; + case LBRACE: + n = jj_consume_token(LBRACE); + break; + case MEDIA_SYM: + n = jj_consume_token(MEDIA_SYM); + break; case NONASCII: - case DEBUG_SYM: - case WARN_SYM: - case STRING: - case IDENT: + n = jj_consume_token(NONASCII); + break; case NUMBER: - case URL: - case PERCENTAGE: - case HASH: - case IMPORT_SYM: - case MEDIA_SYM: - case CHARSET_SYM: + n = jj_consume_token(NUMBER); + break; case PAGE_SYM: - case FONT_FACE_SYM: - case ATKEYWORD: - case IMPORTANT_SYM: + n = jj_consume_token(PAGE_SYM); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + break; + case STRING: + n = jj_consume_token(STRING); + break; case UNICODERANGE: - case FUNCTION: + n = jj_consume_token(UNICODERANGE); + break; + case URL: + n = jj_consume_token(URL); + break; + case SEMICOLON: + n = jj_consume_token(SEMICOLON); + break; + case MINUS: + n = jj_consume_token(MINUS); + break; case UNKNOWN: - ; - break; + n = jj_consume_token(UNKNOWN); + break; default: - jj_la1[32] = jj_gen; - break label_25; + jj_la1[53] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; + String ret; + Locator loc = getLocator(); + ret = skipStatement(); + if ((ret != null) && (n.image.charAt(0) == '@')) { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public char combinator() throws ParseException { + char connector = ' '; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case PLUS: case PRECEDES: case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case CDO: - case LBRACE: - case DASHMATCH: - case INCLUDES: - case MINUS: - case COMMA: - case SEMICOLON: - case NONASCII: - case STRING: - case NUMBER: - case URL: - case PERCENTAGE: - case IMPORT_SYM: - case MEDIA_SYM: - case CHARSET_SYM: - case PAGE_SYM: - case FONT_FACE_SYM: - case ATKEYWORD: - case IMPORTANT_SYM: - case UNICODERANGE: - case FUNCTION: - case UNKNOWN: - skipUnknownRule(); - break; - default: - jj_la1[33] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_26: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + connector = combinatorChar(); + break; case S: - ; - break; + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + connector = combinatorChar(); + break; + default: + jj_la1[54] = jj_gen; + ; + } + break; default: - jj_la1[34] = jj_gen; - break label_26; - } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } finally { - if (start) { - documentHandler.endMedia(ml); - } - } - } - - final public void mediaStatement(MediaListImpl ml) throws ParseException { - Token t; - t = getToken(1); - // loop over comma separated parts, add each to ml - while ((t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); - while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { - s.append(t.image); - getNextToken(); - t = getToken(1); - } - if (t.kind == COMMA) { - // skip the comma and the token before it that is still the active token - getNextToken(); - getNextToken(); - t = getToken(1); + jj_la1[55] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - String str = s.toString().trim(); - if (str.length() > 0) { - ml.addItem(str); -<<<<<<< HEAD + { + if (true) { + return connector; + } } - } - } - -/** - * @exception ParseException exception during the parse - */ - final public String medium() throws ParseException { - Token n; - n = jj_consume_token(IDENT); - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public void page() throws ParseException { - boolean start = false; - Token n = null; - String page = null; - String pseudo = null; - try { - jj_consume_token(PAGE_SYM); - label_27: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + /** to refactor combinator and reuse in selector(). */ + final public char combinatorChar() throws ParseException { + Token t; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + t = jj_consume_token(PLUS); + break; + case PRECEDES: + t = jj_consume_token(PRECEDES); + break; + case SIBLING: + t = jj_consume_token(SIBLING); + break; default: - jj_la1[35] = jj_gen; - break label_27; + jj_la1[56] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - label_28: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[36] = jj_gen; - break label_28; - } - jj_consume_token(S); - } - break; - default: - jj_la1[37] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - pseudo = pseudo_page(); - break; - default: - jj_la1[38] = jj_gen; - ; - } - if (n != null) { - page = convertIdent(n.image); - } - jj_consume_token(LBRACE); - label_29: -======= - } - } - } - -/** - * @exception ParseException exception during the parse - */ - final public String medium() throws ParseException { - Token n; - n = jj_consume_token(IDENT); - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } + label_39: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[57] = jj_gen; + break label_39; + } + jj_consume_token(S); + } + { + if (true) { + return t.image.charAt(0); + } + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public void page() throws ParseException { - boolean start = false; - Token n = null; - String page = null; - String pseudo = null; - try { - jj_consume_token(PAGE_SYM); - label_27: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[35] = jj_gen; - break label_27; + final public void microsoftExtension() throws ParseException { + Token n; + String name = ""; + String value = ""; + // This is not really taking the syntax of filter rules into account + n = jj_consume_token(MICROSOFT_RULE); + label_40: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[58] = jj_gen; + break label_40; + } + jj_consume_token(S); } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - label_28: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[36] = jj_gen; - break label_28; - } - jj_consume_token(S); - } - break; - default: - jj_la1[37] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - pseudo = pseudo_page(); - break; - default: - jj_la1[38] = jj_gen; - ; - } - if (n != null) { - page = convertIdent(n.image); - } - jj_consume_token(LBRACE); - label_29: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[39] = jj_gen; - break label_29; - } - jj_consume_token(S); - } - start = true; - documentHandler.startPage(page, pseudo); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[40] = jj_gen; - ; - } - label_30: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[41] = jj_gen; - break label_30; + name = n.image; + jj_consume_token(COLON); + label_41: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + value += n.image; + break; + case NUMBER: + n = jj_consume_token(NUMBER); + value += n.image; + break; + case STRING: + n = jj_consume_token(STRING); + value += n.image; + break; + case COMMA: + n = jj_consume_token(COMMA); + value += n.image; + break; + case INTERPOLATION: + n = jj_consume_token(INTERPOLATION); + value += n.image; + break; + case COLON: + n = jj_consume_token(COLON); + value += n.image; + break; + case FUNCTION: + n = jj_consume_token(FUNCTION); + value += n.image; + break; + case RPARAN: + n = jj_consume_token(RPARAN); + value += n.image; + break; + case EQ: + n = jj_consume_token(EQ); + value += n.image; + break; + case DOT: + n = jj_consume_token(DOT); + value += n.image; + break; + case S: + n = jj_consume_token(S); + if (value.lastIndexOf(' ') != value.length() - 1) { + value += n.image; + } + break; + default: + jj_la1[59] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case COMMA: + case DOT: + case RPARAN: + case COLON: + case INTERPOLATION: + case STRING: + case IDENT: + case NUMBER: + case FUNCTION: + ; + break; + default: + jj_la1[60] = jj_gen; + break label_41; + } } jj_consume_token(SEMICOLON); - label_31: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[42] = jj_gen; - break label_31; - } - jj_consume_token(S); + label_42: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[61] = jj_gen; + break label_42; + } + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[43] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - label_32: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[44] = jj_gen; - break label_32; - } - jj_consume_token(S); - } - } catch (ParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - skipStatement(); - // reportWarningSkipText(li, skipStatement()); - } else { - skipStatement(); - } - } finally { - if (start) { - documentHandler.endPage(page, pseudo); - } - } - } - - final public String pseudo_page() throws ParseException { - Token n; - jj_consume_token(COLON); - n = jj_consume_token(IDENT); - label_33: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[45] = jj_gen; - break label_33; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } - - final public void fontFace() throws ParseException { - boolean start = false; - try { - jj_consume_token(FONT_FACE_SYM); - label_34: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[46] = jj_gen; - break label_34; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_35: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[47] = jj_gen; - break label_35; - } - jj_consume_token(S); - } - start = true; documentHandler.startFontFace(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[48] = jj_gen; - ; - } - label_36: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[49] = jj_gen; - break label_36; + documentHandler.microsoftDirective(name, value); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String property() throws ParseException { + Token t; + String s = ""; + label_43: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[62] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[63] = jj_gen; + break label_43; + } } - jj_consume_token(SEMICOLON); - label_37: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[50] = jj_gen; - break label_37; - } - jj_consume_token(S); + label_44: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[64] = jj_gen; + break label_44; + } + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[51] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - label_38: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[52] = jj_gen; - break label_38; + { + if (true) { + return s; + } } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } finally { - if (start) { - documentHandler.endFontFace(); - } + throw new Error("Missing return statement in function"); } - } -/** - * @exception ParseException exception during the parse - */ - final public void atRuleDeclaration() throws ParseException { - Token n; - String ret; - n = jj_consume_token(ATKEYWORD); - ret=skipStatement(); - if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(getLocator(), ret); + final public String variableName() throws ParseException { + Token n; + n = jj_consume_token(VARIABLE); + label_45: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[65] = jj_gen; + break label_45; + } + jj_consume_token(S); + } + { + if (true) { + return convertIdent(n.image.substring(1)); + } } - } - - final public void skipUnknownRule() throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ATKEYWORD: - n = jj_consume_token(ATKEYWORD); - break; - case CDO: - n = jj_consume_token(CDO); - break; - case CHARSET_SYM: - n = jj_consume_token(CHARSET_SYM); - break; - case COMMA: - n = jj_consume_token(COMMA); - break; - case DASHMATCH: - n = jj_consume_token(DASHMATCH); - break; - case FONT_FACE_SYM: - n = jj_consume_token(FONT_FACE_SYM); - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - break; - case IMPORTANT_SYM: - n = jj_consume_token(IMPORTANT_SYM); - break; - case IMPORT_SYM: - n = jj_consume_token(IMPORT_SYM); - break; - case INCLUDES: - n = jj_consume_token(INCLUDES); - break; - case LBRACE: - n = jj_consume_token(LBRACE); - break; - case MEDIA_SYM: - n = jj_consume_token(MEDIA_SYM); - break; - case NONASCII: - n = jj_consume_token(NONASCII); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case PAGE_SYM: - n = jj_consume_token(PAGE_SYM); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - break; - case STRING: - n = jj_consume_token(STRING); - break; - case UNICODERANGE: - n = jj_consume_token(UNICODERANGE); - break; - case URL: - n = jj_consume_token(URL); - break; - case SEMICOLON: - n = jj_consume_token(SEMICOLON); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case UNKNOWN: - n = jj_consume_token(UNKNOWN); - break; - default: - jj_la1[53] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - String ret; - Locator loc = getLocator(); - ret=skipStatement(); - if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(loc, ret); - } - } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public char combinator() throws ParseException { -char connector = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - case S: - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - default: - jj_la1[54] = jj_gen; - ; - } - break; - default: - jj_la1[55] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return connector;} - throw new Error("Missing return statement in function"); - } - -/**to refactor combinator and reuse in selector().*/ - final public char combinatorChar() throws ParseException { - Token t; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - t = jj_consume_token(PLUS); - break; - case PRECEDES: - t = jj_consume_token(PRECEDES); - break; - case SIBLING: - t = jj_consume_token(SIBLING); - break; - default: - jj_la1[56] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_39: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[57] = jj_gen; - break label_39; - } - jj_consume_token(S); - } - {if (true) return t.image.charAt(0);} - throw new Error("Missing return statement in function"); - } - - final public void microsoftExtension() throws ParseException { - Token n; - String name = ""; - String value = ""; - // This is not really taking the syntax of filter rules into account - n = jj_consume_token(MICROSOFT_RULE); - label_40: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[58] = jj_gen; - break label_40; - } - jj_consume_token(S); - } - name = n.image; - jj_consume_token(COLON); - label_41: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - value += n.image; - break; - case NUMBER: - n = jj_consume_token(NUMBER); - value += n.image; - break; - case STRING: - n = jj_consume_token(STRING); - value += n.image; - break; - case COMMA: - n = jj_consume_token(COMMA); - value += n.image; - break; - case INTERPOLATION: - n = jj_consume_token(INTERPOLATION); - value += n.image; - break; - case COLON: - n = jj_consume_token(COLON); - value += n.image; - break; - case FUNCTION: + final public String functionName() throws ParseException { + Token n; n = jj_consume_token(FUNCTION); - value += n.image; - break; - case RPARAN: - n = jj_consume_token(RPARAN); - value += n.image; - break; - case EQ: - n = jj_consume_token(EQ); - value += n.image; - break; - case DOT: - n = jj_consume_token(DOT); - value += n.image; - break; - case S: - n = jj_consume_token(S); - if(value.lastIndexOf(' ') != value.length()-1) - { value += n.image; } - break; - default: - jj_la1[59] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case COMMA: - case DOT: - case RPARAN: - case COLON: - case INTERPOLATION: - case STRING: - case IDENT: - case NUMBER: - case FUNCTION: - ; - break; - default: - jj_la1[60] = jj_gen; - break label_41; - } - } - jj_consume_token(SEMICOLON); - label_42: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[61] = jj_gen; - break label_42; - } - jj_consume_token(S); - } - documentHandler.microsoftDirective(name, value); - } + label_46: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[66] = jj_gen; + break label_46; + } + jj_consume_token(S); + } + { + if (true) { + return convertIdent(n.image.substring(0, n.image.length() - 1)); + } + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String property() throws ParseException { - Token t;String s = ""; - label_43: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[62] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[63] = jj_gen; - break label_43; - } - } - label_44: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[64] = jj_gen; - break label_44; - } - jj_consume_token(S); - } - {if (true) return s;} - throw new Error("Missing return statement in function"); - } - - final public String variableName() throws ParseException { - Token n; - n = jj_consume_token(VARIABLE); - label_45: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[65] = jj_gen; - break label_45; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(1));} - throw new Error("Missing return statement in function"); - } - - final public String functionName() throws ParseException { - Token n; - n = jj_consume_token(FUNCTION); - label_46: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[66] = jj_gen; - break label_46; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(0, n.image.length()-1));} - throw new Error("Missing return statement in function"); - } + /** + * @exception ParseException + * exception during the parse + */ + final public void styleRule() throws ParseException { + boolean start = false; + ArrayList<String> l = null; + Token save; + Locator loc; + try { + l = selectorList(); + save = token; + jj_consume_token(LBRACE); + label_47: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[67] = jj_gen; + break label_47; + } + jj_consume_token(S); + } + start = true; + documentHandler.startSelector(l); + label_48: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case MICROSOFT_RULE: + case IDENT: + case VARIABLE: + case HASH: + case IMPORT_SYM: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[68] = jj_gen; + break label_48; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + case MICROSOFT_RULE: + microsoftExtension(); + break; + case IMPORT_SYM: + importDeclaration(); + break; + default: + jj_la1[69] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_49: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[70] = jj_gen; + break label_49; + } + jj_consume_token(S); + } + } catch (ThrowedParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.e.currentToken.next.beginLine, + e.e.currentToken.next.beginColumn - 1); + reportError(li, e.e); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (TokenMgrError e) { + reportWarningSkipText(getLocator(), skipStatement()); + } finally { + if (start) { + documentHandler.endSelector(); + } + } + } -/** - * @exception ParseException exception during the parse - */ - final public void styleRule() throws ParseException { - boolean start = false; - ArrayList<String> l = null; - Token save; - Locator loc; - try { - l = selectorList(); - save = token; - jj_consume_token(LBRACE); - label_47: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[67] = jj_gen; - break label_47; - } - jj_consume_token(S); - } - start = true; - documentHandler.startSelector(l); - label_48: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case MICROSOFT_RULE: - case IDENT: - case VARIABLE: - case HASH: - case IMPORT_SYM: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[68] = jj_gen; - break label_48; + final public ArrayList<String> selectorList() throws ParseException { + ArrayList<String> selectors = new ArrayList<String>(); + String selector; + selector = selector(); + label_50: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[71] = jj_gen; + break label_50; + } + jj_consume_token(COMMA); + label_51: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[72] = jj_gen; + break label_51; + } + jj_consume_token(S); + } + selectors.add(selector); + selector = selector(); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case MICROSOFT_RULE: - microsoftExtension(); - break; - case IMPORT_SYM: - importDeclaration(); - break; - default: - jj_la1[69] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_49: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[70] = jj_gen; - break label_49; - } - jj_consume_token(S); - } - } catch (ThrowedParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.e.currentToken.next.beginLine, - e.e.currentToken.next.beginColumn-1); - reportError(li, e.e); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } catch (TokenMgrError e) { - reportWarningSkipText(getLocator(), skipStatement()); - } finally { - if (start) { - documentHandler.endSelector(); - } - } - } - - final public ArrayList<String> selectorList() throws ParseException { - ArrayList<String> selectors = new ArrayList<String>(); - String selector; - selector = selector(); - label_50: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[71] = jj_gen; - break label_50; - } - jj_consume_token(COMMA); - label_51: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[72] = jj_gen; - break label_51; + selectors.add(selector); + { + if (true) { + return selectors; + } } - jj_consume_token(S); - } - selectors.add(selector); - selector = selector(); + throw new Error("Missing return statement in function"); } - selectors.add(selector); - {if (true) return selectors;} - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public String selector() throws ParseException { - String selector = null; - char comb; - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - selector = simple_selector(null, ' '); - break; - case PLUS: - case PRECEDES: - case SIBLING: - comb = combinatorChar(); - selector = simple_selector(selector, comb); - break; - default: - jj_la1[73] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_52: - while (true) { - if (jj_2_2(2)) { - ; - } else { - break label_52; - } - comb = combinator(); - selector = simple_selector(selector, comb); - } - label_53: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[74] = jj_gen; - break label_53; - } - jj_consume_token(S); - } - {if (true) return selector;} - } catch (ParseException e) { - /* - Token t = getToken(1); - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - s.append(t.image); - getNextToken(); - t = getToken(1); - } - reportWarningSkipText(getLocator(), s.toString()); + /** + * @exception ParseException + * exception during the parse */ - Token t = getToken(1); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - getNextToken(); - t = getToken(1); - } + final public String selector() throws ParseException { + String selector = null; + char comb; + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + selector = simple_selector(null, ' '); + break; + case PLUS: + case PRECEDES: + case SIBLING: + comb = combinatorChar(); + selector = simple_selector(selector, comb); + break; + default: + jj_la1[73] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_52: while (true) { + if (jj_2_2(2)) { + ; + } else { + break label_52; + } + comb = combinator(); + selector = simple_selector(selector, comb); + } + label_53: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[74] = jj_gen; + break label_53; + } + jj_consume_token(S); + } + { + if (true) { + return selector; + } + } + } catch (ParseException e) { + /* + * Token t = getToken(1); StringBuffer s = new StringBuffer(); + * s.append(getToken(0).image); while ((t.kind != COMMA) && (t.kind + * != SEMICOLON) && (t.kind != LBRACE) && (t.kind != EOF)) { + * s.append(t.image); getNextToken(); t = getToken(1); } + * reportWarningSkipText(getLocator(), s.toString()); + */ + Token t = getToken(1); + while ((t.kind != COMMA) && (t.kind != SEMICOLON) + && (t.kind != LBRACE) && (t.kind != EOF)) { + getNextToken(); + t = getToken(1); + } - {if (true) throw new ThrowedParseException(e);} + { + if (true) { + throw new ThrowedParseException(e); + } + } + } + throw new Error("Missing return statement in function"); } - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public String simple_selector(String selector, char comb) throws ParseException { - String simple_current = null; - String cond = null; - - pseudoElt = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ANY: - case PARENT: - case INTERPOLATION: - case IDENT: - simple_current = element_name(); - label_54: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + /** + * @exception ParseException + * exception during the parse + */ + final public String simple_selector(String selector, char comb) + throws ParseException { + String simple_current = null; + String cond = null; + + pseudoElt = null; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ANY: + case PARENT: + case INTERPOLATION: + case IDENT: + simple_current = element_name(); + label_54: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[75] = jj_gen; + break label_54; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[76] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; case LBRACKET: case DOT: case COLON: case HASH: - ; - break; + label_55: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[77] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[78] = jj_gen; + break label_55; + } + } + break; default: - jj_la1[75] = jj_gen; - break label_54; + jj_la1[79] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[76] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case HASH: - cond = hash(cond); - label_55: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - ; - break; - default: - jj_la1[77] = jj_gen; - break label_55; + if (simple_current == null) { + simple_current = ""; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[78] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case DOT: - cond = _class(cond); - label_56: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[79] = jj_gen; - break label_56; + if (cond != null) { + simple_current = simple_current + cond; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[80] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case COLON: - cond = pseudo(cond); - label_57: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[81] = jj_gen; - break label_57; + StringBuilder builder = new StringBuilder(); + switch (comb) { + case ' ': + if (selector != null) { + builder.append(selector).append(" "); + } + break; + case '+': + case '>': + case '~': + if (selector != null) { + builder.append(selector).append(" "); + } + builder.append(comb).append(" "); + break; + default: { + if (true) { + throw new ParseException("invalid state. send a bug report"); + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[82] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case LBRACKET: - cond = attrib(cond); - label_58: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[83] = jj_gen; - break label_58; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[84] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - default: - jj_la1[85] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - if (simple_current == null) { - simple_current = ""; - } - if (cond != null) { - simple_current = simple_current + cond; - } - StringBuilder builder = new StringBuilder(); - switch (comb) { - case ' ': - if(selector!=null){ - builder.append(selector).append(" "); - } - break; - case '+': - case '>': - case '~': - if(selector!=null){ - builder.append(selector).append(" "); - } - builder.append(comb).append(" "); - break; - default: - {if (true) throw new ParseException("invalid state. send a bug report");} - } - builder.append(simple_current); - selector = builder.toString(); + builder.append(simple_current); + selector = builder.toString(); - if (pseudoElt != null) { - selector = selector + pseudoElt; + if (pseudoElt != null) { + selector = selector + pseudoElt; + } + { + if (true) { + return selector; } - {if (true) return selector;} - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public String _class(String pred) throws ParseException { - Token t; -String s = "."; - jj_consume_token(DOT); - label_59: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[86] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[87] = jj_gen; - break label_59; - } - } - if (pred == null) { - {if (true) return s;} - } else { - {if (true) return pred + s;} - } - throw new Error("Missing return statement in function"); - } + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String element_name() throws ParseException { - Token t; String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - label_60: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[88] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + /** + * @exception ParseException + * exception during the parse + */ + final public String _class(String pred) throws ParseException { + Token t; + String s = "."; + jj_consume_token(DOT); + label_56: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[80] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[81] = jj_gen; + break label_56; + } + } + if (pred == null) { + { + if (true) { + return s; + } + } + } else { + { + if (true) { + return pred + s; + } + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String element_name() throws ParseException { + Token t; + String s = ""; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case INTERPOLATION: case IDENT: - ; - break; + label_57: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[82] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[83] = jj_gen; + break label_57; + } + } + { + if (true) { + return s; + } + } + break; + case ANY: + jj_consume_token(ANY); + { + if (true) { + return "*"; + } + } + break; + case PARENT: + jj_consume_token(PARENT); + { + if (true) { + return "&"; + } + } + break; default: - jj_la1[89] = jj_gen; - break label_60; - } - } - {if (true) return s;} - break; - case ANY: - jj_consume_token(ANY); - {if (true) return "*";} - break; - case PARENT: - jj_consume_token(PARENT); - {if (true) return "&";} - break; - default: - jj_la1[90] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + jj_la1[84] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String attrib(String pred) throws ParseException { - int cases = 0; - Token att = null; - Token val = null; - String attValue = null; - jj_consume_token(LBRACKET); - label_61: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[91] = jj_gen; - break label_61; - } - jj_consume_token(S); - } - att = jj_consume_token(IDENT); - label_62: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[92] = jj_gen; - break label_62; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DASHMATCH: - case CARETMATCH: - case DOLLARMATCH: - case STARMATCH: - case INCLUDES: - case EQ: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case EQ: - jj_consume_token(EQ); - cases = 1; - break; - case INCLUDES: - jj_consume_token(INCLUDES); - cases = 2; - break; - case DASHMATCH: - jj_consume_token(DASHMATCH); - cases = 3; - break; - case CARETMATCH: - jj_consume_token(CARETMATCH); - cases = 4; - break; - case DOLLARMATCH: - jj_consume_token(DOLLARMATCH); - cases = 5; - break; - case STARMATCH: - jj_consume_token(STARMATCH); - cases = 6; - break; - default: - jj_la1[93] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_63: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + /** + * @exception ParseException + * exception during the parse + */ + final public String attrib(String pred) throws ParseException { + int cases = 0; + Token att = null; + Token val = null; + String attValue = null; + jj_consume_token(LBRACKET); + label_58: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[85] = jj_gen; + break label_58; + } + jj_consume_token(S); + } + att = jj_consume_token(IDENT); + label_59: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[86] = jj_gen; + break label_59; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DASHMATCH: + case CARETMATCH: + case DOLLARMATCH: + case STARMATCH: + case INCLUDES: + case EQ: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case EQ: + jj_consume_token(EQ); + cases = 1; + break; + case INCLUDES: + jj_consume_token(INCLUDES); + cases = 2; + break; + case DASHMATCH: + jj_consume_token(DASHMATCH); + cases = 3; + break; + case CARETMATCH: + jj_consume_token(CARETMATCH); + cases = 4; + break; + case DOLLARMATCH: + jj_consume_token(DOLLARMATCH); + cases = 5; + break; + case STARMATCH: + jj_consume_token(STARMATCH); + cases = 6; + break; + default: + jj_la1[87] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_60: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[88] = jj_gen; + break label_60; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + val = jj_consume_token(IDENT); + attValue = val.image; + break; + case STRING: + val = jj_consume_token(STRING); + attValue = val.image; + break; + default: + jj_la1[89] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_61: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[90] = jj_gen; + break label_61; + } + jj_consume_token(S); + } + break; default: - jj_la1[94] = jj_gen; - break label_63; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - val = jj_consume_token(IDENT); - attValue = val.image; - break; - case STRING: - val = jj_consume_token(STRING); - attValue = val.image; - break; - default: - jj_la1[95] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_64: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_la1[91] = jj_gen; + ; + } + jj_consume_token(RBRACKET); + String name = convertIdent(att.image); + String c; + switch (cases) { + case 0: + c = name; + break; + case 1: + c = name + "=" + attValue; + break; + case 2: + c = name + "~=" + attValue; + break; + case 3: + c = name + "|=" + attValue; + break; + case 4: + c = name + "^=" + attValue; + break; + case 5: + c = name + "$=" + attValue; + break; + case 6: + c = name + "*=" + attValue; + break; default: - jj_la1[96] = jj_gen; - break label_64; - } - jj_consume_token(S); - } - break; - default: - jj_la1[97] = jj_gen; - ; - } - jj_consume_token(RBRACKET); - String name = convertIdent(att.image); - String c; - switch (cases) { - case 0: - c = name; - break; - case 1: - c = name + "=" + attValue; - break; - case 2: - c = name + "~=" + attValue; - break; - case 3: - c = name + "|=" +attValue; - break; - case 4: - c = name + "^=" +attValue; - break; - case 5: - c = name + "$=" +attValue; - break; - case 6: - c = name + "*=" +attValue; - break; - default: - // never reached. - c = null; - } - c = "[" + c + "]"; - if (pred == null) { - {if (true) return c;} - } else { - {if (true) return pred + c;} - } - throw new Error("Missing return statement in function"); - } + // never reached. + c = null; + } + c = "[" + c + "]"; + if (pred == null) { + { + if (true) { + return c; + } + } + } else { + { + if (true) { + return pred + c; + } + } + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String pseudo(String pred) throws ParseException { - Token n; -Token param; -String d; -boolean isPseudoElement = false; - jj_consume_token(COLON); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - isPseudoElement=true; - break; - default: - jj_la1[98] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); + /** + * @exception ParseException + * exception during the parse + */ + final public String pseudo(String pred) throws ParseException { + Token n; + Token param; + String d; + boolean isPseudoElement = false; + jj_consume_token(COLON); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + isPseudoElement = true; + break; + default: + jj_la1[92] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); String s = ":" + convertIdent(n.image); if (isPseudoElement) { if (pseudoElt != null) { - {if (true) throw new CSSParseException("duplicate pseudo element definition " - + s, getLocator());} + { + if (true) { + throw new CSSParseException( + "duplicate pseudo element definition " + s, + getLocator()); + } + } } else { - pseudoElt = ":"+s; - {if (true) return pred;} + pseudoElt = ":" + s; + { + if (true) { + return pred; + } + } } } else { String c = s; if (pred == null) { - {if (true) return c;} + { + if (true) { + return c; + } + } } else { - {if (true) return pred + c;} + { + if (true) { + return pred + c; + } + } } } - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - label_65: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + break; + case FUNCTION: + n = jj_consume_token(FUNCTION); + label_62: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[93] = jj_gen; + break label_62; + } + jj_consume_token(S); + } + d = skipStatementUntilMatchingRightParan(); + jj_consume_token(RPARAN); + // accept anything between function and a right parenthesis + String f = convertIdent(n.image); + String colons = isPseudoElement ? "::" : ":"; + String pseudofn = colons + f + d + ")"; + if (pred == null) { + { + if (true) { + return pseudofn; + } + } + } else { + { + if (true) { + return pred + pseudofn; + } + } + } + break; default: - jj_la1[99] = jj_gen; - break label_65; - } - jj_consume_token(S); - } - d = skipStatementUntilMatchingRightParan(); - jj_consume_token(RPARAN); - // accept anything between function and a right parenthesis - String f = convertIdent(n.image); - String colons = isPseudoElement ? "::" : ":"; - String pseudofn = colons + f + d + ")"; - if (pred == null) { - {if (true) return pseudofn;} - } else { - {if (true) return pred + pseudofn;} - } - break; - default: - jj_la1[100] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + jj_la1[94] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String hash(String pred) throws ParseException { - Token n; - n = jj_consume_token(HASH); - String d = n.image; - if (pred == null) { - {if (true) return d;} - } else { - {if (true) return pred + d;} - } - throw new Error("Missing return statement in function"); - } - - final public void variable() throws ParseException { + /** + * @exception ParseException + * exception during the parse + */ + final public String hash(String pred) throws ParseException { + Token n; + n = jj_consume_token(HASH); + String d = n.image; + if (pred == null) { + { + if (true) { + return d; + } + } + } else { + { + if (true) { + return pred + d; + } + } + } + throw new Error("Missing return statement in function"); + } + + final public void variable() throws ParseException { String name; LexicalUnitImpl exp = null; boolean guarded = false; String raw; - try { - name = variableName(); - jj_consume_token(COLON); - label_66: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[101] = jj_gen; - break label_66; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GUARDED_SYM: - guarded = guarded(); - break; - default: - jj_la1[102] = jj_gen; - ; - } - label_67: - while (true) { - jj_consume_token(SEMICOLON); - label_68: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[103] = jj_gen; - break label_68; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[104] = jj_gen; - break label_67; - } - } - documentHandler.variable(name, exp, guarded); - } catch (JumpException e) { + try { + name = variableName(); + jj_consume_token(COLON); + label_63: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[95] = jj_gen; + break label_63; + } + jj_consume_token(S); + } + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case GUARDED_SYM: + guarded = guarded(); + break; + default: + jj_la1[96] = jj_gen; + ; + } + label_64: while (true) { + jj_consume_token(SEMICOLON); + label_65: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[97] = jj_gen; + break label_65; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[98] = jj_gen; + break label_64; + } + } + documentHandler.variable(name, exp, guarded); + } catch (JumpException e) { skipAfterExpression(); - } catch (NumberFormatException e) { + } catch (NumberFormatException e) { if (errorHandler != null) { errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); + + e.getMessage(), getLocator(), e)); } reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { + } catch (ParseException e) { if (errorHandler != null) { if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); } else { - reportError(getLocator(), e); - } + reportError(getLocator(), e); + } skipAfterExpression(); } else { skipAfterExpression(); } + } } - } - - final public void controlDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF_SYM: - ifDirective(); - break; - case EACH_SYM: - eachDirective(); - break; - default: - jj_la1[105] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void ifContentStatement() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CONTENT_SYM: - contentDirective(); - break; - case INCLUDE_SYM: - includeDirective(); - break; - case MEDIA_SYM: - media(); - break; - case EXTEND_SYM: - extendDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - styleRuleOrDeclarationOrNestedProperties(); - break; - case KEY_FRAME_SYM: - keyframes(); - break; - default: - jj_la1[106] = jj_gen; - if (jj_2_3(2147483647)) { - variable(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - listModifyDirective(); - break; - case EACH_SYM: + + final public void controlDirective() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case IF_SYM: - controlDirective(); - break; + ifDirective(); + break; + case EACH_SYM: + eachDirective(); + break; default: - jj_la1[107] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } - - final public void ifDirective() throws ParseException { - Token n = null; - String s = null; - String evaluator = ""; - jj_consume_token(IF_SYM); - label_69: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case PLUS: - case MINUS: - case PRECEDES: - case SUCCEEDS: - case DIV: - case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: - case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[108] = jj_gen; - break label_69; - } - } - jj_consume_token(LBRACE); - label_70: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[109] = jj_gen; - break label_70; - } - jj_consume_token(S); - } - documentHandler.startIfElseDirective(); - documentHandler.ifDirective(evaluator); - label_71: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[110] = jj_gen; - break label_71; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_72: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[111] = jj_gen; - break label_72; - } - jj_consume_token(S); - } - label_73: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ELSE_SYM: - ; - break; - default: - jj_la1[112] = jj_gen; - break label_73; - } - elseDirective(); - } - documentHandler.endIfElseDirective(); - } - - final public void elseDirective() throws ParseException { - String evaluator = ""; - Token n = null; - String s = null; - jj_consume_token(ELSE_SYM); - label_74: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[113] = jj_gen; - break label_74; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF: - jj_consume_token(IF); - label_75: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: + jj_la1[99] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void ifContentStatement() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CONTENT_SYM: + contentDirective(); + break; + case INCLUDE_SYM: + includeDirective(); + break; + case MEDIA_SYM: + media(); + break; + case EXTEND_SYM: + extendDirective(); + break; case PLUS: - case MINUS: case PRECEDES: - case SUCCEEDS: - case DIV: + case SIBLING: + case LBRACKET: case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[114] = jj_gen; - break label_75; - } - } - break; - default: - jj_la1[115] = jj_gen; - ; - } - jj_consume_token(LBRACE); - label_76: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[116] = jj_gen; - break label_76; - } - jj_consume_token(S); - } - if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); } - else{ documentHandler.elseDirective(); } - label_77: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[117] = jj_gen; - break label_77; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_78: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[118] = jj_gen; - break label_78; - } - jj_consume_token(S); - } - } - - final public String booleanExpressionToken() throws ParseException { - Token n = null; - String s = null; - if (jj_2_4(2147483647)) { - s = containsDirective(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - break; - case IDENT: - n = jj_consume_token(IDENT); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case LPARAN: - n = jj_consume_token(LPARAN); - break; - case RPARAN: - n = jj_consume_token(RPARAN); - break; - case PLUS: - n = jj_consume_token(PLUS); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case DIV: - n = jj_consume_token(DIV); - break; - case ANY: - n = jj_consume_token(ANY); - break; - case COMPARE: - n = jj_consume_token(COMPARE); - break; - case EQ: - n = jj_consume_token(EQ); - break; - case PRECEDES: - n = jj_consume_token(PRECEDES); - break; - case SUCCEEDS: - n = jj_consume_token(SUCCEEDS); - break; - case OR: - n = jj_consume_token(OR); - break; - case AND: - n = jj_consume_token(AND); - break; - case S: - n = jj_consume_token(S); - break; - case NOT_EQ: - n = jj_consume_token(NOT_EQ); - break; - default: - jj_la1[119] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - if(n!=null){{if (true) return n.image;}} - else{{if (true) return s;}} - throw new Error("Missing return statement in function"); - } - - final public void eachDirective() throws ParseException { - Token var; - ArrayList<String> list = null; - String listVariable = null; - jj_consume_token(EACH_SYM); - label_79: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[120] = jj_gen; - break label_79; - } - jj_consume_token(S); - } - var = jj_consume_token(VARIABLE); - label_80: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[121] = jj_gen; - break label_80; - } - jj_consume_token(S); - } - jj_consume_token(EACH_IN); - label_81: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[122] = jj_gen; - break label_81; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - list = stringList(); - documentHandler.startEachDirective(var.image, list); - break; - case VARIABLE: - listVariable = variableName(); - documentHandler.startEachDirective(var.image, listVariable); - break; - default: - jj_la1[123] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_82: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[124] = jj_gen; - break label_82; - } - jj_consume_token(S); - } - label_83: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[125] = jj_gen; - break label_83; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_84: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[126] = jj_gen; - break label_84; - } - jj_consume_token(S); - } - documentHandler.endEachDirective(); - } - - final public ArrayList<String > stringList() throws ParseException { - ArrayList<String > strings = new ArrayList<String >(); - Token input; - input = jj_consume_token(IDENT); - label_85: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[127] = jj_gen; - break label_85; - } - jj_consume_token(S); - } - strings.add(input.image); - label_86: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[128] = jj_gen; - break label_86; - } - jj_consume_token(COMMA); - label_87: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[129] = jj_gen; - break label_87; - } - jj_consume_token(S); - } - input = jj_consume_token(IDENT); - strings.add(input.image); - label_88: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[39] = jj_gen; - break label_29; - } - jj_consume_token(S); - } - start = true; - documentHandler.startPage(page, pseudo); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[40] = jj_gen; - ; - } - label_30: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; + case HASH: + styleRuleOrDeclarationOrNestedProperties(); + break; + case KEY_FRAME_SYM: + keyframes(); + break; default: - jj_la1[41] = jj_gen; - break label_30; + jj_la1[100] = jj_gen; + if (jj_2_3(2147483647)) { + variable(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + listModifyDirective(); + break; + case EACH_SYM: + case IF_SYM: + controlDirective(); + break; + default: + jj_la1[101] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } } - jj_consume_token(SEMICOLON); - label_31: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + } + + final public void ifDirective() throws ParseException { + Token n = null; + String s = null; + String evaluator = ""; + jj_consume_token(IF_SYM); + label_66: while (true) { + s = booleanExpressionToken(); + evaluator += s; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case PLUS: + case MINUS: + case PRECEDES: + case SUCCEEDS: + case DIV: + case ANY: + case LPARAN: + case RPARAN: + case COMPARE: + case OR: + case AND: + case NOT_EQ: + case IDENT: + case NUMBER: + case VARIABLE: + case CONTAINS: + ; + break; + default: + jj_la1[102] = jj_gen; + break label_66; + } + } + jj_consume_token(LBRACE); + label_67: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[103] = jj_gen; + break label_67; + } + jj_consume_token(S); + } + documentHandler.startIfElseDirective(); + documentHandler.ifDirective(evaluator); + label_68: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[104] = jj_gen; + break label_68; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_69: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[105] = jj_gen; + break label_69; + } + jj_consume_token(S); + } + label_70: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ELSE_SYM: + ; + break; + default: + jj_la1[106] = jj_gen; + break label_70; + } + elseDirective(); + } + documentHandler.endIfElseDirective(); + } + + final public void elseDirective() throws ParseException { + String evaluator = ""; + Token n = null; + String s = null; + jj_consume_token(ELSE_SYM); + label_71: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[107] = jj_gen; + break label_71; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IF: + jj_consume_token(IF); + label_72: while (true) { + s = booleanExpressionToken(); + evaluator += s; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case PLUS: + case MINUS: + case PRECEDES: + case SUCCEEDS: + case DIV: + case ANY: + case LPARAN: + case RPARAN: + case COMPARE: + case OR: + case AND: + case NOT_EQ: + case IDENT: + case NUMBER: + case VARIABLE: + case CONTAINS: + ; + break; + default: + jj_la1[108] = jj_gen; + break label_72; + } + } break; - default: - jj_la1[42] = jj_gen; - break label_31; - } - jj_consume_token(S); + default: + jj_la1[109] = jj_gen; + ; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: + jj_consume_token(LBRACE); + label_73: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[110] = jj_gen; + break label_73; + } + jj_consume_token(S); + } + if (!evaluator.trim().equals("")) { + documentHandler.ifDirective(evaluator); + } else { + documentHandler.elseDirective(); + } + label_74: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[111] = jj_gen; + break label_74; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_75: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[112] = jj_gen; + break label_75; + } + jj_consume_token(S); + } + } + + final public String booleanExpressionToken() throws ParseException { + Token n = null; + String s = null; + if (jj_2_4(2147483647)) { + s = containsDirective(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + n = jj_consume_token(VARIABLE); + break; + case IDENT: + n = jj_consume_token(IDENT); + break; + case NUMBER: + n = jj_consume_token(NUMBER); + break; + case LPARAN: + n = jj_consume_token(LPARAN); + break; + case RPARAN: + n = jj_consume_token(RPARAN); + break; + case PLUS: + n = jj_consume_token(PLUS); + break; + case MINUS: + n = jj_consume_token(MINUS); + break; + case DIV: + n = jj_consume_token(DIV); + break; + case ANY: + n = jj_consume_token(ANY); + break; + case COMPARE: + n = jj_consume_token(COMPARE); + break; + case EQ: + n = jj_consume_token(EQ); + break; + case PRECEDES: + n = jj_consume_token(PRECEDES); + break; + case SUCCEEDS: + n = jj_consume_token(SUCCEEDS); + break; + case OR: + n = jj_consume_token(OR); + break; + case AND: + n = jj_consume_token(AND); + break; + case S: + n = jj_consume_token(S); + break; + case NOT_EQ: + n = jj_consume_token(NOT_EQ); + break; + default: + jj_la1[113] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + if (n != null) { + { + if (true) { + return n.image; + } + } + } else { + { + if (true) { + return s; + } + } + } + throw new Error("Missing return statement in function"); + } + + final public void eachDirective() throws ParseException { + Token var; + ArrayList<String> list = null; + String listVariable = null; + jj_consume_token(EACH_SYM); + label_76: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[114] = jj_gen; + break label_76; + } + jj_consume_token(S); + } + var = jj_consume_token(VARIABLE); + label_77: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[115] = jj_gen; + break label_77; + } + jj_consume_token(S); + } + jj_consume_token(EACH_IN); + label_78: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[116] = jj_gen; + break label_78; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case IDENT: - declaration(); - break; - default: - jj_la1[43] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - label_32: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[44] = jj_gen; - break label_32; - } - jj_consume_token(S); - } - } catch (ParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - skipStatement(); - // reportWarningSkipText(li, skipStatement()); - } else { - skipStatement(); - } - } finally { - if (start) { - documentHandler.endPage(page, pseudo); - } - } - } - - final public String pseudo_page() throws ParseException { - Token n; - jj_consume_token(COLON); - n = jj_consume_token(IDENT); - label_33: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[45] = jj_gen; - break label_33; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } - - final public void fontFace() throws ParseException { - boolean start = false; - try { - jj_consume_token(FONT_FACE_SYM); - label_34: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[46] = jj_gen; - break label_34; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_35: -======= - jj_la1[130] = jj_gen; - break label_88; - } - jj_consume_token(S); - } - } - {if (true) return strings;} - throw new Error("Missing return statement in function"); - } - - final public void mixinDirective() throws ParseException { - String name; - ArrayList<VariableNode> args = null; - String body; - jj_consume_token(MIXIN_SYM); - label_89: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[131] = jj_gen; - break label_89; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case FUNCTION: - name = functionName(); - args = arglist(); - jj_consume_token(RPARAN); - label_90: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[132] = jj_gen; - break label_90; - } - jj_consume_token(S); - } - break; - default: - jj_la1[133] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_91: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[134] = jj_gen; - break label_91; - } - jj_consume_token(S); - } - documentHandler.startMixinDirective(name, args); - label_92: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case PAGE_SYM: - case FONT_FACE_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[135] = jj_gen; - break label_92; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - case PAGE_SYM: - page(); - break; - default: - jj_la1[136] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_93: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[137] = jj_gen; - break label_93; - } - jj_consume_token(S); - } - documentHandler.endMixinDirective(name, args); - } - - final public ArrayList<VariableNode> arglist() throws ParseException { - ArrayList<VariableNode> args = new ArrayList<VariableNode>(); - VariableNode arg; - boolean hasNonOptionalArgument = false; - arg = mixinArg(); - label_94: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[138] = jj_gen; - break label_94; - } - jj_consume_token(COMMA); - label_95: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + list = stringList(); + documentHandler.startEachDirective(var.image, list); + break; + case VARIABLE: + listVariable = variableName(); + documentHandler.startEachDirective(var.image, listVariable); + break; default: - jj_la1[139] = jj_gen; - break label_95; + jj_la1[117] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + jj_consume_token(LBRACE); + label_79: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[118] = jj_gen; + break label_79; + } + jj_consume_token(S); + } + label_80: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[119] = jj_gen; + break label_80; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_81: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[120] = jj_gen; + break label_81; + } + jj_consume_token(S); } - jj_consume_token(S); - } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - arg = mixinArg(); + documentHandler.endEachDirective(); } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - - boolean checkMixinForNonOptionalArguments(VariableNode arg, boolean hasNonOptionalArguments) throws ParseException { - boolean currentArgHasArguments = arg.getExpr() != null && arg.getExpr().getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE && arg.getExpr().getNextLexicalUnit() != null; - if(currentArgHasArguments) - { - if(hasNonOptionalArguments) - { - throw new ParseException("Sass Error: Required argument $"+ arg.getName() +" must come before any optional arguments."); + final public ArrayList<String> stringList() throws ParseException { + ArrayList<String> strings = new ArrayList<String>(); + Token input; + input = jj_consume_token(IDENT); + label_82: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[121] = jj_gen; + break label_82; + } + jj_consume_token(S); + } + strings.add(input.image); + label_83: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[122] = jj_gen; + break label_83; + } + jj_consume_token(COMMA); + label_84: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[123] = jj_gen; + break label_84; } - return hasNonOptionalArguments; - }else + jj_consume_token(S); + } + input = jj_consume_token(IDENT); + strings.add(input.image); + label_85: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[124] = jj_gen; + break label_85; + } + jj_consume_token(S); + } + } { - return true; - } - } - - final public VariableNode mixinArg() throws ParseException { - String name; - Token variable = null; - LexicalUnitImpl first = null; - LexicalUnitImpl prev = null; - LexicalUnitImpl next = null; - name = variableName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - case VARIABLE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_96: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[140] = jj_gen; - break label_96; - } - jj_consume_token(S); + if (true) { + return strings; + } } - first = nonVariableTerm(null); - prev = first; - label_97: - while (true) { - if (jj_2_5(3)) { - ; - } else { - break label_97; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_98: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: + throw new Error("Missing return statement in function"); + } + + final public void mixinDirective() throws ParseException { + String name; + ArrayList<VariableNode> args = null; + String body; + jj_consume_token(MIXIN_SYM); + label_86: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: ; break; - default: - jj_la1[141] = jj_gen; - break label_98; - } - jj_consume_token(S); + default: + jj_la1[125] = jj_gen; + break label_86; } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + name = property(); break; - default: - jj_la1[142] = jj_gen; - ; - } - prev = nonVariableTerm(prev); - } - break; - case VARIABLE: - variable = jj_consume_token(VARIABLE); - first = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, variable.image); - break; - default: - jj_la1[143] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[144] = jj_gen; - ; - } - VariableNode arg = new VariableNode(name, first, false); - {if (true) return arg;} - throw new Error("Missing return statement in function"); - } - - final public ArrayList<LexicalUnitImpl> argValuelist() throws ParseException { - ArrayList<LexicalUnitImpl> args = new ArrayList<LexicalUnitImpl>(); - LexicalUnitImpl first = null; - LexicalUnitImpl next = null; - LexicalUnitImpl prev = null; - first = term(null); - args.add(first); prev = first; - label_99: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case COLON: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - ; - break; - default: - jj_la1[145] = jj_gen; - break label_99; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_100: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + case FUNCTION: + name = functionName(); + args = arglist(); + jj_consume_token(RPARAN); + label_87: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[126] = jj_gen; + break label_87; + } + jj_consume_token(S); + } break; - default: - jj_la1[146] = jj_gen; - break label_100; - } - jj_consume_token(S); - } - break; - default: - jj_la1[147] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - label_101: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[148] = jj_gen; - break label_101; - } - jj_consume_token(COMMA); - label_102: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[47] = jj_gen; - break label_35; - } - jj_consume_token(S); - } - start = true; documentHandler.startFontFace(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[48] = jj_gen; - ; - } - label_36: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; default: - jj_la1[49] = jj_gen; - break label_36; + jj_la1[127] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - jj_consume_token(SEMICOLON); - label_37: -======= - jj_la1[149] = jj_gen; - break label_102; - } - jj_consume_token(S); - } - first = term(null); - args.add(first); prev = first; - label_103: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: + jj_consume_token(LBRACE); + label_88: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[128] = jj_gen; + break label_88; + } + jj_consume_token(S); + } + documentHandler.startMixinDirective(name, args); + label_89: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[129] = jj_gen; + break label_89; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + case PAGE_SYM: + page(); + break; + default: + jj_la1[130] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_90: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[131] = jj_gen; + break label_90; + } + jj_consume_token(S); + } + documentHandler.endMixinDirective(name, args); + } + + final public ArrayList<VariableNode> arglist() throws ParseException { + ArrayList<VariableNode> args = new ArrayList<VariableNode>(); + VariableNode arg; + boolean hasNonOptionalArgument = false; + arg = mixinArg(); + label_91: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[132] = jj_gen; + break label_91; + } + jj_consume_token(COMMA); + label_92: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[133] = jj_gen; + break label_92; + } + jj_consume_token(S); + } + hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, + hasNonOptionalArgument); + args.add(arg); + arg = mixinArg(); + } + hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, + hasNonOptionalArgument); + args.add(arg); + { + if (true) { + return args; + } + } + throw new Error("Missing return statement in function"); + } + + boolean checkMixinForNonOptionalArguments(VariableNode arg, + boolean hasNonOptionalArguments) throws ParseException { + boolean currentArgHasArguments = arg.getExpr() != null + && arg.getExpr().getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE + && arg.getExpr().getNextLexicalUnit() != null; + + if (currentArgHasArguments) { + if (hasNonOptionalArguments) { + throw new ParseException("Sass Error: Required argument $" + + arg.getName() + + " must come before any optional arguments."); + } + return hasNonOptionalArguments; + } else { + return true; + } + } + + final public VariableNode mixinArg() throws ParseException { + String name; + Token variable = null; + LexicalUnitImpl first = null; + LexicalUnitImpl prev = null; + LexicalUnitImpl next = null; + name = variableName(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case COLON: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - ; - break; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_93: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[134] = jj_gen; + break label_93; + } + jj_consume_token(S); + } + first = nonVariableTerm(null); + prev = first; + label_94: while (true) { + if (jj_2_5(3)) { + ; + } else { + break label_94; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_95: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[135] = jj_gen; + break label_95; + } + jj_consume_token(S); + } + break; + default: + jj_la1[136] = jj_gen; + ; + } + prev = nonVariableTerm(prev); + } + break; + case VARIABLE: + variable = jj_consume_token(VARIABLE); + first = LexicalUnitImpl.createVariable(token.beginLine, + token.beginColumn, prev, variable.image); + break; + default: + jj_la1[137] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; default: - jj_la1[150] = jj_gen; - break label_103; + jj_la1[138] = jj_gen; + ; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_104: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + VariableNode arg = new VariableNode(name, first, false); + { + if (true) { + return arg; + } + } + throw new Error("Missing return statement in function"); + } + + final public ArrayList<LexicalUnitImpl> argValuelist() + throws ParseException { + ArrayList<LexicalUnitImpl> args = new ArrayList<LexicalUnitImpl>(); + LexicalUnitImpl first = null; + LexicalUnitImpl next = null; + LexicalUnitImpl prev = null; + first = term(null); + args.add(first); + prev = first; + label_96: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case COLON: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + ; + break; + default: + jj_la1[139] = jj_gen; + break label_96; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_97: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[140] = jj_gen; + break label_97; + } + jj_consume_token(S); + } + break; + default: + jj_la1[141] = jj_gen; + ; + } + next = term(prev); + prev.setNextLexicalUnit(next); + prev = next; + } + label_98: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[142] = jj_gen; + break label_98; + } + jj_consume_token(COMMA); + label_99: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[143] = jj_gen; + break label_99; + } + jj_consume_token(S); + } + first = term(null); + args.add(first); + prev = first; + label_100: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case COLON: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + ; + break; + default: + jj_la1[144] = jj_gen; + break label_100; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_101: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[145] = jj_gen; + break label_101; + } + jj_consume_token(S); + } + break; + default: + jj_la1[146] = jj_gen; + ; + } + next = term(prev); + prev.setNextLexicalUnit(next); + prev = next; + } + } + { + if (true) { + return args; + } + } + throw new Error("Missing return statement in function"); + } + + final public void includeDirective() throws ParseException { + String name; + ArrayList<LexicalUnitImpl> args = null; + jj_consume_token(INCLUDE_SYM); + label_102: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case S: - ; - break; + ; + break; default: - jj_la1[151] = jj_gen; - break label_104; + jj_la1[147] = jj_gen; + break label_102; } jj_consume_token(S); - } - break; - default: - jj_la1[152] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - } - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - - final public void includeDirective() throws ParseException { - String name; - ArrayList<LexicalUnitImpl> args=null; - jj_consume_token(INCLUDE_SYM); - label_105: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[153] = jj_gen; - break label_105; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case VARIABLE: - name = variableName(); - name = "$"+name; - break; - case FUNCTION: - name = functionName(); - args = argValuelist(); - jj_consume_token(RPARAN); - break; - default: - jj_la1[154] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_106: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[155] = jj_gen; - break label_106; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - label_107: - while (true) { - jj_consume_token(SEMICOLON); - label_108: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[50] = jj_gen; - break label_37; -======= - jj_la1[156] = jj_gen; - break label_108; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { -<<<<<<< HEAD + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case INTERPOLATION: case IDENT: - declaration(); - break; + name = property(); + break; + case VARIABLE: + name = variableName(); + name = "$" + name; + break; + case FUNCTION: + name = functionName(); + args = argValuelist(); + jj_consume_token(RPARAN); + label_103: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[148] = jj_gen; + break label_103; + } + jj_consume_token(S); + } + break; default: - jj_la1[51] = jj_gen; - ; + jj_la1[149] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - } - jj_consume_token(RBRACE); - label_38: -======= + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case SEMICOLON: - ; - break; - default: - jj_la1[157] = jj_gen; - break label_107; - } - } + label_104: while (true) { + jj_consume_token(SEMICOLON); + label_105: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[150] = jj_gen; + break label_105; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[151] = jj_gen; + break label_104; + } + } documentHandler.includeDirective(name, args); - break; - case LBRACE: - jj_consume_token(LBRACE); - label_109: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[158] = jj_gen; - break label_109; - } - jj_consume_token(S); - } - documentHandler.startIncludeContentBlock(name); - label_110: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - ; - break; - default: - jj_la1[159] = jj_gen; - break label_110; - } - styleRuleOrDeclarationOrNestedProperties(); - } - jj_consume_token(RBRACE); - label_111: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[52] = jj_gen; - break label_38; - } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } finally { - if (start) { - documentHandler.endFontFace(); - } -======= - jj_la1[160] = jj_gen; - break label_111; - } - jj_consume_token(S); - } - documentHandler.endIncludeContentBlock(); - break; - default: - jj_la1[161] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public String interpolation() throws ParseException { - Token n; - n = jj_consume_token(INTERPOLATION); - {if (true) return n.image;} - throw new Error("Missing return statement in function"); - } - - final public void listModifyDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - Token type = null; - //refactor, remove those 3 LOOKAHEAD(5). - n = jj_consume_token(VARIABLE); - variable = n.image; - label_112: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[162] = jj_gen; - break label_112; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_113: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[163] = jj_gen; - break label_113; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case APPEND: - type = jj_consume_token(APPEND); - break; - case REMOVE: - type = jj_consume_token(REMOVE); - break; - case CONTAINS: - type = jj_consume_token(CONTAINS); - break; - default: - jj_la1[164] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_114: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[165] = jj_gen; - break label_114; - } - 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[166] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_115: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[167] = jj_gen; - break label_115; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_116: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[168] = jj_gen; - break label_116; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_117: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + break; + case LBRACE: + jj_consume_token(LBRACE); + label_106: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[152] = jj_gen; + break label_106; + } + jj_consume_token(S); + } + documentHandler.startIncludeContentBlock(name); + label_107: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: + case IDENT: + case HASH: + ; + break; + default: + jj_la1[153] = jj_gen; + break label_107; + } + styleRuleOrDeclarationOrNestedProperties(); + } + jj_consume_token(RBRACE); + label_108: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[154] = jj_gen; + break label_108; + } + jj_consume_token(S); + } + documentHandler.endIncludeContentBlock(); + break; default: - jj_la1[169] = jj_gen; - break label_117; - } - jj_consume_token(S); - } - break; - default: - jj_la1[170] = jj_gen; - ; - } - jj_consume_token(RPARAN); - switch (type.kind) { - case APPEND: - documentHandler.appendDirective(variable,list,remove,separator); - break; - case REMOVE: - documentHandler.removeDirective(variable,list,remove,separator); - break; - case CONTAINS: - if(variable == null){ - variable = "$var_"+UUID.randomUUID(); - } - documentHandler.containsDirective(variable,list,remove,separator); - break; - default: - break; - } - label_118: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[171] = jj_gen; - break label_118; - } - jj_consume_token(S); - } - jj_consume_token(SEMICOLON); - label_119: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[172] = jj_gen; - break label_119; - } - jj_consume_token(S); ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } + jj_la1[155] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public void atRuleDeclaration() throws ParseException { - Token n; - String ret; - n = jj_consume_token(ATKEYWORD); - ret=skipStatement(); - if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(getLocator(), ret); + final public String interpolation() throws ParseException { + Token n; + n = jj_consume_token(INTERPOLATION); + { + if (true) { + return n.image; + } } - } - - final public void skipUnknownRule() throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ATKEYWORD: - n = jj_consume_token(ATKEYWORD); - break; - case CDO: - n = jj_consume_token(CDO); - break; - case CHARSET_SYM: - n = jj_consume_token(CHARSET_SYM); - break; - case COMMA: - n = jj_consume_token(COMMA); - break; - case DASHMATCH: - n = jj_consume_token(DASHMATCH); - break; - case FONT_FACE_SYM: - n = jj_consume_token(FONT_FACE_SYM); - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - break; - case IMPORTANT_SYM: - n = jj_consume_token(IMPORTANT_SYM); - break; - case IMPORT_SYM: - n = jj_consume_token(IMPORT_SYM); - break; - case INCLUDES: - n = jj_consume_token(INCLUDES); - break; - case LBRACE: - n = jj_consume_token(LBRACE); - break; - case MEDIA_SYM: - n = jj_consume_token(MEDIA_SYM); - break; - case NONASCII: - n = jj_consume_token(NONASCII); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case PAGE_SYM: - n = jj_consume_token(PAGE_SYM); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - break; - case STRING: - n = jj_consume_token(STRING); - break; - case UNICODERANGE: - n = jj_consume_token(UNICODERANGE); - break; - case URL: - n = jj_consume_token(URL); - break; - case SEMICOLON: - n = jj_consume_token(SEMICOLON); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case UNKNOWN: - n = jj_consume_token(UNKNOWN); - break; - default: - jj_la1[53] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - String ret; - Locator loc = getLocator(); - ret=skipStatement(); - if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(loc, ret); - } -======= - final public void appendDirective() throws ParseException { + throw new Error("Missing return statement in function"); + } + + final public void listModifyDirective() 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_120: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[173] = jj_gen; - break label_120; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_121: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[174] = jj_gen; - break label_121; - } - jj_consume_token(S); - } - jj_consume_token(APPEND); - label_122: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[175] = jj_gen; - break label_122; - } - 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[176] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_123: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[177] = jj_gen; - break label_123; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_124: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + Token type = null; + // refactor, remove those 3 LOOKAHEAD(5). + n = jj_consume_token(VARIABLE); + variable = n.image; + label_109: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[156] = jj_gen; + break label_109; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_110: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[157] = jj_gen; + break label_110; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case APPEND: + type = jj_consume_token(APPEND); + break; + case REMOVE: + type = jj_consume_token(REMOVE); + break; + case CONTAINS: + type = jj_consume_token(CONTAINS); + break; default: - jj_la1[178] = jj_gen; - break label_124; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_125: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_la1[158] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_111: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[159] = jj_gen; + break label_111; + } + 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[179] = jj_gen; - break label_125; + jj_la1[160] = jj_gen; + ; } - jj_consume_token(S); - } - break; - default: - jj_la1[180] = jj_gen; - ; - } - jj_consume_token(RPARAN); - documentHandler.appendDirective(variable,list,remove,separator); ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public char combinator() throws ParseException { -char connector = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - case S: - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - default: - jj_la1[54] = jj_gen; - ; - } - break; - default: - jj_la1[55] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return connector;} - throw new Error("Missing return statement in function"); - } - -/**to refactor combinator and reuse in selector().*/ - final public char combinatorChar() throws ParseException { - Token t; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - t = jj_consume_token(PLUS); - break; - case PRECEDES: - t = jj_consume_token(PRECEDES); - break; - case SIBLING: - t = jj_consume_token(SIBLING); - break; - default: - jj_la1[56] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_39: -======= - 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_126: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[57] = jj_gen; - break label_39; - } - jj_consume_token(S); - } - {if (true) return t.image.charAt(0);} - throw new Error("Missing return statement in function"); - } - - final public void microsoftExtension() throws ParseException { - Token n; - String name = ""; - String value = ""; - // This is not really taking the syntax of filter rules into account - n = jj_consume_token(MICROSOFT_RULE); - label_40: -======= - jj_la1[181] = jj_gen; - break label_126; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_127: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[58] = jj_gen; - break label_40; - } - jj_consume_token(S); - } - name = n.image; - jj_consume_token(COLON); - label_41: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - value += n.image; - break; - case NUMBER: - n = jj_consume_token(NUMBER); - value += n.image; - break; - case STRING: - n = jj_consume_token(STRING); - value += n.image; - break; - case COMMA: - n = jj_consume_token(COMMA); - value += n.image; - break; - case INTERPOLATION: - n = jj_consume_token(INTERPOLATION); - value += n.image; - break; - case COLON: - n = jj_consume_token(COLON); - value += n.image; - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - value += n.image; - break; - case RPARAN: - n = jj_consume_token(RPARAN); - value += n.image; - break; - case EQ: - n = jj_consume_token(EQ); - value += n.image; - break; - case DOT: - n = jj_consume_token(DOT); - value += n.image; - break; - case S: - n = jj_consume_token(S); - if(value.lastIndexOf(' ') != value.length()-1) - { value += n.image; } - break; - default: - jj_la1[59] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case COMMA: - case DOT: - case RPARAN: - case COLON: - case INTERPOLATION: - case STRING: - case IDENT: - case NUMBER: - case FUNCTION: - ; - break; - default: - jj_la1[60] = jj_gen; - break label_41; - } - } - jj_consume_token(SEMICOLON); - label_42: -======= - jj_la1[182] = jj_gen; - break label_127; - } - jj_consume_token(S); - } - jj_consume_token(REMOVE); - label_128: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[183] = jj_gen; - break label_128; - } - jj_consume_token(S); - } - list = listModifyDirectiveArgs(0); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case RPARAN: - jj_consume_token(RPARAN); - break; - default: - jj_la1[184] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_129: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[61] = jj_gen; - break label_42; - } - jj_consume_token(S); - } - documentHandler.microsoftDirective(name, value); -======= - jj_la1[185] = jj_gen; - break label_129; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_130: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_consume_token(COMMA); + label_112: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[161] = jj_gen; + break label_112; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_113: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[162] = jj_gen; + break label_113; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_114: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[163] = jj_gen; + break label_114; + } + jj_consume_token(S); + } + break; default: - jj_la1[186] = jj_gen; - break label_130; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_131: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_la1[164] = jj_gen; + ; + } + jj_consume_token(RPARAN); + switch (type.kind) { + case APPEND: + documentHandler.appendDirective(variable, list, remove, separator); + break; + case REMOVE: + documentHandler.removeDirective(variable, list, remove, separator); + break; + case CONTAINS: + if (variable == null) { + variable = "$var_" + UUID.randomUUID(); + } + documentHandler + .containsDirective(variable, list, remove, separator); + break; default: - jj_la1[187] = jj_gen; - break label_131; + break; + } + label_115: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[165] = jj_gen; + break label_115; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + label_116: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[166] = jj_gen; + break label_116; + } + jj_consume_token(S); } - jj_consume_token(S); - } - break; - default: - jj_la1[188] = jj_gen; - ; } - jj_consume_token(RPARAN); - documentHandler.removeDirective(variable,list,remove,separator); ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public String property() throws ParseException { - Token t;String s = ""; - label_43: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[62] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[63] = jj_gen; - break label_43; - } - } - label_44: -======= - final public String containsDirective() throws ParseException { + /** + * @exception ParseException + * exception during the parse + */ + final public void appendDirective() throws ParseException { String list = null; String remove = null; String separator = null; String variable = null; Token n = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - variable = n.image; - label_132: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + n = jj_consume_token(VARIABLE); + variable = n.image; + label_117: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[167] = jj_gen; + break label_117; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_118: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[168] = jj_gen; + break label_118; + } + jj_consume_token(S); + } + jj_consume_token(APPEND); + label_119: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[169] = jj_gen; + break label_119; + } + 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[189] = jj_gen; - break label_132; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_133: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_la1[170] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_120: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[171] = jj_gen; + break label_120; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_121: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[172] = jj_gen; + break label_121; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_122: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[173] = jj_gen; + break label_122; + } + jj_consume_token(S); + } + break; default: - jj_la1[190] = jj_gen; - break label_133; - } - jj_consume_token(S); - } - break; - default: - jj_la1[191] = jj_gen; - ; - } - jj_consume_token(CONTAINS); - label_134: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[64] = jj_gen; - break label_44; - } - jj_consume_token(S); - } - {if (true) return s;} - throw new Error("Missing return statement in function"); - } - - final public String variableName() throws ParseException { - Token n; - n = jj_consume_token(VARIABLE); - label_45: -======= - jj_la1[192] = jj_gen; - break label_134; - } - 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[193] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_135: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[65] = jj_gen; - break label_45; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(1));} - throw new Error("Missing return statement in function"); - } - - final public String functionName() throws ParseException { - Token n; - n = jj_consume_token(FUNCTION); - label_46: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[66] = jj_gen; - break label_46; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(0, n.image.length()-1));} - throw new Error("Missing return statement in function"); - } + jj_la1[174] = jj_gen; + ; + } + jj_consume_token(RPARAN); + documentHandler.appendDirective(variable, list, remove, separator); + } -/** - * @exception ParseException exception during the parse - */ - final public void styleRule() throws ParseException { - boolean start = false; - ArrayList<String> l = null; - Token save; - Locator loc; - try { - l = selectorList(); - save = token; - jj_consume_token(LBRACE); - label_47: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[67] = jj_gen; - break label_47; - } - jj_consume_token(S); - } - start = true; - documentHandler.startSelector(l); - label_48: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case MICROSOFT_RULE: - case IDENT: - case VARIABLE: - case HASH: - case IMPORT_SYM: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[68] = jj_gen; - break label_48; + /** + * @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_123: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[175] = jj_gen; + break label_123; + } + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case MICROSOFT_RULE: - microsoftExtension(); - break; - case IMPORT_SYM: - importDeclaration(); - break; - default: - jj_la1[69] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_49: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_consume_token(COLON); + label_124: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[176] = jj_gen; + break label_124; + } + jj_consume_token(S); + } + jj_consume_token(REMOVE); + label_125: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[177] = jj_gen; + break label_125; + } + 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[70] = jj_gen; - break label_49; - } - jj_consume_token(S); - } - } catch (ThrowedParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.e.currentToken.next.beginLine, - e.e.currentToken.next.beginColumn-1); - reportError(li, e.e); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } catch (TokenMgrError e) { - reportWarningSkipText(getLocator(), skipStatement()); - } finally { - if (start) { - documentHandler.endSelector(); - } - } - } - - final public ArrayList<String> selectorList() throws ParseException { - ArrayList<String> selectors = new ArrayList<String>(); - String selector; - selector = selector(); - label_50: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[71] = jj_gen; - break label_50; - } - jj_consume_token(COMMA); - label_51: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + jj_la1[178] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_126: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[179] = jj_gen; + break label_126; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_127: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[180] = jj_gen; + break label_127; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_128: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[181] = jj_gen; + break label_128; + } + jj_consume_token(S); + } + break; default: - jj_la1[72] = jj_gen; - break label_51; + jj_la1[182] = jj_gen; + ; } - jj_consume_token(S); - } - selectors.add(selector); - selector = selector(); + jj_consume_token(RPARAN); + documentHandler.removeDirective(variable, list, remove, separator); } - selectors.add(selector); - {if (true) return selectors;} - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public String selector() throws ParseException { - String selector = null; - char comb; - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - selector = simple_selector(null, ' '); - break; - case PLUS: - case PRECEDES: - case SIBLING: - comb = combinatorChar(); - selector = simple_selector(selector, comb); - break; - default: - jj_la1[73] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_52: - while (true) { - if (jj_2_2(2)) { - ; - } else { - break label_52; - } - comb = combinator(); - selector = simple_selector(selector, comb); - } - label_53: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[74] = jj_gen; - break label_53; - } - jj_consume_token(S); - } - {if (true) return selector;} - } catch (ParseException e) { - /* - Token t = getToken(1); - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - s.append(t.image); - getNextToken(); - t = getToken(1); - } - reportWarningSkipText(getLocator(), s.toString()); + /** + * @exception ParseException + * exception during the parse */ - Token t = getToken(1); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - getNextToken(); - t = getToken(1); - } - - {if (true) throw new ThrowedParseException(e);} - } - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public String simple_selector(String selector, char comb) throws ParseException { - String simple_current = null; - String cond = null; - - pseudoElt = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ANY: - case PARENT: - case INTERPOLATION: - case IDENT: - simple_current = element_name(); - label_54: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; + final public String containsDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + n = jj_consume_token(VARIABLE); + variable = n.image; + label_129: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[183] = jj_gen; + break label_129; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_130: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[184] = jj_gen; + break label_130; + } + jj_consume_token(S); + } + break; default: - jj_la1[75] = jj_gen; - break label_54; + jj_la1[185] = jj_gen; + ; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[76] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case LBRACKET: - case DOT: - case COLON: - case HASH: - label_55: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[77] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + jj_consume_token(CONTAINS); + label_131: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[186] = jj_gen; + break label_131; + } + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; + list = listModifyDirectiveArgs(0); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case RPARAN: + jj_consume_token(RPARAN); + break; default: - jj_la1[78] = jj_gen; - break label_55; - } - } - break; - default: - jj_la1[79] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - if (simple_current == null) { - simple_current = ""; - } - if (cond != null) { - simple_current = simple_current + cond; - } - StringBuilder builder = new StringBuilder(); - switch (comb) { - case ' ': - if(selector!=null){ - builder.append(selector).append(" "); - } + jj_la1[187] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_132: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[188] = jj_gen; + break label_132; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_133: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; break; - case '+': - case '>': - case '~': - if(selector!=null){ - builder.append(selector).append(" "); - } - builder.append(comb).append(" "); + default: + jj_la1[189] = jj_gen; + break label_133; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_134: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; break; default: - {if (true) throw new ParseException("invalid state. send a bug report");} + jj_la1[190] = jj_gen; + break label_134; + } + jj_consume_token(S); } - builder.append(simple_current); - selector = builder.toString(); - - if (pseudoElt != null) { - selector = selector + pseudoElt; + break; + default: + jj_la1[191] = jj_gen; + ; + } + jj_consume_token(RPARAN); + /* + * if it is not in the form like + * "$contains : contains($items, .v-button);"for example in @if, like + * "@if (contains(a b c, b))", then create a tempvariable for contains(a + * b c, b); + */ + if (variable == null) { + variable = "$var_" + UUID.randomUUID(); + } + documentHandler.containsDirective(variable, list, remove, separator); + { + if (true) { + return variable; } - {if (true) return selector;} - throw new Error("Missing return statement in function"); - } + } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public String _class(String pred) throws ParseException { - Token t; -String s = "."; - jj_consume_token(DOT); - label_56: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[80] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[81] = jj_gen; - break label_56; - } - } - if (pred == null) { - {if (true) return s;} - } else { - {if (true) return pred + s;} - } - throw new Error("Missing return statement in function"); -======= - jj_la1[194] = jj_gen; - break label_135; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_136: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[195] = jj_gen; - break label_136; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_137: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[196] = jj_gen; - break label_137; - } - jj_consume_token(S); - } - break; - default: - jj_la1[197] = jj_gen; - ; - } - jj_consume_token(RPARAN); - /* - *if it is not in the form like "$contains : contains($items, .v-button);" - *for example in @if, like "@if (contains(a b c, b))", then create a temp - *variable for contains(a b c, b); - */ - if(variable == null){ - variable = "$var_"+UUID.randomUUID(); - } - documentHandler.containsDirective(variable,list,remove,separator); - {if (true) return variable;} - throw new Error("Missing return statement in function"); - } - - String listModifyDirectiveArgs(int nest) throws ParseException { + 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); - } + 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; - } + 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 == 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()); + } - }else if(t.kind == S) - { - list += " "; - } else if(t.kind == LBRACE) - { - throw new CSSParseException("Invalid token,'{' found", getLocator()); - } + getNextToken(); + } + } - getNextToken(); + final public Node returnDirective() throws ParseException { + String raw; + raw = skipStatement(); + { + if (true) { + return null; + } } - } - - final public Node returnDirective() throws ParseException { - String raw; - raw = skipStatement(); - {if (true) return null;} - throw new Error("Missing return statement in function"); - } - - final public void debuggingDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - debugDirective(); - break; - case WARN_SYM: - warnDirective(); - break; - default: - jj_la1[198] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void debugDirective() throws ParseException { - jj_consume_token(DEBUG_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. - System.out.println(content); - label_138: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[199] = jj_gen; - break label_138; - } - jj_consume_token(S); - } - } - - final public void warnDirective() throws ParseException { - jj_consume_token(WARN_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. - System.err.println(content); - label_139: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[200] = jj_gen; - break label_139; - } - jj_consume_token(S); - } - } - - 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[201] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - to = skipStatementUntilLeftBrace(); - label_140: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[202] = jj_gen; - break label_140; - } - 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<String> list; - jj_consume_token(EXTEND_SYM); - label_141: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[203] = jj_gen; - break label_141; - } - jj_consume_token(S); - } - list = selectorList(); - label_142: - while (true) { - jj_consume_token(SEMICOLON); - label_143: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[204] = jj_gen; - break label_143; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[205] = jj_gen; - break label_142; - } - } - documentHandler.extendDirective(list); - } - - final public void contentDirective() throws ParseException { - jj_consume_token(CONTENT_SYM); - label_144: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[206] = jj_gen; - break label_144; - } - jj_consume_token(S); - } - label_145: - while (true) { - jj_consume_token(SEMICOLON); - label_146: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[207] = jj_gen; - break label_146; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[208] = jj_gen; - break label_145; - } - } - documentHandler.contentDirective(); - } - - Node importDirective() throws ParseException { - return null; - } - - Node charsetDirective() throws ParseException { - return null; - } - - Node mozDocumentDirective() throws ParseException { - return null; - } - - Node supportsDirective() throws ParseException { - return null; - } - - final public void nestedProperties() throws ParseException { - String name; -LexicalUnit exp; - name = property(); - jj_consume_token(COLON); - label_147: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[209] = jj_gen; - break label_147; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_148: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[210] = jj_gen; - break label_148; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[211] = jj_gen; - ; - } - label_149: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[212] = jj_gen; - break label_149; - } - jj_consume_token(SEMICOLON); - label_150: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[213] = jj_gen; - break label_150; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[214] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - documentHandler.endNestedProperties(name); - label_151: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[215] = jj_gen; - break label_151; - } - jj_consume_token(S); - } - } + throw new Error("Missing return statement in function"); + } -/** - * @exception ParseException exception during the parse - */ - final public void styleRuleOrDeclarationOrNestedProperties() throws ParseException { - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - default: - jj_la1[216] = jj_gen; - if (jj_2_6(2147483647)) { - styleRule(); - } else if (jj_2_7(3)) { - declarationOrNestedProperties(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); + final public void debuggingDirective() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + debugDirective(); break; - default: - jj_la1[217] = jj_gen; + case WARN_SYM: + warnDirective(); + break; + default: + jj_la1[192] = jj_gen; jj_consume_token(-1); throw new ParseException(); - } - } - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } + } } - } -/** - * @exception ParseException exception during the parse - */ - final public void declarationOrNestedProperties() throws ParseException { - boolean important = false; - String name; - LexicalUnitImpl exp; - Token save; - String comment = null; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_152: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[218] = jj_gen; - break label_152; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[219] = jj_gen; - ; - } - Token next = getToken(1); - if(next.kind == SEMICOLON || next.kind == RBRACE){ - while(next.kind == SEMICOLON){ - skipStatement(); - next = getToken(1); - } - //only add special token kept for sprites '/**' - if(token.specialToken!=null && token.specialToken!=null && token.specialToken.image.startsWith("/**")){ - documentHandler.property(name, exp, important, token.specialToken.image); - }else{ - documentHandler.property(name, exp, important, null); - } - } - break; - case LBRACE: - jj_consume_token(LBRACE); - label_153: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + final public void debugDirective() throws ParseException { + jj_consume_token(DEBUG_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call + // documentHandler.debugDirective() etc. + System.out.println(content); + label_135: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[193] = jj_gen; + break label_135; + } + jj_consume_token(S); + } + } + + final public void warnDirective() throws ParseException { + jj_consume_token(WARN_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call + // documentHandler.warnDirective() etc. + System.err.println(content); + label_136: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[194] = jj_gen; + break label_136; + } + jj_consume_token(S); + } + } + + 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[220] = jj_gen; - break label_153; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; default: - jj_la1[221] = jj_gen; - ; + jj_la1[195] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - label_154: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[222] = jj_gen; - break label_154; - } - jj_consume_token(SEMICOLON); - label_155: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + to = skipStatementUntilLeftBrace(); + label_137: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case S: - ; - break; + ; + break; default: - jj_la1[223] = jj_gen; - break label_155; + jj_la1[196] = jj_gen; + break label_137; } jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[224] = jj_gen; - ; - } } - jj_consume_token(RBRACE); - label_156: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[225] = jj_gen; - break label_156; - } - jj_consume_token(S); - } - documentHandler.endNestedProperties(name); - break; - default: - jj_la1[226] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } + body = skipStatement(); + { + if (true) { + return documentHandler.forDirective(var, from, to, exclusive, + body); + } + } + throw new Error("Missing return statement in function"); } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public String element_name() throws ParseException { - Token t; String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - label_57: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[82] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + 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<String> list; + jj_consume_token(EXTEND_SYM); + label_138: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[197] = jj_gen; + break label_138; + } + jj_consume_token(S); + } + list = selectorList(); + label_139: while (true) { + jj_consume_token(SEMICOLON); + label_140: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[198] = jj_gen; + break label_140; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[199] = jj_gen; + break label_139; + } + } + documentHandler.extendDirective(list); + } + + final public void contentDirective() throws ParseException { + jj_consume_token(CONTENT_SYM); + label_141: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[200] = jj_gen; + break label_141; + } + jj_consume_token(S); + } + label_142: while (true) { + jj_consume_token(SEMICOLON); + label_143: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[201] = jj_gen; + break label_143; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[202] = jj_gen; + break label_142; + } + } + documentHandler.contentDirective(); + } + + Node importDirective() throws ParseException { + return null; + } + + Node charsetDirective() throws ParseException { + return null; + } + + Node mozDocumentDirective() throws ParseException { + return null; + } + + Node supportsDirective() throws ParseException { + return null; + } + + final public void nestedProperties() throws ParseException { + String name; + LexicalUnit exp; + name = property(); + jj_consume_token(COLON); + label_144: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[203] = jj_gen; + break label_144; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_145: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[204] = jj_gen; + break label_145; + } + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + documentHandler.startNestedProperties(name); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case INTERPOLATION: case IDENT: - ; - break; - default: - jj_la1[83] = jj_gen; - break label_57; - } - } - {if (true) return s;} - break; - case ANY: - jj_consume_token(ANY); - {if (true) return "*";} - break; - case PARENT: - jj_consume_token(PARENT); - {if (true) return "&";} - break; - default: - jj_la1[84] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); -======= - final public void declaration() throws ParseException { - boolean important = false; - String name; - LexicalUnit exp; - Token save; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_157: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + declaration(); + break; default: - jj_la1[227] = jj_gen; - break label_157; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[228] = jj_gen; - ; - } - documentHandler.property(name, exp, important); - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } - } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } + jj_la1[205] = jj_gen; + ; + } + label_146: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[206] = jj_gen; + break label_146; + } + jj_consume_token(SEMICOLON); + label_147: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[207] = jj_gen; + break label_147; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[208] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + documentHandler.endNestedProperties(name); + label_148: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[209] = jj_gen; + break label_148; + } + jj_consume_token(S); + } + } -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public String attrib(String pred) throws ParseException { - int cases = 0; - Token att = null; - Token val = null; - String attValue = null; - jj_consume_token(LBRACKET); - label_58: -======= - final public boolean prio() throws ParseException { - jj_consume_token(IMPORTANT_SYM); - label_158: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[85] = jj_gen; - break label_58; - } - jj_consume_token(S); - } - att = jj_consume_token(IDENT); - label_59: -======= - jj_la1[229] = jj_gen; - break label_158; - } - jj_consume_token(S); - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - - final public boolean guarded() throws ParseException { - jj_consume_token(GUARDED_SYM); - label_159: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[86] = jj_gen; - break label_59; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DASHMATCH: - case CARETMATCH: - case DOLLARMATCH: - case STARMATCH: - case INCLUDES: - case EQ: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case EQ: - jj_consume_token(EQ); - cases = 1; - break; - case INCLUDES: - jj_consume_token(INCLUDES); - cases = 2; - break; - case DASHMATCH: - jj_consume_token(DASHMATCH); - cases = 3; - break; - case CARETMATCH: - jj_consume_token(CARETMATCH); - cases = 4; - break; - case DOLLARMATCH: - jj_consume_token(DOLLARMATCH); - cases = 5; - break; - case STARMATCH: - jj_consume_token(STARMATCH); - cases = 6; - break; - default: - jj_la1[87] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_60: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[88] = jj_gen; - break label_60; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - val = jj_consume_token(IDENT); - attValue = val.image; - break; - case STRING: - val = jj_consume_token(STRING); - attValue = val.image; - break; - default: - jj_la1[89] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_61: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[90] = jj_gen; - break label_61; - } - jj_consume_token(S); - } - break; - default: - jj_la1[91] = jj_gen; - ; - } - jj_consume_token(RBRACKET); - String name = convertIdent(att.image); - String c; - switch (cases) { - case 0: - c = name; - break; - case 1: - c = name + "=" + attValue; - break; - case 2: - c = name + "~=" + attValue; - break; - case 3: - c = name + "|=" +attValue; - break; - case 4: - c = name + "^=" +attValue; - break; - case 5: - c = name + "$=" +attValue; - break; - case 6: - c = name + "*=" +attValue; - break; - default: - // never reached. - c = null; - } - c = "[" + c + "]"; - if (pred == null) { - {if (true) return c;} - } else { - {if (true) return pred + c;} - } -======= - jj_la1[230] = jj_gen; - break label_159; - } - jj_consume_token(S); - } - {if (true) return true;} ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - throw new Error("Missing return statement in function"); - } + /** + * @exception ParseException + * exception during the parse + */ + final public void styleRuleOrDeclarationOrNestedProperties() + throws ParseException { + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + default: + jj_la1[210] = jj_gen; + if (jj_2_6(2147483647)) { + styleRule(); + } else if (jj_2_7(3)) { + declarationOrNestedProperties(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + default: + jj_la1[211] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + } + } catch (JumpException e) { + skipAfterExpression(); + // reportWarningSkipText(getLocator(), skipAfterExpression()); -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public String pseudo(String pred) throws ParseException { - Token n; -Token param; -String d; -boolean isPseudoElement = false; - jj_consume_token(COLON); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - isPseudoElement=true; - break; - default: - jj_la1[92] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - String s = ":" + convertIdent(n.image); - if (isPseudoElement) { - if (pseudoElt != null) { - {if (true) throw new CSSParseException("duplicate pseudo element definition " - + s, getLocator());} + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); } else { - pseudoElt = ":"+s; - {if (true) return pred;} + reportError(getLocator(), e); } + skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ } else { - String c = s; - if (pred == null) { - {if (true) return c;} - } else { - {if (true) return pred + c;} - } - } - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - label_62: -======= - final public LexicalUnitImpl operator(LexicalUnitImpl prev) throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - /* (comments copied from basic_arithmetics.scss) - *supports: - * 1. standard arithmetic operations (+, -, *, /, %) - * 2. / is treated as css operator, unless one of its operands is variable or there is another binary arithmetic operator - *limits: - * 1. cannot mix arithmetic and css operations, e.g. "margin: 1px + 3px 2px" will fail - * 2. space between add and minus operator and their following operand is mandatory. e.g. "1 + 2" is valid, "1+2" is not - * 3. parenthesis is not supported now. - */ - n = jj_consume_token(COMMA); - label_160: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[231] = jj_gen; - break label_160; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createComma(n.beginLine, - n.beginColumn, - prev);} - break; - case DIV: - n = jj_consume_token(DIV); - label_161: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[232] = jj_gen; - break label_161; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createSlash(n.beginLine, - n.beginColumn, - prev);} - break; - case ANY: - n = jj_consume_token(ANY); - label_162: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[93] = jj_gen; - break label_62; - } - jj_consume_token(S); - } - d = skipStatementUntilRightParan(); - jj_consume_token(RPARAN); - // accept anything between function and a right parenthesis - String f = convertIdent(n.image); - String colons = isPseudoElement ? "::" : ":"; - String pseudofn = colons + f + d + ")"; - if (pred == null) { - {if (true) return pseudofn;} - } else { - {if (true) return pred + pseudofn;} - } - break; - default: - jj_la1[94] = jj_gen; -======= - jj_la1[233] = jj_gen; - break label_162; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createMultiply(n.beginLine, - n.beginColumn, - prev);} - break; - case MOD: - n = jj_consume_token(MOD); - label_163: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[234] = jj_gen; - break label_163; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createModulo(n.beginLine, - n.beginColumn, - prev);} - break; - case PLUS: - n = jj_consume_token(PLUS); - label_164: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[235] = jj_gen; - break label_164; - } - } - {if (true) return LexicalUnitImpl.createAdd(n.beginLine, - n.beginColumn, - prev);} - break; - case MINUS: - n = jj_consume_token(MINUS); - label_165: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[236] = jj_gen; - break label_165; - } - } - {if (true) return LexicalUnitImpl.createMinus(n.beginLine, - n.beginColumn, - prev);} - break; - default: - jj_la1[237] = jj_gen; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + skipAfterExpression(); + } + } + } -/** - * @exception ParseException exception during the parse - */ -<<<<<<< HEAD - final public String hash(String pred) throws ParseException { - Token n; - n = jj_consume_token(HASH); - String d = n.image; - if (pred == null) { - {if (true) return d;} - } else { - {if (true) return pred + d;} - } - throw new Error("Missing return statement in function"); - } - - final public void variable() throws ParseException { + /** + * @exception ParseException + * exception during the parse + */ + final public void declarationOrNestedProperties() throws ParseException { + boolean important = false; String name; - LexicalUnitImpl exp = null; - boolean guarded = false; - String raw; - try { - name = variableName(); - jj_consume_token(COLON); - label_63: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[95] = jj_gen; - break label_63; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GUARDED_SYM: - guarded = guarded(); - break; - default: - jj_la1[96] = jj_gen; - ; - } - label_64: - while (true) { - jj_consume_token(SEMICOLON); - label_65: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[97] = jj_gen; - break label_65; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[98] = jj_gen; - break label_64; - } - } - documentHandler.variable(name, exp, guarded); - } catch (JumpException e) { + LexicalUnitImpl exp; + Token save; + String comment = null; + try { + name = property(); + save = token; + jj_consume_token(COLON); + label_149: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[212] = jj_gen; + break label_149; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORTANT_SYM: + important = prio(); + break; + default: + jj_la1[213] = jj_gen; + ; + } + Token next = getToken(1); + if (next.kind == SEMICOLON || next.kind == RBRACE) { + while (next.kind == SEMICOLON) { + skipStatement(); + next = getToken(1); + } + // only add special token kept for sprites '/**' + if (token.specialToken != null + && token.specialToken != null + && token.specialToken.image.startsWith("/**")) { + documentHandler.property(name, exp, important, + token.specialToken.image); + } else { + documentHandler.property(name, exp, important, null); + } + } + break; + case LBRACE: + jj_consume_token(LBRACE); + label_150: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[214] = jj_gen; + break label_150; + } + jj_consume_token(S); + } + documentHandler.startNestedProperties(name); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[215] = jj_gen; + ; + } + label_151: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[216] = jj_gen; + break label_151; + } + jj_consume_token(SEMICOLON); + label_152: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[217] = jj_gen; + break label_152; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[218] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_153: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[219] = jj_gen; + break label_153; + } + jj_consume_token(S); + } + documentHandler.endNestedProperties(name); + break; + default: + jj_la1[220] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (JumpException e) { skipAfterExpression(); - } catch (NumberFormatException e) { + // reportWarningSkipText(getLocator(), skipAfterExpression()); + + } catch (NumberFormatException e) { if (errorHandler != null) { errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); + + e.getMessage(), getLocator(), e)); } reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { + } catch (ParseException e) { if (errorHandler != null) { if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); } else { - reportError(getLocator(), e); - } + reportError(getLocator(), e); + } skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ } else { skipAfterExpression(); } - } - } - - final public void controlDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF_SYM: - ifDirective(); - break; - case EACH_SYM: - eachDirective(); - break; - default: - jj_la1[99] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void ifContentStatement() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CONTENT_SYM: - contentDirective(); - break; - case INCLUDE_SYM: - includeDirective(); - break; - case MEDIA_SYM: - media(); - break; - case EXTEND_SYM: - extendDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - styleRuleOrDeclarationOrNestedProperties(); - break; - case KEY_FRAME_SYM: - keyframes(); - break; - default: - jj_la1[100] = jj_gen; - if (jj_2_3(2147483647)) { - variable(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - listModifyDirective(); - break; - case EACH_SYM: - case IF_SYM: - controlDirective(); - break; - default: - jj_la1[101] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } - - final public void ifDirective() throws ParseException { - Token n = null; - String s = null; - String evaluator = ""; - jj_consume_token(IF_SYM); - label_66: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case PLUS: - case MINUS: - case PRECEDES: - case SUCCEEDS: - case DIV: - case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: - case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[102] = jj_gen; - break label_66; - } - } - jj_consume_token(LBRACE); - label_67: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[103] = jj_gen; - break label_67; - } - jj_consume_token(S); - } - documentHandler.startIfElseDirective(); - documentHandler.ifDirective(evaluator); - label_68: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[104] = jj_gen; - break label_68; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_69: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[105] = jj_gen; - break label_69; - } - jj_consume_token(S); - } - label_70: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ELSE_SYM: - ; - break; - default: - jj_la1[106] = jj_gen; - break label_70; - } - elseDirective(); - } - documentHandler.endIfElseDirective(); - } - - final public void elseDirective() throws ParseException { - String evaluator = ""; - Token n = null; - String s = null; - jj_consume_token(ELSE_SYM); - label_71: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[107] = jj_gen; - break label_71; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF: - jj_consume_token(IF); - label_72: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case PLUS: - case MINUS: - case PRECEDES: - case SUCCEEDS: - case DIV: - case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: - case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[108] = jj_gen; - break label_72; - } - } - break; - default: - jj_la1[109] = jj_gen; - ; - } - jj_consume_token(LBRACE); - label_73: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[110] = jj_gen; - break label_73; - } - jj_consume_token(S); - } - if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); } - else{ documentHandler.elseDirective(); } - label_74: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[111] = jj_gen; - break label_74; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_75: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[112] = jj_gen; - break label_75; - } - jj_consume_token(S); - } - } - - final public String booleanExpressionToken() throws ParseException { - Token n = null; - String s = null; - if (jj_2_4(2147483647)) { - s = containsDirective(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - break; - case IDENT: - n = jj_consume_token(IDENT); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case LPARAN: - n = jj_consume_token(LPARAN); - break; - case RPARAN: - n = jj_consume_token(RPARAN); - break; - case PLUS: - n = jj_consume_token(PLUS); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case DIV: - n = jj_consume_token(DIV); - break; - case ANY: - n = jj_consume_token(ANY); - break; - case COMPARE: - n = jj_consume_token(COMPARE); - break; - case EQ: - n = jj_consume_token(EQ); - break; - case PRECEDES: - n = jj_consume_token(PRECEDES); - break; - case SUCCEEDS: - n = jj_consume_token(SUCCEEDS); - break; - case OR: - n = jj_consume_token(OR); - break; - case AND: - n = jj_consume_token(AND); - break; - case S: - n = jj_consume_token(S); - break; - case NOT_EQ: - n = jj_consume_token(NOT_EQ); - break; - default: - jj_la1[113] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - if(n!=null){{if (true) return n.image;}} - else{{if (true) return s;}} - throw new Error("Missing return statement in function"); - } - - final public void eachDirective() throws ParseException { - Token var; - ArrayList<String> list = null; - String listVariable = null; - jj_consume_token(EACH_SYM); - label_76: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[114] = jj_gen; - break label_76; - } - jj_consume_token(S); - } - var = jj_consume_token(VARIABLE); - label_77: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[115] = jj_gen; - break label_77; - } - jj_consume_token(S); - } - jj_consume_token(EACH_IN); - label_78: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[116] = jj_gen; - break label_78; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - list = stringList(); - documentHandler.startEachDirective(var.image, list); - break; - case VARIABLE: - listVariable = variableName(); - documentHandler.startEachDirective(var.image, listVariable); - break; - default: - jj_la1[117] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_79: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[118] = jj_gen; - break label_79; - } - jj_consume_token(S); - } - label_80: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[119] = jj_gen; - break label_80; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_81: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[120] = jj_gen; - break label_81; - } - jj_consume_token(S); - } - documentHandler.endEachDirective(); - } - - final public ArrayList<String > stringList() throws ParseException { - ArrayList<String > strings = new ArrayList<String >(); - Token input; - input = jj_consume_token(IDENT); - label_82: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[121] = jj_gen; - break label_82; - } - jj_consume_token(S); - } - strings.add(input.image); - label_83: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[122] = jj_gen; - break label_83; - } - jj_consume_token(COMMA); - label_84: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[123] = jj_gen; - break label_84; - } - jj_consume_token(S); - } - input = jj_consume_token(IDENT); - strings.add(input.image); - label_85: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[124] = jj_gen; - break label_85; - } - jj_consume_token(S); - } - } - {if (true) return strings;} - throw new Error("Missing return statement in function"); - } - - final public void mixinDirective() throws ParseException { - String name; - ArrayList<VariableNode> args = null; - String body; - jj_consume_token(MIXIN_SYM); - label_86: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[125] = jj_gen; - break label_86; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case FUNCTION: - name = functionName(); - args = arglist(); - jj_consume_token(RPARAN); - label_87: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[126] = jj_gen; - break label_87; - } - jj_consume_token(S); - } - break; - default: - jj_la1[127] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_88: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[128] = jj_gen; - break label_88; - } - jj_consume_token(S); - } - documentHandler.startMixinDirective(name, args); - label_89: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case PAGE_SYM: - case FONT_FACE_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[129] = jj_gen; - break label_89; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - case PAGE_SYM: - page(); - break; - default: - jj_la1[130] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_90: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[131] = jj_gen; - break label_90; - } - jj_consume_token(S); - } - documentHandler.endMixinDirective(name, args); - } - - final public ArrayList<VariableNode> arglist() throws ParseException { - ArrayList<VariableNode> args = new ArrayList<VariableNode>(); - VariableNode arg; - boolean hasNonOptionalArgument = false; - arg = mixinArg(); - label_91: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[132] = jj_gen; - break label_91; - } - jj_consume_token(COMMA); - label_92: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[133] = jj_gen; - break label_92; } - jj_consume_token(S); - } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - arg = mixinArg(); } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - boolean checkMixinForNonOptionalArguments(VariableNode arg, boolean hasNonOptionalArguments) throws ParseException { - boolean currentArgHasArguments = arg.getExpr() != null && arg.getExpr().getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE && arg.getExpr().getNextLexicalUnit() != null; + /** + * @exception ParseException + * exception during the parse + */ + final public void declaration() throws ParseException { + boolean important = false; + String name; + LexicalUnit exp; + Token save; + try { + name = property(); + save = token; + jj_consume_token(COLON); + label_154: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[221] = jj_gen; + break label_154; + } + jj_consume_token(S); + } + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORTANT_SYM: + important = prio(); + break; + default: + jj_la1[222] = jj_gen; + ; + } + documentHandler.property(name, exp, important); + } catch (JumpException e) { + skipAfterExpression(); + // reportWarningSkipText(getLocator(), skipAfterExpression()); - if(currentArgHasArguments) - { - if(hasNonOptionalArguments) - { - throw new ParseException("Sass Error: Required argument $"+ arg.getName() +" must come before any optional arguments."); + } catch (NumberFormatException e) { + if (errorHandler != null) { + errorHandler.error(new CSSParseException("Invalid number " + + e.getMessage(), getLocator(), e)); + } + reportWarningSkipText(getLocator(), skipAfterExpression()); + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + } else { + reportError(getLocator(), e); } - return hasNonOptionalArguments; - }else + skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ + } else { + skipAfterExpression(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public boolean prio() throws ParseException { + jj_consume_token(IMPORTANT_SYM); + label_155: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[223] = jj_gen; + break label_155; + } + jj_consume_token(S); + } { - return true; - } - } - - final public VariableNode mixinArg() throws ParseException { - String name; - Token variable = null; - LexicalUnitImpl first = null; - LexicalUnitImpl prev = null; - LexicalUnitImpl next = null; - name = variableName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - case VARIABLE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_93: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[134] = jj_gen; - break label_93; - } - jj_consume_token(S); + if (true) { + return true; + } } - first = nonVariableTerm(null); - prev = first; - label_94: - while (true) { - if (jj_2_5(3)) { - ; - } else { - break label_94; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_95: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: + throw new Error("Missing return statement in function"); + } + + final public boolean guarded() throws ParseException { + jj_consume_token(GUARDED_SYM); + label_156: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: ; break; - default: - jj_la1[135] = jj_gen; - break label_95; - } - jj_consume_token(S); + default: + jj_la1[224] = jj_gen; + break label_156; + } + jj_consume_token(S); + } + { + if (true) { + return true; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl operator(LexicalUnitImpl prev) + throws ParseException { + Token n; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + /* + * (comments copied from basic_arithmetics.scss)supports: 1. + * standard arithmetic operations (+, -, *, /, %) 2. / is treated as + * css operator, unless one of its operands is variable or there is + * another binary arithmetic operatorlimits: 1. cannot mix + * arithmetic and css operations, e.g. "margin: 1px + 3px 2px" will + * fail 2. space between add and minus operator and their following + * operand is mandatory. e.g. "1 + 2" is valid, "1+2" is not 3. + * parenthesis is not supported now. + */ + n = jj_consume_token(COMMA); + label_157: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[225] = jj_gen; + break label_157; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createComma(n.beginLine, + n.beginColumn, prev); + } } break; - default: - jj_la1[136] = jj_gen; - ; - } - prev = nonVariableTerm(prev); - } - break; - case VARIABLE: - variable = jj_consume_token(VARIABLE); - first = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, variable.image); - break; - default: - jj_la1[137] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[138] = jj_gen; - ; + case DIV: + n = jj_consume_token(DIV); + label_158: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[226] = jj_gen; + break label_158; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createSlash(n.beginLine, + n.beginColumn, prev); + } + } + break; + case ANY: + n = jj_consume_token(ANY); + label_159: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[227] = jj_gen; + break label_159; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createMultiply(n.beginLine, + n.beginColumn, prev); + } + } + break; + case MOD: + n = jj_consume_token(MOD); + label_160: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[228] = jj_gen; + break label_160; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createModulo(n.beginLine, + n.beginColumn, prev); + } + } + break; + case PLUS: + n = jj_consume_token(PLUS); + label_161: while (true) { + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[229] = jj_gen; + break label_161; + } + } + { + if (true) { + return LexicalUnitImpl.createAdd(n.beginLine, + n.beginColumn, prev); + } + } + break; + case MINUS: + n = jj_consume_token(MINUS); + label_162: while (true) { + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[230] = jj_gen; + break label_162; + } + } + { + if (true) { + return LexicalUnitImpl.createMinus(n.beginLine, + n.beginColumn, prev); + } + } + break; + default: + jj_la1[231] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); } - VariableNode arg = new VariableNode(name, first, false); - {if (true) return arg;} - throw new Error("Missing return statement in function"); - } - - final public ArrayList<LexicalUnitImpl> argValuelist() throws ParseException { - ArrayList<LexicalUnitImpl> args = new ArrayList<LexicalUnitImpl>(); - LexicalUnitImpl first = null; - LexicalUnitImpl next = null; - LexicalUnitImpl prev = null; - first = term(null); - args.add(first); prev = first; - label_96: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case COLON: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - ; - break; - default: - jj_la1[139] = jj_gen; - break label_96; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_97: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl expr() throws ParseException { + LexicalUnitImpl first, res; + char op; + first = term(null); + res = first; + label_163: while (true) { + if (jj_2_8(2)) { + ; + } else { + break label_163; + } + if (jj_2_9(2)) { + res = operator(res); + } else { + ; + } + res = term(res); + } + { + if (true) { + return first; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public char unaryOperator() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case MINUS: + jj_consume_token(MINUS); + { + if (true) { + return '-'; + } + } + break; + case PLUS: + jj_consume_token(PLUS); + { + if (true) { + return '+'; + } + } break; - default: - jj_la1[140] = jj_gen; - break label_97; - } - jj_consume_token(S); - } - break; - default: - jj_la1[141] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - label_98: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[142] = jj_gen; - break label_98; - } - jj_consume_token(COMMA); - label_99: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; default: - jj_la1[143] = jj_gen; - break label_99; - } - jj_consume_token(S); - } - first = term(null); - args.add(first); prev = first; - label_100: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + jj_la1[232] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl term(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; + Token n = null; + char op = ' '; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case PLUS: case MINUS: case DOT: - case COLON: case TO: case THROUGH: case FROM: @@ -7493,7 +5279,6 @@ boolean isPseudoElement = false; case IDENT: case NUMBER: case URL: - case VARIABLE: case PERCENTAGE: case PT: case MM: @@ -7516,2397 +5301,396 @@ boolean isPseudoElement = false; case HASH: case UNICODERANGE: case FUNCTION: - ; - break; - default: - jj_la1[144] = jj_gen; - break label_100; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_101: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[145] = jj_gen; - break label_101; - } - jj_consume_token(S); - } - break; - default: - jj_la1[146] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - } - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - - final public void includeDirective() throws ParseException { - String name; - ArrayList<LexicalUnitImpl> args=null; - jj_consume_token(INCLUDE_SYM); - label_102: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[147] = jj_gen; - break label_102; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case VARIABLE: - name = variableName(); - name = "$"+name; - break; - case FUNCTION: - name = functionName(); - args = argValuelist(); - jj_consume_token(RPARAN); - label_103: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[148] = jj_gen; - break label_103; - } - jj_consume_token(S); - } - break; - default: - jj_la1[149] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - label_104: - while (true) { - jj_consume_token(SEMICOLON); - label_105: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + result = nonVariableTerm(prev); + break; + case VARIABLE: + result = variableTerm(prev); break; - default: - jj_la1[150] = jj_gen; - break label_105; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; default: - jj_la1[151] = jj_gen; - break label_104; + jj_la1[233] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - } - documentHandler.includeDirective(name, args); - break; - case LBRACE: - jj_consume_token(LBRACE); - label_106: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[152] = jj_gen; - break label_106; - } - jj_consume_token(S); - } - documentHandler.startIncludeContentBlock(name); - label_107: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - ; - break; - default: - jj_la1[153] = jj_gen; - break label_107; - } - styleRuleOrDeclarationOrNestedProperties(); - } - jj_consume_token(RBRACE); - label_108: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[154] = jj_gen; - break label_108; - } - jj_consume_token(S); - } - documentHandler.endIncludeContentBlock(); - break; - default: - jj_la1[155] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public String interpolation() throws ParseException { - Token n; - n = jj_consume_token(INTERPOLATION); - {if (true) return n.image;} - throw new Error("Missing return statement in function"); - } - - final public void listModifyDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - Token type = null; - //refactor, remove those 3 LOOKAHEAD(5). - n = jj_consume_token(VARIABLE); - variable = n.image; - label_109: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[156] = jj_gen; - break label_109; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_110: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[157] = jj_gen; - break label_110; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case APPEND: - type = jj_consume_token(APPEND); - break; - case REMOVE: - type = jj_consume_token(REMOVE); - break; - case CONTAINS: - type = jj_consume_token(CONTAINS); - break; - default: - jj_la1[158] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_111: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[159] = jj_gen; - break label_111; - } - 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[160] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_112: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[161] = jj_gen; - break label_112; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_113: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[162] = jj_gen; - break label_113; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_114: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[163] = jj_gen; - break label_114; - } - jj_consume_token(S); - } - break; - default: - jj_la1[164] = jj_gen; - ; - } - jj_consume_token(RPARAN); - switch (type.kind) { - case APPEND: - documentHandler.appendDirective(variable,list,remove,separator); - break; - case REMOVE: - documentHandler.removeDirective(variable,list,remove,separator); - break; - case CONTAINS: - if(variable == null){ - variable = "$var_"+UUID.randomUUID(); - } - documentHandler.containsDirective(variable,list,remove,separator); - break; - default: - break; - } - label_115: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[165] = jj_gen; - break label_115; - } - jj_consume_token(S); - } - jj_consume_token(SEMICOLON); - label_116: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[166] = jj_gen; - break label_116; - } - jj_consume_token(S); - } - } - -/** - * @exception ParseException exception during the parse - */ - final public void appendDirective() 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_117: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[167] = jj_gen; - break label_117; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_118: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[168] = jj_gen; - break label_118; - } - jj_consume_token(S); - } - jj_consume_token(APPEND); - label_119: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[169] = jj_gen; - break label_119; - } - 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_120: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[171] = jj_gen; - break label_120; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_121: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[172] = jj_gen; - break label_121; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_122: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[173] = jj_gen; - break label_122; + { + if (true) { + return result; + } } - jj_consume_token(S); - } - break; - default: - jj_la1[174] = jj_gen; - ; + throw new Error("Missing return statement in function"); } - jj_consume_token(RPARAN); - documentHandler.appendDirective(variable,list,remove,separator); - } -/** - * @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_123: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[175] = jj_gen; - break label_123; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_124: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[176] = jj_gen; - break label_124; - } - jj_consume_token(S); - } - jj_consume_token(REMOVE); - label_125: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[177] = jj_gen; - break label_125; - } - 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[178] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_126: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[179] = jj_gen; - break label_126; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_127: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[180] = jj_gen; - break label_127; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_128: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[181] = jj_gen; - break label_128; + final public LexicalUnitImpl variableTerm(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; + String varName = ""; + varName = variableName(); + result = LexicalUnitImpl.createVariable(token.beginLine, + token.beginColumn, prev, varName); + { + if (true) { + return result; + } } - jj_consume_token(S); - } - break; - default: - jj_la1[182] = jj_gen; - ; + throw new Error("Missing return statement in function"); } - jj_consume_token(RPARAN); - documentHandler.removeDirective(variable,list,remove,separator); - } -/** - * @exception ParseException exception during the parse - */ - final public String containsDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; + final public LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; Token n = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - variable = n.image; - label_129: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[183] = jj_gen; - break label_129; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_130: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[184] = jj_gen; - break label_130; - } - jj_consume_token(S); - } - break; - default: - jj_la1[185] = jj_gen; - ; - } - jj_consume_token(CONTAINS); - label_131: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[186] = jj_gen; - break label_131; - } - 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[187] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_132: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[188] = jj_gen; - break label_132; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_133: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[189] = jj_gen; - break label_133; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_134: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[190] = jj_gen; - break label_134; - } - jj_consume_token(S); - } - break; - default: - jj_la1[191] = jj_gen; - ; - } - jj_consume_token(RPARAN); - /* - *if it is not in the form like "$contains : contains($items, .v-button);" - *for example in @if, like "@if (contains(a b c, b))", then create a temp - *variable for contains(a b c, b); - */ - if(variable == null){ - variable = "$var_"+UUID.randomUUID(); - } - documentHandler.containsDirective(variable,list,remove,separator); - {if (true) return variable;} - throw new Error("Missing return statement in function"); - } - - 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; - } + char op = ' '; + String varName; + String s = ""; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case NUMBER: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case FUNCTION: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + op = unaryOperator(); + break; + default: + jj_la1[234] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case NUMBER: + n = jj_consume_token(NUMBER); + result = LexicalUnitImpl.createNumber(n.beginLine, + n.beginColumn, prev, number(op, n, 0)); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + result = LexicalUnitImpl.createPercentage(n.beginLine, + n.beginColumn, prev, number(op, n, 1)); + break; + case PT: + n = jj_consume_token(PT); + result = LexicalUnitImpl.createPT(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case CM: + n = jj_consume_token(CM); + result = LexicalUnitImpl.createCM(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case MM: + n = jj_consume_token(MM); + result = LexicalUnitImpl.createMM(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case PC: + n = jj_consume_token(PC); + result = LexicalUnitImpl.createPC(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case IN: + n = jj_consume_token(IN); + result = LexicalUnitImpl.createIN(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case PX: + n = jj_consume_token(PX); + result = LexicalUnitImpl.createPX(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case EMS: + n = jj_consume_token(EMS); + result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case LEM: + n = jj_consume_token(LEM); + result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case REM: + n = jj_consume_token(REM); + result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case EXS: + n = jj_consume_token(EXS); + result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case DEG: + n = jj_consume_token(DEG); + result = LexicalUnitImpl.createDEG(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case RAD: + n = jj_consume_token(RAD); + result = LexicalUnitImpl.createRAD(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case GRAD: + n = jj_consume_token(GRAD); + result = LexicalUnitImpl.createGRAD(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case SECOND: + n = jj_consume_token(SECOND); + result = LexicalUnitImpl.createS(n.beginLine, n.beginColumn, + prev, number(op, n, 1)); + break; + case MS: + n = jj_consume_token(MS); + result = LexicalUnitImpl.createMS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case HZ: + n = jj_consume_token(HZ); + result = LexicalUnitImpl.createHZ(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case KHZ: + n = jj_consume_token(KHZ); + result = LexicalUnitImpl.createKHZ(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case DIMEN: + n = jj_consume_token(DIMEN); + s = n.image; + int i = 0; + while (i < s.length() + && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { + i++; } - 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()); + result = LexicalUnitImpl.createDimen(n.beginLine, + n.beginColumn, prev, number(op, n, s.length() - i), + s.substring(i)); + break; + case FUNCTION: + result = function(op, prev); + break; + default: + jj_la1[235] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case URL: + case HASH: + case UNICODERANGE: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case STRING: + n = jj_consume_token(STRING); + result = LexicalUnitImpl.createString(n.beginLine, + n.beginColumn, prev, + convertStringIndex(n.image, 1, n.image.length() - 1)); + break; + case DOT: + case TO: + case THROUGH: + case FROM: + case IDENT: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DOT: + jj_consume_token(DOT); + s += "."; + break; + default: + jj_la1[236] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + break; + case TO: + n = jj_consume_token(TO); + break; + case THROUGH: + n = jj_consume_token(THROUGH); + break; + case FROM: + n = jj_consume_token(FROM); + break; + default: + jj_la1[237] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + s += convertIdent(n.image); + if ("inherit".equals(s)) { + result = LexicalUnitImpl.createInherit(n.beginLine, + n.beginColumn, prev); + } else { + result = LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, prev, convertIdent(n.image)); } - getNextToken(); - } - } - - final public Node returnDirective() throws ParseException { - String raw; - raw = skipStatement(); - {if (true) return null;} - throw new Error("Missing return statement in function"); - } - - final public void debuggingDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - debugDirective(); - break; - case WARN_SYM: - warnDirective(); - break; - default: - jj_la1[192] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void debugDirective() throws ParseException { - jj_consume_token(DEBUG_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. - System.out.println(content); - label_135: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[193] = jj_gen; - break label_135; - } - jj_consume_token(S); - } - } - - final public void warnDirective() throws ParseException { - jj_consume_token(WARN_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. - System.err.println(content); - label_136: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[194] = jj_gen; - break label_136; - } - jj_consume_token(S); - } - } - - 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[195] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - to = skipStatementUntilLeftBrace(); - label_137: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[196] = jj_gen; - break label_137; - } - 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<String> list; - jj_consume_token(EXTEND_SYM); - label_138: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[197] = jj_gen; - break label_138; - } - jj_consume_token(S); - } - list = selectorList(); - label_139: - while (true) { - jj_consume_token(SEMICOLON); - label_140: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[198] = jj_gen; - break label_140; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[199] = jj_gen; - break label_139; - } - } - documentHandler.extendDirective(list); - } - - final public void contentDirective() throws ParseException { - jj_consume_token(CONTENT_SYM); - label_141: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[200] = jj_gen; - break label_141; - } - jj_consume_token(S); - } - label_142: - while (true) { - jj_consume_token(SEMICOLON); - label_143: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[201] = jj_gen; - break label_143; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[202] = jj_gen; - break label_142; - } - } - documentHandler.contentDirective(); - } - - Node importDirective() throws ParseException { - return null; - } - - Node charsetDirective() throws ParseException { - return null; - } - - Node mozDocumentDirective() throws ParseException { - return null; - } - - Node supportsDirective() throws ParseException { - return null; - } - - final public void nestedProperties() throws ParseException { - String name; -LexicalUnit exp; - name = property(); - jj_consume_token(COLON); - label_144: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[203] = jj_gen; - break label_144; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_145: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[204] = jj_gen; - break label_145; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[205] = jj_gen; - ; - } - label_146: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[206] = jj_gen; - break label_146; - } - jj_consume_token(SEMICOLON); - label_147: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[207] = jj_gen; - break label_147; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[208] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - documentHandler.endNestedProperties(name); - label_148: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[209] = jj_gen; - break label_148; - } - jj_consume_token(S); - } - } + /* + * / Auto correction code used in the CSS Validator but must not + * be used by a conformant CSS2 parser. Common error : H1 { + * color : black background : white } + * + * Token t = getToken(1); Token semicolon = new Token(); + * semicolon.kind = SEMICOLON; semicolon.image = ";"; if (t.kind + * == COLON) { // @@SEEME. (generate a warning?) // @@SEEME if + * expression is a single ident, generate an error ? + * rejectToken(semicolon); + * + * result = prev; } / + */ -/** - * @exception ParseException exception during the parse - */ - final public void styleRuleOrDeclarationOrNestedProperties() throws ParseException { - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - default: - jj_la1[210] = jj_gen; - if (jj_2_6(2147483647)) { - styleRule(); - } else if (jj_2_7(3)) { - declarationOrNestedProperties(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); + break; + case HASH: + result = hexcolor(prev); + break; + case URL: + result = url(prev); + break; + case UNICODERANGE: + result = unicode(prev); + break; + default: + jj_la1[238] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } break; - default: - jj_la1[211] = jj_gen; + default: + jj_la1[239] = jj_gen; jj_consume_token(-1); throw new ParseException(); - } - } - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } - } - } - -/** - * @exception ParseException exception during the parse - */ - final public void declarationOrNestedProperties() throws ParseException { - boolean important = false; - String name; - LexicalUnitImpl exp; - Token save; - String comment = null; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_149: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[212] = jj_gen; - break label_149; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[213] = jj_gen; - ; - } - Token next = getToken(1); - if(next.kind == SEMICOLON || next.kind == RBRACE){ - while(next.kind == SEMICOLON){ - skipStatement(); - next = getToken(1); - } - //only add special token kept for sprites '/**' - if(token.specialToken!=null && token.specialToken!=null && token.specialToken.image.startsWith("/**")){ - documentHandler.property(name, exp, important, token.specialToken.image); - }else{ - documentHandler.property(name, exp, important, null); - } - } - break; - case LBRACE: - jj_consume_token(LBRACE); - label_150: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[214] = jj_gen; - break label_150; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[215] = jj_gen; - ; } - label_151: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[216] = jj_gen; - break label_151; - } - jj_consume_token(SEMICOLON); - label_152: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + label_164: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case S: - ; - break; + ; + break; default: - jj_la1[217] = jj_gen; - break label_152; + jj_la1[240] = jj_gen; + break label_164; } jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[218] = jj_gen; - ; - } } - jj_consume_token(RBRACE); - label_153: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[219] = jj_gen; - break label_153; - } - jj_consume_token(S); - } - documentHandler.endNestedProperties(name); - break; - default: - jj_la1[220] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } + { + if (true) { + return result; + } + } + throw new Error("Missing return statement in function"); } - } - -/** - * @exception ParseException exception during the parse - */ - final public void declaration() throws ParseException { - boolean important = false; - String name; - LexicalUnit exp; - Token save; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_154: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[221] = jj_gen; - break label_154; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[222] = jj_gen; - ; - } - documentHandler.property(name, exp, important); - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } - } - } - -/** - * @exception ParseException exception during the parse - */ - final public boolean prio() throws ParseException { - jj_consume_token(IMPORTANT_SYM); - label_155: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[223] = jj_gen; - break label_155; - } - jj_consume_token(S); - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - - final public boolean guarded() throws ParseException { - jj_consume_token(GUARDED_SYM); - label_156: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[224] = jj_gen; - break label_156; - } - jj_consume_token(S); - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl operator(LexicalUnitImpl prev) throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - /* (comments copied from basic_arithmetics.scss) - *supports: - * 1. standard arithmetic operations (+, -, *, /, %) - * 2. / is treated as css operator, unless one of its operands is variable or there is another binary arithmetic operator - *limits: - * 1. cannot mix arithmetic and css operations, e.g. "margin: 1px + 3px 2px" will fail - * 2. space between add and minus operator and their following operand is mandatory. e.g. "1 + 2" is valid, "1+2" is not - * 3. parenthesis is not supported now. - */ - n = jj_consume_token(COMMA); - label_157: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[225] = jj_gen; - break label_157; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createComma(n.beginLine, - n.beginColumn, - prev);} - break; - case DIV: - n = jj_consume_token(DIV); - label_158: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[226] = jj_gen; - break label_158; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createSlash(n.beginLine, - n.beginColumn, - prev);} - break; - case ANY: - n = jj_consume_token(ANY); - label_159: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[227] = jj_gen; - break label_159; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createMultiply(n.beginLine, - n.beginColumn, - prev);} - break; - case MOD: - n = jj_consume_token(MOD); - label_160: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[228] = jj_gen; - break label_160; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createModulo(n.beginLine, - n.beginColumn, - prev);} - break; - case PLUS: - n = jj_consume_token(PLUS); - label_161: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[229] = jj_gen; - break label_161; - } - } - {if (true) return LexicalUnitImpl.createAdd(n.beginLine, - n.beginColumn, - prev);} - break; - case MINUS: - n = jj_consume_token(MINUS); - label_162: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[230] = jj_gen; - break label_162; - } - } - {if (true) return LexicalUnitImpl.createMinus(n.beginLine, - n.beginColumn, - prev);} - break; - default: - jj_la1[231] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl expr() throws ParseException { - LexicalUnitImpl first, res; - char op; - first = term(null); - res = first; - label_163: - while (true) { - if (jj_2_8(2)) { - ; - } else { - break label_163; - } - if (jj_2_9(2)) { - res = operator(res); - } else { - ; - } - res = term(res); - } - {if (true) return first;} - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public char unaryOperator() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case MINUS: - jj_consume_token(MINUS); - {if (true) return '-';} - break; - case PLUS: - jj_consume_token(PLUS); - {if (true) return '+';} - break; - default: - jj_la1[232] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl term(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - result = nonVariableTerm(prev); - break; - case VARIABLE: - result = variableTerm(prev); - break; - default: - jj_la1[233] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl variableTerm(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - String varName = ""; - varName = variableName(); - result = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, varName); {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) throws ParseException { -LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - String varName; - String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case NUMBER: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case FUNCTION: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - op = unaryOperator(); - break; - default: - jj_la1[234] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case NUMBER: - n = jj_consume_token(NUMBER); - result = LexicalUnitImpl.createNumber(n.beginLine, n.beginColumn, - prev, number(op, n, 0)); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - result = LexicalUnitImpl.createPercentage(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case PT: - n = jj_consume_token(PT); - result = LexicalUnitImpl.createPT(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case CM: - n = jj_consume_token(CM); - result = LexicalUnitImpl.createCM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case MM: - n = jj_consume_token(MM); - result = LexicalUnitImpl.createMM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PC: - n = jj_consume_token(PC); - result = LexicalUnitImpl.createPC(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case IN: - n = jj_consume_token(IN); - result = LexicalUnitImpl.createIN(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PX: - n = jj_consume_token(PX); - result = LexicalUnitImpl.createPX(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case EMS: - n = jj_consume_token(EMS); - result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case LEM: - n = jj_consume_token(LEM); - result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case REM: - n = jj_consume_token(REM); - result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case EXS: - n = jj_consume_token(EXS); - result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case DEG: - n = jj_consume_token(DEG); - result = LexicalUnitImpl.createDEG(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case RAD: - n = jj_consume_token(RAD); - result = LexicalUnitImpl.createRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case GRAD: - n = jj_consume_token(GRAD); - result = LexicalUnitImpl.createGRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case SECOND: - n = jj_consume_token(SECOND); - result = LexicalUnitImpl.createS(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case MS: - n = jj_consume_token(MS); - result = LexicalUnitImpl.createMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case HZ: - n = jj_consume_token(HZ); - result = LexicalUnitImpl.createHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case KHZ: - n = jj_consume_token(KHZ); - result = LexicalUnitImpl.createKHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case DIMEN: - n = jj_consume_token(DIMEN); - s = n.image; - int i = 0; - while (i < s.length() - && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { - i++; + /** + * Handle all CSS2 functions. + * + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl function(char operator, LexicalUnitImpl prev) + throws ParseException { + Token n; + LexicalUnit params = null; + n = jj_consume_token(FUNCTION); + label_165: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[241] = jj_gen; + break label_165; } - result = LexicalUnitImpl.createDimen(n.beginLine, n.beginColumn, prev, - Float.valueOf(s.substring(0, i)).floatValue(), - s.substring(i)); - break; - case FUNCTION: - result = function(op, prev); - break; - default: - jj_la1[235] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case URL: - case HASH: - case UNICODERANGE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING: - n = jj_consume_token(STRING); - result = - LexicalUnitImpl.createString(n.beginLine, n.beginColumn, prev, - convertStringIndex(n.image, 1, - n.image.length() -1)); - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case IDENT: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DOT: - jj_consume_token(DOT); - s+="."; - break; - default: - jj_la1[236] = jj_gen; - ; + jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - break; - case TO: - n = jj_consume_token(TO); - break; - case THROUGH: - n = jj_consume_token(THROUGH); - break; - case FROM: - n = jj_consume_token(FROM); - break; - default: - jj_la1[237] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - s += convertIdent(n.image); - if ("inherit".equals(s)) { - result = LexicalUnitImpl.createInherit(n.beginLine, n.beginColumn, - prev); - } else { - result = LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, convertIdent(n.image)); - } - - /* / - Auto correction code used in the CSS Validator but must not - be used by a conformant CSS2 parser. - * Common error : - * H1 { - * color : black - * background : white - * } - * - Token t = getToken(1); - Token semicolon = new Token(); - semicolon.kind = SEMICOLON; - semicolon.image = ";"; - if (t.kind == COLON) { - // @@SEEME. (generate a warning?) - // @@SEEME if expression is a single ident, - generate an error ? - rejectToken(semicolon); - - result = prev; - } - / */ - - break; - case HASH: - result = hexcolor(prev); - break; - case URL: - result = url(prev); - break; - case UNICODERANGE: - result = unicode(prev); - break; - default: - jj_la1[238] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[239] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_164: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[240] = jj_gen; - break label_164; - } - jj_consume_token(S); - } - {if (true) return result;} -======= - final public LexicalUnitImpl expr() throws ParseException { - LexicalUnitImpl first, res; - char op; - first = term(null); - res = first; - label_166: - while (true) { - if (jj_2_8(2)) { - ; - } else { - break label_166; - } - if (jj_2_9(2)) { - res = operator(res); - } else { - ; - } - res = term(res); - } - {if (true) return first;} - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public char unaryOperator() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case MINUS: - jj_consume_token(MINUS); - {if (true) return '-';} - break; - case PLUS: - jj_consume_token(PLUS); - {if (true) return '+';} - break; - default: - jj_la1[238] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl term(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - result = nonVariableTerm(prev); - break; - case VARIABLE: - result = variableTerm(prev); - break; - default: - jj_la1[239] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl variableTerm(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - String varName = ""; - varName = variableName(); - result = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, varName); {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) throws ParseException { -LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - String varName; - String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case NUMBER: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case FUNCTION: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - op = unaryOperator(); - break; - default: - jj_la1[240] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case NUMBER: - n = jj_consume_token(NUMBER); - result = LexicalUnitImpl.createNumber(n.beginLine, n.beginColumn, - prev, number(op, n, 0)); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - result = LexicalUnitImpl.createPercentage(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case PT: - n = jj_consume_token(PT); - result = LexicalUnitImpl.createPT(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case CM: - n = jj_consume_token(CM); - result = LexicalUnitImpl.createCM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case MM: - n = jj_consume_token(MM); - result = LexicalUnitImpl.createMM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PC: - n = jj_consume_token(PC); - result = LexicalUnitImpl.createPC(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case IN: - n = jj_consume_token(IN); - result = LexicalUnitImpl.createIN(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PX: - n = jj_consume_token(PX); - result = LexicalUnitImpl.createPX(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case EMS: - n = jj_consume_token(EMS); - result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case LEM: - n = jj_consume_token(LEM); - result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case REM: - n = jj_consume_token(REM); - result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case EXS: - n = jj_consume_token(EXS); - result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case DEG: - n = jj_consume_token(DEG); - result = LexicalUnitImpl.createDEG(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case RAD: - n = jj_consume_token(RAD); - result = LexicalUnitImpl.createRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case GRAD: - n = jj_consume_token(GRAD); - result = LexicalUnitImpl.createGRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case SECOND: - n = jj_consume_token(SECOND); - result = LexicalUnitImpl.createS(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case MS: - n = jj_consume_token(MS); - result = LexicalUnitImpl.createMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case HZ: - n = jj_consume_token(HZ); - result = LexicalUnitImpl.createHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case KHZ: - n = jj_consume_token(KHZ); - result = LexicalUnitImpl.createKHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case DIMEN: - n = jj_consume_token(DIMEN); - s = n.image; - int i = 0; - while (i < s.length() - && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { - i++; + String fname = convertIdent(n.image); + if ("alpha(".equals(fname)) { + String body = skipStatementUntilSemiColon(); + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, null, "alpha(" + body); + } + } + } else if ("expression(".equals(fname)) { + String body = skipStatementUntilSemiColon(); + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, null, "expression(" + body); + } } - result = LexicalUnitImpl.createDimen(n.beginLine, n.beginColumn, prev, - Float.valueOf(s.substring(0, i)).floatValue(), - s.substring(i)); - break; - case FUNCTION: - result = function(op, prev); - break; - default: - jj_la1[241] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case URL: - case HASH: - case UNICODERANGE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING: - n = jj_consume_token(STRING); - result = - LexicalUnitImpl.createString(n.beginLine, n.beginColumn, prev, - convertStringIndex(n.image, 1, - n.image.length() -1)); - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case IDENT: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DOT: - jj_consume_token(DOT); - s+="."; - break; - default: - jj_la1[242] = jj_gen; - ; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - break; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: case TO: - n = jj_consume_token(TO); - break; case THROUGH: - n = jj_consume_token(THROUGH); - break; case FROM: - n = jj_consume_token(FROM); - break; + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + params = expr(); + break; default: - jj_la1[243] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - s += convertIdent(n.image); - if ("inherit".equals(s)) { - result = LexicalUnitImpl.createInherit(n.beginLine, n.beginColumn, - prev); - } else { - result = LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, convertIdent(n.image)); - } - - /* / - Auto correction code used in the CSS Validator but must not - be used by a conformant CSS2 parser. - * Common error : - * H1 { - * color : black - * background : white - * } - * - Token t = getToken(1); - Token semicolon = new Token(); - semicolon.kind = SEMICOLON; - semicolon.image = ";"; - if (t.kind == COLON) { - // @@SEEME. (generate a warning?) - // @@SEEME if expression is a single ident, - generate an error ? - rejectToken(semicolon); - - result = prev; - } - / */ - - break; - case HASH: - result = hexcolor(prev); - break; - case URL: - result = url(prev); - break; - case UNICODERANGE: - result = unicode(prev); - break; - default: - jj_la1[244] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[245] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_167: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[246] = jj_gen; - break label_167; - } - jj_consume_token(S); - } - {if (true) return result;} - throw new Error("Missing return statement in function"); - } - -/** - * Handle all CSS2 functions. - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl function(char operator, LexicalUnitImpl prev) throws ParseException { - Token n; - LexicalUnit params = null; - n = jj_consume_token(FUNCTION); - label_168: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[247] = jj_gen; - break label_168; - } - jj_consume_token(S); - } - String fname = convertIdent(n.image); - if("alpha(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "alpha("+body);} - }else if("expression(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "expression("+body);} - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - params = expr(); - break; - default: - jj_la1[248] = jj_gen; - ; - } - jj_consume_token(RPARAN); + jj_la1[242] = jj_gen; + ; + } + jj_consume_token(RPARAN); if (operator != ' ') { - {if (true) throw new CSSParseException("invalid operator before a function.", - getLocator());} + { + if (true) { + throw new CSSParseException( + "invalid operator before a function.", getLocator()); + } + } } String f = convertIdent(n.image); LexicalUnitImpl l = (LexicalUnitImpl) params; @@ -9916,32 +5700,38 @@ LexicalUnitImpl result = null; int i = 0; while (loop && l != null && i < 5) { switch (i) { - case 0: - case 2: - case 4: - if ((l.getLexicalUnitType() != LexicalUnit.SAC_INTEGER) + case 0: + case 2: + case 4: + if ((l.getLexicalUnitType() != LexicalUnit.SAC_INTEGER) && (l.getLexicalUnitType() != LexicalUnit.SAC_PERCENTAGE)) { - loop = false; - } - break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} + loop = false; + } + break; + case 1: + case 3: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } } if (loop) { - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + l = l.getNextLexicalUnit(); + i++; } } if ((i == 5) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRGBColor(n.beginLine, - n.beginColumn, - prev, params);} + { + if (true) { + return LexicalUnitImpl.createRGBColor(n.beginLine, + n.beginColumn, prev, params); + } + } } else { if (errorHandler != null) { String errorText; @@ -9949,54 +5739,63 @@ LexicalUnitImpl result = null; if (i < 5) { if (params == null) { loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); + n.beginColumn - 1); errorText = "not enough parameters."; } else if (l == null) { loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); + n.beginColumn - 1); errorText = "not enough parameters: " - + params.toString(); + + params.toString(); } else { loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "invalid parameter: " - + l.toString(); + l.getColumnNumber()); + errorText = "invalid parameter: " + l.toString(); } } else { loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "too many parameters: " - + l.toString(); + l.getColumnNumber()); + errorText = "too many parameters: " + l.toString(); } errorHandler.error(new CSSParseException(errorText, loc)); } - {if (true) throw new JumpException();} + { + if (true) { + throw new JumpException(); + } + } } } else if ("counter".equals(f)) { int i = 0; while (loop && l != null && i < 3) { switch (i) { - case 0: - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 1: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} + case 0: + case 2: + if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { + loop = false; + } + break; + case 1: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + } + l = l.getNextLexicalUnit(); + i++; } if (((i == 1) || (i == 3)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounter(n.beginLine, n.beginColumn, - prev, params);} + { + if (true) { + return LexicalUnitImpl.createCounter(n.beginLine, + n.beginColumn, prev, params); + } + } } } else if ("counters(".equals(f)) { @@ -10004,3410 +5803,2647 @@ LexicalUnitImpl result = null; int i = 0; while (loop && l != null && i < 5) { switch (i) { - case 0: - case 4: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_STRING_VALUE) { - loop = false; - } - break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} + case 0: + case 4: + if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { + loop = false; + } + break; + case 2: + if (l.getLexicalUnitType() != LexicalUnit.SAC_STRING_VALUE) { + loop = false; + } + break; + case 1: + case 3: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + l = l.getNextLexicalUnit(); + i++; } if (((i == 3) || (i == 5)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounters(n.beginLine, n.beginColumn, - prev, params);} + { + if (true) { + return LexicalUnitImpl.createCounters(n.beginLine, + n.beginColumn, prev, params); + } + } } } else if ("attr(".equals(f)) { - if ((l != null) - && (l.getNextLexicalUnit() == null) - && (l.getLexicalUnitType() == LexicalUnit.SAC_IDENT)) { - {if (true) return LexicalUnitImpl.createAttr(l.getLineNumber(), - l.getColumnNumber(), - prev, l.getStringValue());} + if ((l != null) && (l.getNextLexicalUnit() == null) + && (l.getLexicalUnitType() == LexicalUnit.SAC_IDENT)) { + { + if (true) { + return LexicalUnitImpl.createAttr(l.getLineNumber(), + l.getColumnNumber(), prev, l.getStringValue()); + } + } } } else if ("rect(".equals(f)) { int i = 0; while (loop && l != null && i < 7) { switch (i) { - case 0: - case 2: - case 4: - case 6: - switch (l.getLexicalUnitType()) { - case LexicalUnit.SAC_INTEGER: - if (l.getIntegerValue() != 0) { - loop = false; - } - break; - case LexicalUnit.SAC_IDENT: - if (!l.getStringValue().equals("auto")) { - loop = false; - } - break; - case LexicalUnit.SAC_EM: - case LexicalUnit.SAC_EX: - case LexicalUnit.SAC_PIXEL: - case LexicalUnit.SAC_CENTIMETER: - case LexicalUnit.SAC_MILLIMETER: - case LexicalUnit.SAC_INCH: - case LexicalUnit.SAC_POINT: - case LexicalUnit.SAC_PICA: - // nothing - break; - default: + case 0: + case 2: + case 4: + case 6: + switch (l.getLexicalUnitType()) { + case LexicalUnit.SAC_INTEGER: + if (l.getIntegerValue() != 0) { loop = false; } break; - case 1: - case 3: - case 5: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + case LexicalUnit.SAC_IDENT: + if (!l.getStringValue().equals("auto")) { loop = false; } break; + case LexicalUnit.SAC_EM: + case LexicalUnit.SAC_EX: + case LexicalUnit.SAC_PIXEL: + case LexicalUnit.SAC_CENTIMETER: + case LexicalUnit.SAC_MILLIMETER: + case LexicalUnit.SAC_INCH: + case LexicalUnit.SAC_POINT: + case LexicalUnit.SAC_PICA: + // nothing + break; default: - {if (true) throw new ParseException("implementation error");} + loop = false; + } + break; + case 1: + case 3: + case 5: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + l = l.getNextLexicalUnit(); + i++; } if ((i == 7) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRect(n.beginLine, n.beginColumn, - prev, params);} - } - } - {if (true) return LexicalUnitImpl.createFunction(n.beginLine, n.beginColumn, prev, - f.substring(0, - f.length() -1), - params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl unicode(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(UNICODERANGE); - LexicalUnitImpl params = null; - String s = n.image.substring(2); - int index = s.indexOf('-'); - if (index == -1) { - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s, 16)); - } else { - String s1 = s.substring(0, index); - String s2 = s.substring(index); - - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s1, 16)); - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s2, 16)); - } - - {if (true) return LexicalUnitImpl.createUnicodeRange(n.beginLine, n.beginColumn, - prev, params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl url(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(URL); - String urlname = n.image.substring(4, n.image.length()-1).trim(); - {if (true) return LexicalUnitImpl.createURL(n.beginLine, n.beginColumn, prev, urlname);} ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - throw new Error("Missing return statement in function"); - } + { + if (true) { + return LexicalUnitImpl.createRect(n.beginLine, + n.beginColumn, prev, params); + } + } + } + } + { + if (true) { + return LexicalUnitImpl.createFunction(n.beginLine, + n.beginColumn, prev, f.substring(0, f.length() - 1), + params); + } + } + throw new Error("Missing return statement in function"); + } -/** -<<<<<<< HEAD - * Handle all CSS2 functions. - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl function(char operator, LexicalUnitImpl prev) throws ParseException { - Token n; - LexicalUnit params = null; - n = jj_consume_token(FUNCTION); - label_165: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[241] = jj_gen; - break label_165; - } - jj_consume_token(S); + final public LexicalUnitImpl unicode(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(UNICODERANGE); + LexicalUnitImpl params = null; + String s = n.image.substring(2); + int index = s.indexOf('-'); + if (index == -1) { + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s, 16)); + } else { + String s1 = s.substring(0, index); + String s2 = s.substring(index); + + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s1, 16)); + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s2, 16)); + } + + { + if (true) { + return LexicalUnitImpl.createUnicodeRange(n.beginLine, + n.beginColumn, prev, params); + } + } + throw new Error("Missing return statement in function"); } - String fname = convertIdent(n.image); - if("alpha(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "alpha("+body);} - }else if("expression(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "expression("+body);} - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - params = expr(); - break; - default: - jj_la1[242] = jj_gen; - ; - } - jj_consume_token(RPARAN); - if (operator != ' ') { - {if (true) throw new CSSParseException("invalid operator before a function.", - getLocator());} + + final public LexicalUnitImpl url(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(URL); + String urlname = n.image.substring(4, n.image.length() - 1).trim(); + { + if (true) { + return LexicalUnitImpl.createURL(n.beginLine, n.beginColumn, + prev, urlname); + } } - String f = convertIdent(n.image); - LexicalUnitImpl l = (LexicalUnitImpl) params; - boolean loop = true; - if ("rgb(".equals(f)) { - // this is a RGB declaration (e.g. rgb(255, 50%, 0) ) - int i = 0; - while (loop && l != null && i < 5) { - switch (i) { - case 0: - case 2: - case 4: - if ((l.getLexicalUnitType() != LexicalUnit.SAC_INTEGER) - && (l.getLexicalUnitType() != LexicalUnit.SAC_PERCENTAGE)) { - loop = false; + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl hexcolor(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(HASH); + int r; + LexicalUnitImpl first, params = null; + String s = n.image.substring(1); + + if (s.length() != 3 && s.length() != 6) { + first = null; + { + if (true) { + throw new CSSParseException( + "invalid hexadecimal notation for RGB: " + s, + getLocator()); + } + } + } + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, + prev, n.image); + } + } + throw new Error("Missing return statement in function"); + } + + float number(char operator, Token n, int lengthUnit) throws ParseException { + String image = n.image; + float f = 0; + + if (lengthUnit != 0) { + image = image.substring(0, image.length() - lengthUnit); + } + f = Float.valueOf(image).floatValue(); + return (operator == '-') ? -f : f; + } + + String skipStatementUntilSemiColon() throws ParseException { + int[] semicolon = { SEMICOLON }; + return skipStatementUntil(semicolon); + } + + String skipStatementUntilLeftBrace() throws ParseException { + int[] lBrace = { LBRACE }; + return skipStatementUntil(lBrace); + } + + String skipStatementUntilMatchingRightParan() throws ParseException { + int[] leftTokens = { LPARAN, FUNCTION }; // a FUNCTION also contains "(" + int[] rightTokens = { RPARAN }; + StringBuffer s = new StringBuffer(); + int difference = 1; + Token tok; + while (difference != 0) { + tok = getToken(1); + if (tok.kind == EOF) { + return null; + } + for (int sym : leftTokens) { + if (tok.kind == sym) { + difference++; + } + } + for (int sym : rightTokens) { + if (tok.kind == sym) { + difference--; + } + } + if (difference != 0) { + if (tok.image != null) { + s.append(tok.image); + } + getNextToken(); + } + } + return s.toString().trim(); + } + + String skipStatementUntil(int[] symbols) throws ParseException { + StringBuffer s = new StringBuffer(); + boolean stop = false; + Token tok; + while (!stop) { + tok = getToken(1); + if (tok.kind == EOF) { + return null; + } + for (int sym : symbols) { + if (tok.kind == sym) { + stop = true; + break; + } + } + if (!stop) { + if (tok.image != null) { + s.append(tok.image); + } + getNextToken(); + } + } + return s.toString().trim(); + } + + String skipStatement() throws ParseException { + StringBuffer s = new StringBuffer(); + Token tok = getToken(0); + if (tok.image != null) { + s.append(tok.image); + } + while (true) { + tok = getToken(1); + if (tok.kind == EOF) { + return null; + } + s.append(tok.image); + if (tok.kind == LBRACE) { + getNextToken(); + s.append(skip_to_matching_brace()); + getNextToken(); + tok = getToken(1); + break; + } else if (tok.kind == RBRACE) { + getNextToken(); + tok = getToken(1); + break; + } else if (tok.kind == SEMICOLON) { + getNextToken(); + tok = getToken(1); + break; + } + getNextToken(); + } + + // skip white space + while (true) { + if (tok.kind != S) { + break; + } + tok = getNextToken(); + tok = getToken(1); + } + + return s.toString().trim(); + } + + String skip_to_matching_brace() throws ParseException { + StringBuffer s = new StringBuffer(); + Token tok; + int nesting = 1; + while (true) { + tok = getToken(1); + if (tok.kind == EOF) { + break; + } + s.append(tok.image); + if (tok.kind == LBRACE) { + nesting++; + } else if (tok.kind == RBRACE) { + nesting--; + if (nesting == 0) { + break; + } + } + getNextToken(); + } + return s.toString(); + } + + String convertStringIndex(String s, int start, int len) + throws ParseException { + StringBuffer buf = new StringBuffer(len); + int index = start; + + while (index < len) { + char c = s.charAt(index); + if (c == '\u005c\u005c') { + if (++index < len) { + c = s.charAt(index); + switch (c) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + buf.append('\u005c\u005c'); + while (index < len) { + buf.append(s.charAt(index++)); } break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; + case '\u005cn': + case '\u005cf': + break; + case '\u005cr': + if (index + 1 < len) { + if (s.charAt(index + 1) == '\u005cn') { + index++; + } } break; default: - {if (true) throw new ParseException("implementation error");} + buf.append(c); + } + } else { + throw new CSSParseException("invalid string " + s, + getLocator()); } - if (loop) { - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + } else { + buf.append(c); + } + index++; + } + + return buf.toString(); + } + + String convertIdent(String s) throws ParseException { + return convertStringIndex(s, 0, s.length()); + } + + String convertString(String s) throws ParseException { + return convertStringIndex(s, 0, s.length()); + } + + void comments() throws ParseException { + /* + * keeps only the multiple line comments, single line comments are + * skipped + */ + if (token.specialToken != null && token.specialToken.image != null + && token.specialToken.image.startsWith("/*")) { + Token tmp_t = token.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + documentHandler.comment(tmp_t.image); + tmp_t = tmp_t.next; + } + } + } + + void rejectToken(Token t) throws ParseException { + Token fakeToken = new Token(); + t.next = token; + fakeToken.next = t; + token = fakeToken; + } + + String skipAfterExpression() throws ParseException { + Token t = getToken(1); + StringBuffer s = new StringBuffer(); + s.append(getToken(0).image); + + while ((t.kind != RBRACE) && (t.kind != SEMICOLON) && (t.kind != EOF)) { + s.append(t.image); + getNextToken(); + t = getToken(1); + } + + return s.toString(); + } + + /** + * The following functions are useful for a DOM CSS implementation only and + * are not part of the general CSS2 parser. + */ + // TODO required by original parser but not used by Vaadin? + final public void _parseRule() throws ParseException { + String ret = null; + label_166: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[243] = jj_gen; + break label_166; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORT_SYM: + importDeclaration(); + break; + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case MEDIA_SYM: + media(); + break; + case PAGE_SYM: + page(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + default: + jj_la1[244] = jj_gen; + ret = skipStatement(); + if ((ret == null) || (ret.length() == 0)) { + { + if (true) { + return; + } } } - if ((i == 5) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRGBColor(n.beginLine, - n.beginColumn, - prev, params);} + if (ret.charAt(0) == '@') { + documentHandler.unrecognizedRule(ret); } else { - if (errorHandler != null) { - String errorText; - Locator loc; - if (i < 5) { - if (params == null) { - loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); - errorText = "not enough parameters."; - } else if (l == null) { - loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); - errorText = "not enough parameters: " - + params.toString(); - } else { - loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "invalid parameter: " - + l.toString(); - } - } else { - loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "too many parameters: " - + l.toString(); + { + if (true) { + throw new CSSParseException("unrecognize rule: " + ret, + getLocator()); } - errorHandler.error(new CSSParseException(errorText, loc)); } + } + } + } + + final public void _parseImportRule() throws ParseException { + label_167: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[245] = jj_gen; + break label_167; + } + jj_consume_token(S); + } + importDeclaration(); + } - {if (true) throw new JumpException();} + final public void _parseMediaRule() throws ParseException { + label_168: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[246] = jj_gen; + break label_168; } - } else if ("counter".equals(f)) { - int i = 0; - while (loop && l != null && i < 3) { - switch (i) { - case 0: - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 1: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} + jj_consume_token(S); + } + media(); + } + + final public void _parseDeclarationBlock() throws ParseException { + label_169: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[247] = jj_gen; + break label_169; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[248] = jj_gen; + ; + } + label_170: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[249] = jj_gen; + break label_170; + } + jj_consume_token(SEMICOLON); + label_171: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[250] = jj_gen; + break label_171; } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + jj_consume_token(S); } - if (((i == 1) || (i == 3)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounter(n.beginLine, n.beginColumn, - prev, params);} + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[251] = jj_gen; + ; } + } + } - } else if ("counters(".equals(f)) { + final public ArrayList<String> _parseSelectors() throws ParseException { + ArrayList<String> p = null; + try { + label_172: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[252] = jj_gen; + break label_172; + } + jj_consume_token(S); + } + p = selectorList(); + { + if (true) { + return p; + } + } + } catch (ThrowedParseException e) { + { + if (true) { + throw (ParseException) e.e.fillInStackTrace(); + } + } + } + throw new Error("Missing return statement in function"); + } - int i = 0; - while (loop && l != null && i < 5) { - switch (i) { - case 0: - case 4: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_STRING_VALUE) { - loop = false; - } - break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; + private boolean jj_2_1(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_1(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(0, xla); + } + } + + private boolean jj_2_2(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_2(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(1, xla); + } + } + + private boolean jj_2_3(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_3(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(2, xla); + } + } + + private boolean jj_2_4(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_4(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(3, xla); + } + } + + private boolean jj_2_5(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_5(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(4, xla); + } + } + + private boolean jj_2_6(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_6(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(5, xla); + } + } + + private boolean jj_2_7(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_7(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(6, xla); + } + } + + private boolean jj_2_8(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_8(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(7, xla); + } + } + + private boolean jj_2_9(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_9(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(8, xla); + } + } + + private boolean jj_3R_206() { + if (jj_scan_token(MINUS)) { + return true; + } + Token xsp; + if (jj_scan_token(1)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_185() { + if (jj_3R_207()) { + return true; + } + return false; + } + + private boolean jj_3R_205() { + if (jj_scan_token(PLUS)) { + return true; + } + Token xsp; + if (jj_scan_token(1)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_204() { + if (jj_scan_token(MOD)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_203() { + if (jj_scan_token(ANY)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_202() { + if (jj_scan_token(DIV)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + 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; + } + } + return false; + } + + private boolean jj_3R_182() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_201()) { + jj_scanpos = xsp; + if (jj_3R_202()) { + jj_scanpos = xsp; + if (jj_3R_203()) { + jj_scanpos = xsp; + if (jj_3R_204()) { + jj_scanpos = xsp; + if (jj_3R_205()) { + jj_scanpos = xsp; + if (jj_3R_206()) { + return true; + } } - break; - default: - {if (true) throw new ParseException("implementation error");} + } } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; } - if (((i == 3) || (i == 5)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounters(n.beginLine, n.beginColumn, - prev, params);} + } + return false; + } + + private boolean jj_3R_209() { + if (jj_3R_208()) { + return true; + } + return false; + } + + private boolean jj_3R_208() { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(18)) { + jj_scanpos = xsp; + if (jj_scan_token(22)) { + jj_scanpos = xsp; + if (jj_scan_token(23)) { + return true; + } } - } else if ("attr(".equals(f)) { - if ((l != null) - && (l.getNextLexicalUnit() == null) - && (l.getLexicalUnitType() == LexicalUnit.SAC_IDENT)) { - {if (true) return LexicalUnitImpl.createAttr(l.getLineNumber(), - l.getColumnNumber(), - prev, l.getStringValue());} + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - } else if ("rect(".equals(f)) { - int i = 0; - while (loop && l != null && i < 7) { - switch (i) { - case 0: - case 2: - case 4: - case 6: - switch (l.getLexicalUnitType()) { - case LexicalUnit.SAC_INTEGER: - if (l.getIntegerValue() != 0) { - loop = false; - } - break; - case LexicalUnit.SAC_IDENT: - if (!l.getStringValue().equals("auto")) { - loop = false; + } + return false; + } + + private boolean jj_3R_188() { + if (jj_scan_token(S)) { + return true; + } + Token xsp; + xsp = jj_scanpos; + if (jj_3R_209()) { + jj_scanpos = xsp; + } + return false; + } + + private boolean jj_3R_207() { + if (jj_scan_token(GUARDED_SYM)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_173() { + if (jj_3R_183()) { + return true; + } + if (jj_scan_token(COLON)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_3R_184()) { + return true; + } + xsp = jj_scanpos; + if (jj_3R_185()) { + jj_scanpos = xsp; + } + if (jj_3R_186()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_186()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_187() { + if (jj_3R_208()) { + return true; + } + return false; + } + + private boolean jj_3R_174() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_187()) { + jj_scanpos = xsp; + if (jj_3R_188()) { + return true; + } + } + return false; + } + + private boolean jj_3R_191() { + 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; + } + } + return false; + } + + private boolean jj_3R_176() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_191()) { + jj_scanpos = xsp; + } + 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_259() { + if (jj_scan_token(HASH)) { + return true; + } + return false; + } + + private boolean jj_3R_276() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_277() { + if (jj_scan_token(FUNCTION)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (true) { + jj_la = 0; + jj_scanpos = jj_lastpos; + return false; + } + return false; + } + + private boolean jj_3R_275() { + if (jj_scan_token(COLON)) { + return true; + } + return false; + } + + private boolean jj_3R_262() { + if (jj_scan_token(COLON)) { + return true; + } + Token xsp; + xsp = jj_scanpos; + if (jj_3R_275()) { + jj_scanpos = xsp; + } + xsp = jj_scanpos; + if (jj_3R_276()) { + jj_scanpos = xsp; + if (jj_3R_277()) { + return true; + } + } + return false; + } + + private boolean jj_3_7() { + if (jj_3R_180()) { + return true; + } + return false; + } + + private boolean jj_3R_198() { + if (jj_scan_token(LBRACE)) { + return true; + } + return false; + } + + private boolean jj_3R_287() { + if (jj_scan_token(STRING)) { + return true; + } + return false; + } + + private boolean jj_3R_285() { + if (jj_scan_token(STARMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_284() { + if (jj_scan_token(DOLLARMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_286() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_283() { + if (jj_scan_token(CARETMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_282() { + if (jj_scan_token(DASHMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_281() { + if (jj_scan_token(INCLUDES)) { + return true; + } + return false; + } + + private boolean jj_3R_267() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } + + private boolean jj_3R_280() { + if (jj_scan_token(EQ)) { + return true; + } + return false; + } + + private boolean jj_3R_197() { + if (jj_3R_184()) { + return true; + } + return false; + } + + private boolean jj_3R_274() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_280()) { + jj_scanpos = xsp; + if (jj_3R_281()) { + jj_scanpos = xsp; + if (jj_3R_282()) { + jj_scanpos = xsp; + if (jj_3R_283()) { + jj_scanpos = xsp; + if (jj_3R_284()) { + jj_scanpos = xsp; + if (jj_3R_285()) { + return true; } - break; - case LexicalUnit.SAC_EM: - case LexicalUnit.SAC_EX: - case LexicalUnit.SAC_PIXEL: - case LexicalUnit.SAC_CENTIMETER: - case LexicalUnit.SAC_MILLIMETER: - case LexicalUnit.SAC_INCH: - case LexicalUnit.SAC_POINT: - case LexicalUnit.SAC_PICA: - // nothing - break; - default: - loop = false; } - break; - case 1: - case 3: - case 5: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} + } } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; } - if ((i == 7) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRect(n.beginLine, n.beginColumn, - prev, params);} - } - } - {if (true) return LexicalUnitImpl.createFunction(n.beginLine, n.beginColumn, prev, - f.substring(0, - f.length() -1), - params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl unicode(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(UNICODERANGE); - LexicalUnitImpl params = null; - String s = n.image.substring(2); - int index = s.indexOf('-'); - if (index == -1) { - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s, 16)); - } else { - String s1 = s.substring(0, index); - String s2 = s.substring(index); - - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s1, 16)); - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s2, 16)); - } - - {if (true) return LexicalUnitImpl.createUnicodeRange(n.beginLine, n.beginColumn, - prev, params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl url(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(URL); - String urlname = n.image.substring(4, n.image.length()-1).trim(); - {if (true) return LexicalUnitImpl.createURL(n.beginLine, n.beginColumn, prev, urlname);} - throw new Error("Missing return statement in function"); - } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + xsp = jj_scanpos; + if (jj_3R_286()) { + jj_scanpos = xsp; + if (jj_3R_287()) { + return true; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl hexcolor(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(HASH); - int r; - LexicalUnitImpl first, params = null; - String s = n.image.substring(1); - - if(s.length()!=3 && s.length()!=6) { - first = null; - {if (true) throw new CSSParseException("invalid hexadecimal notation for RGB: " + s, - getLocator());} - } - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, n.image);} - throw new Error("Missing return statement in function"); - } - - float number(char operator, Token n, int lengthUnit) throws ParseException { - String image = n.image; - float f = 0; - - if (lengthUnit != 0) { - image = image.substring(0, image.length() - lengthUnit); - } - f = Float.valueOf(image).floatValue(); - return (operator == '-')? -f: f; - } - - String skipStatementUntilSemiColon() throws ParseException { - int[] semicolon = {SEMICOLON}; - return skipStatementUntil(semicolon); - } - - String skipStatementUntilLeftBrace() throws ParseException { - int[] lBrace = {LBRACE}; - return skipStatementUntil(lBrace); - } - - String skipStatementUntilRightParan() throws ParseException { - int[] rParan = {RPARAN}; - return skipStatementUntil(rParan); - } - - String skipStatementUntil(int[] symbols) throws ParseException { - StringBuffer s = new StringBuffer(); - boolean stop = false; - Token tok; - while(!stop){ - tok = getToken(1); - if(tok.kind == EOF) { - return null; - } - for(int sym : symbols){ - if(tok.kind == sym){ - stop = true; - break; - } - } - if(!stop){ - if (tok.image != null) { - s.append(tok.image); + private boolean jj_3_6() { + if (jj_3R_179()) { + return true; + } + if (jj_scan_token(LBRACE)) { + return true; + } + return false; + } + + private boolean jj_3R_261() { + if (jj_scan_token(LBRACKET)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - getNextToken(); -======= - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl hexcolor(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(HASH); - int r; - LexicalUnitImpl first, params = null; - String s = n.image.substring(1); - - if(s.length()!=3 && s.length()!=6) { - first = null; - {if (true) throw new CSSParseException("invalid hexadecimal notation for RGB: " + s, - getLocator());} - } - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, n.image);} - throw new Error("Missing return statement in function"); - } - - float number(char operator, Token n, int lengthUnit) throws ParseException { - String image = n.image; - float f = 0; - - if (lengthUnit != 0) { - image = image.substring(0, image.length() - lengthUnit); - } - f = Float.valueOf(image).floatValue(); - return (operator == '-')? -f: f; - } - - String skipStatementUntilSemiColon() throws ParseException { - int[] semicolon = {SEMICOLON}; - return skipStatementUntil(semicolon); - } - - String skipStatementUntilLeftBrace() throws ParseException { - int[] lBrace = {LBRACE}; - return skipStatementUntil(lBrace); - } - - String skipStatementUntilRightParan() throws ParseException { - int[] rParan = {RPARAN}; - return skipStatementUntil(rParan); - } - - String skipStatementUntilMatchingRightParan() throws ParseException { - int[] leftTokens = {LPARAN, FUNCTION}; // a FUNCTION also contains "(" - int[] rightTokens = {RPARAN}; - StringBuffer s = new StringBuffer(); - int difference = 1; - Token tok; - while(difference != 0){ - tok = getToken(1); - if(tok.kind == EOF) { - return null; } - for(int sym : leftTokens){ - if(tok.kind == sym){ - difference++; + if (jj_scan_token(IDENT)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + xsp = jj_scanpos; + if (jj_3R_274()) { + jj_scanpos = xsp; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + return false; + } + + private boolean jj_3R_180() { + if (jj_3R_196()) { + 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_197()) { + jj_scanpos = xsp; + if (jj_3R_198()) { + return true; } } - for(int sym : rightTokens){ - if(tok.kind == sym){ - difference--; + return false; + } + + private boolean jj_3R_279() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } + + private boolean jj_3R_265() { + if (jj_3R_184()) { + return true; + } + return false; + } + + private boolean jj_3R_245() { + if (jj_scan_token(PARENT)) { + return true; + } + return false; + } + + private boolean jj_3R_244() { + if (jj_scan_token(ANY)) { + return true; + } + return false; + } + + private boolean jj_3R_258() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_266()) { + jj_scanpos = xsp; + if (jj_3R_267()) { + return true; } } - if(difference != 0){ - if (tok.image != null) { - s.append(tok.image); + return false; + } + + private boolean jj_3R_266() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_210() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_243()) { + jj_scanpos = xsp; + if (jj_3R_244()) { + jj_scanpos = xsp; + if (jj_3R_245()) { + return true; + } + } + } + return false; + } + + private boolean jj_3R_243() { + Token xsp; + if (jj_3R_258()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_258()) { + jj_scanpos = xsp; + break; } - getNextToken(); } + return false; } - return s.toString().trim(); - } - String skipStatementUntil(int[] symbols) throws ParseException { - StringBuffer s = new StringBuffer(); - boolean stop = false; - Token tok; - while(!stop){ - tok = getToken(1); - if(tok.kind == EOF) { - return null; + private boolean jj_3R_251() { + if (jj_scan_token(FUNCTION)) { + return true; } - for(int sym : symbols){ - if(tok.kind == sym){ - stop = true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; break; } } - if(!stop){ - if (tok.image != null) { - s.append(tok.image); + xsp = jj_scanpos; + if (jj_3R_265()) { + jj_scanpos = xsp; + } + if (jj_scan_token(RPARAN)) { + return true; + } + return false; + } + + private boolean jj_3R_177() { + if (jj_scan_token(COMMA)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - getNextToken(); } + return false; } - return s.toString().trim(); - } - String skipStatement() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok = getToken(0); - if (tok.image != null) { - s.append(tok.image); + private boolean jj_3R_238() { + if (jj_3R_255()) { + return true; + } + return false; } - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - return null; + + private boolean jj_3R_273() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_278()) { + jj_scanpos = xsp; + if (jj_3R_279()) { + return true; + } } - s.append(tok.image); - if (tok.kind == LBRACE) { - getNextToken(); - s.append(skip_to_matching_brace()); - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == RBRACE) { - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == SEMICOLON) { - getNextToken(); - tok = getToken(1); - break; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) + return false; + } + + private boolean jj_3R_278() { + if (jj_scan_token(IDENT)) { + return true; } - getNextToken(); + return false; } - return s.toString().trim(); - } -<<<<<<< HEAD - String skipStatement() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok = getToken(0); - if (tok.image != null) { - s.append(tok.image); + private boolean jj_3R_237() { + if (jj_3R_254()) { + return true; + } + return false; } - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - return null; + + private boolean jj_3R_236() { + if (jj_3R_253()) { + return true; } - s.append(tok.image); - if (tok.kind == LBRACE) { - getNextToken(); - s.append(skip_to_matching_brace()); - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == RBRACE) { - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == SEMICOLON) { - getNextToken(); - tok = getToken(1); - break; + return false; + } + + private boolean jj_3_5() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_177()) { + jj_scanpos = xsp; + } + if (jj_3R_178()) { + return true; } - getNextToken(); + return false; } - // skip white space - while (true) { - if (tok.kind != S) { - break; + private boolean jj_3R_260() { + if (jj_scan_token(DOT)) { + return true; + } + Token xsp; + if (jj_3R_273()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_273()) { + jj_scanpos = xsp; + break; + } } - tok = getNextToken(); - tok = getToken(1); + return false; } - return s.toString().trim(); - } + private boolean jj_3R_249() { + if (jj_3R_262()) { + return true; + } + return false; + } - String skip_to_matching_brace() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok; - int nesting = 1; - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - break; + private boolean jj_3R_272() { + if (jj_3R_262()) { + return true; } -======= - // skip white space - while (true) { - if (tok.kind != S) { - break; + return false; + } + + private boolean jj_3R_270() { + if (jj_3R_260()) { + return true; } - tok = getNextToken(); - tok = getToken(1); + return false; } - return s.toString().trim(); - } + private boolean jj_3R_247() { + if (jj_3R_260()) { + return true; + } + return false; + } - String skip_to_matching_brace() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok; - int nesting = 1; - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - break; + private boolean jj_3R_248() { + if (jj_3R_261()) { + return true; + } + return false; + } + + private boolean jj_3R_271() { + if (jj_3R_261()) { + return true; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - s.append(tok.image); - if (tok.kind == LBRACE) { - nesting++; - } else if (tok.kind == RBRACE) { - nesting--; - if (nesting == 0) { - break; - } - } - getNextToken(); - } - return s.toString(); - } - - String convertStringIndex(String s, int start, int len) throws ParseException { - StringBuffer buf = new StringBuffer(len); - int index = start; - - while (index < len) { - char c = s.charAt(index); - if (c == '\u005c\u005c') { - if (++index < len) { - c = s.charAt(index); - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - buf.append('\u005c\u005c'); - while (index < len) { - buf.append(s.charAt(index++)); + return false; + } + + private boolean jj_3R_252() { + if (jj_scan_token(DOT)) { + return true; + } + return false; + } + + private boolean jj_3R_268() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_269()) { + jj_scanpos = xsp; + if (jj_3R_270()) { + jj_scanpos = xsp; + if (jj_3R_271()) { + jj_scanpos = xsp; + if (jj_3R_272()) { + return true; } - break; - case '\u005cn': - case '\u005cf': - break; - case '\u005cr': - if (index + 1 < len) { - if (s.charAt(index + 1) == '\u005cn') { - index ++; + } + } + } + return false; + } + + private boolean jj_3R_269() { + if (jj_3R_259()) { + return true; + } + return false; + } + + private boolean jj_3R_235() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_252()) { + jj_scanpos = xsp; + } + xsp = jj_scanpos; + if (jj_scan_token(72)) { + jj_scanpos = xsp; + if (jj_scan_token(49)) { + jj_scanpos = xsp; + if (jj_scan_token(50)) { + jj_scanpos = xsp; + if (jj_scan_token(52)) { + return true; + } + } + } + } + return false; + } + + private boolean jj_3R_234() { + if (jj_scan_token(STRING)) { + return true; + } + return false; + } + + private boolean jj_3R_211() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_246()) { + jj_scanpos = xsp; + if (jj_3R_247()) { + jj_scanpos = xsp; + if (jj_3R_248()) { + jj_scanpos = xsp; + if (jj_3R_249()) { + return true; + } + } + } + } + return false; + } + + private boolean jj_3R_246() { + if (jj_3R_259()) { + return true; + } + return false; + } + + private boolean jj_3R_233() { + if (jj_3R_251()) { + return true; + } + return false; + } + + private boolean jj_3R_193() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_234()) { + jj_scanpos = xsp; + if (jj_3R_235()) { + jj_scanpos = xsp; + if (jj_3R_236()) { + jj_scanpos = xsp; + if (jj_3R_237()) { + jj_scanpos = xsp; + if (jj_3R_238()) { + return true; } } - break; - default: - buf.append(c); } - } else { - throw new CSSParseException("invalid string " + s, getLocator()); } - } else { - buf.append(c); } - index++; + return false; + } + + private boolean jj_3R_190() { + Token xsp; + if (jj_3R_211()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_211()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_189() { + if (jj_3R_210()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_268()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_175() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_189()) { + jj_scanpos = xsp; + if (jj_3R_190()) { + return true; + } + } + return false; + } + + private boolean jj_3R_240() { + if (jj_3R_208()) { + return true; + } + if (jj_3R_175()) { + return true; + } + return false; } - return buf.toString(); - } + private boolean jj_3R_232() { + if (jj_scan_token(DIMEN)) { + return true; + } + return false; + } - String convertIdent(String s) throws ParseException { - return convertStringIndex(s, 0, s.length()); - } + private boolean jj_3R_231() { + if (jj_scan_token(KHZ)) { + return true; + } + return false; + } - String convertString(String s) throws ParseException { - return convertStringIndex(s, 0, s.length()); - } + private boolean jj_3R_230() { + if (jj_scan_token(HZ)) { + return true; + } + return false; + } - void comments() throws ParseException { - /*keeps only the multiple line comments, single line comments are skipped*/ - if (token.specialToken != null && token.specialToken.image!=null && token.specialToken.image.startsWith("/*")){ - Token tmp_t = token.specialToken; - while (tmp_t.specialToken != null) tmp_t = tmp_t.specialToken; - while (tmp_t != null) { - documentHandler.comment(tmp_t.image); - tmp_t = tmp_t.next; + private boolean jj_3R_229() { + if (jj_scan_token(MS)) { + return true; } + return false; } - } - void rejectToken(Token t) throws ParseException { - Token fakeToken = new Token(); - t.next = token; - fakeToken.next = t; - token = fakeToken; - } + private boolean jj_3R_228() { + if (jj_scan_token(SECOND)) { + return true; + } + return false; + } - String skipAfterExpression() throws ParseException { - Token t = getToken(1); - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); + private boolean jj_3R_227() { + if (jj_scan_token(GRAD)) { + return true; + } + return false; + } - while ((t.kind != RBRACE) && (t.kind != SEMICOLON) && (t.kind != EOF)) { - s.append(t.image); - getNextToken(); - t = getToken(1); + private boolean jj_3R_226() { + if (jj_scan_token(RAD)) { + return true; + } + return false; } - return s.toString(); - } + private boolean jj_3R_225() { + if (jj_scan_token(DEG)) { + return true; + } + return false; + } -/** - * The following functions are useful for a DOM CSS implementation only and are - * not part of the general CSS2 parser. - */ -// TODO required by original parser but not used by Vaadin? - final public void _parseRule() throws ParseException { - String ret = null; -<<<<<<< HEAD - label_166: -======= - label_169: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[243] = jj_gen; - break label_166; -======= - jj_la1[249] = jj_gen; - break label_169; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORT_SYM: - importDeclaration(); - break; - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case MEDIA_SYM: - media(); - break; - case PAGE_SYM: - page(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - default: -<<<<<<< HEAD - jj_la1[244] = jj_gen; -======= - jj_la1[250] = jj_gen; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - ret = skipStatement(); - if ((ret == null) || (ret.length() == 0)) { - {if (true) return;} - } - if (ret.charAt(0) == '@') { - documentHandler.unrecognizedRule(ret); - } else { - {if (true) throw new CSSParseException("unrecognize rule: " + ret, - getLocator());} + private boolean jj_3R_224() { + if (jj_scan_token(EXS)) { + return true; + } + return false; + } + + private boolean jj_3R_223() { + if (jj_scan_token(REM)) { + return true; + } + return false; + } + + private boolean jj_3_2() { + if (jj_3R_174()) { + return true; + } + if (jj_3R_175()) { + return true; + } + return false; + } + + private boolean jj_3R_222() { + if (jj_scan_token(LEM)) { + return true; + } + return false; + } + + private boolean jj_3R_221() { + if (jj_scan_token(EMS)) { + return true; + } + return false; + } + + private boolean jj_3R_195() { + if (jj_scan_token(COMMA)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_3R_194()) { + return true; + } + return false; + } + + private boolean jj_3R_239() { + if (jj_3R_175()) { + return true; + } + return false; + } + + private boolean jj_3R_220() { + if (jj_scan_token(PX)) { + return true; + } + return false; + } + + private boolean jj_3R_219() { + if (jj_scan_token(IN)) { + return true; + } + return false; + } + + private boolean jj_3R_194() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_239()) { + jj_scanpos = xsp; + if (jj_3R_240()) { + return true; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_3_2()) { + jj_scanpos = xsp; + break; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_218() { + if (jj_scan_token(PC)) { + return true; + } + return false; + } + + private boolean jj_3R_217() { + if (jj_scan_token(MM)) { + return true; + } + return false; + } + + private boolean jj_3R_216() { + if (jj_scan_token(CM)) { + return true; + } + return false; + } + + private boolean jj_3R_215() { + if (jj_scan_token(PT)) { + return true; + } + return false; + } + + private boolean jj_3R_214() { + if (jj_scan_token(PERCENTAGE)) { + return true; + } + return false; + } + + private boolean jj_3_1() { + if (jj_3R_173()) { + return true; + } + return false; + } + + private boolean jj_3R_200() { + if (jj_3R_242()) { + return true; + } + return false; + } + + private boolean jj_3R_179() { + if (jj_3R_194()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_195()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_213() { + if (jj_scan_token(NUMBER)) { + return true; + } + return false; + } + + private boolean jj_3R_212() { + if (jj_3R_250()) { + return true; + } + return false; + } + + private boolean jj_3R_192() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_212()) { + jj_scanpos = xsp; + } + xsp = jj_scanpos; + if (jj_3R_213()) { + jj_scanpos = xsp; + 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()) { + jj_scanpos = xsp; + if (jj_3R_219()) { + jj_scanpos = xsp; + if (jj_3R_220()) { + jj_scanpos = xsp; + if (jj_3R_221()) { + jj_scanpos = xsp; + if (jj_3R_222()) { + jj_scanpos = xsp; + if (jj_3R_223()) { + jj_scanpos = xsp; + if (jj_3R_224()) { + jj_scanpos = xsp; + if (jj_3R_225()) { + jj_scanpos = xsp; + if (jj_3R_226()) { + jj_scanpos = xsp; + if (jj_3R_227()) { + jj_scanpos = xsp; + if (jj_3R_228()) { + jj_scanpos = xsp; + if (jj_3R_229()) { + jj_scanpos = xsp; + if (jj_3R_230()) { + jj_scanpos = xsp; + if (jj_3R_231()) { + jj_scanpos = xsp; + if (jj_3R_232()) { + jj_scanpos = xsp; + if (jj_3R_233()) { + return true; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } } + } + } + } + return false; } - } - - final public void _parseImportRule() throws ParseException { -<<<<<<< HEAD - label_167: -======= - label_170: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[245] = jj_gen; - break label_167; -======= - jj_la1[251] = jj_gen; - break label_170; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - importDeclaration(); - } - - final public void _parseMediaRule() throws ParseException { -<<<<<<< HEAD - label_168: -======= - label_171: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[246] = jj_gen; - break label_168; -======= - jj_la1[252] = jj_gen; - break label_171; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - media(); - } - - final public void _parseDeclarationBlock() throws ParseException { -<<<<<<< HEAD - label_169: -======= - label_172: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[247] = jj_gen; - break label_169; -======= - jj_la1[253] = jj_gen; - break label_172; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: -<<<<<<< HEAD - jj_la1[248] = jj_gen; - ; - } - label_170: -======= - jj_la1[254] = jj_gen; - ; - } - label_173: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: -<<<<<<< HEAD - jj_la1[249] = jj_gen; - break label_170; - } - jj_consume_token(SEMICOLON); - label_171: -======= - jj_la1[255] = jj_gen; - break label_173; - } - jj_consume_token(SEMICOLON); - label_174: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[250] = jj_gen; - break label_171; -======= - jj_la1[256] = jj_gen; - break label_174; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: -<<<<<<< HEAD - jj_la1[251] = jj_gen; -======= - jj_la1[257] = jj_gen; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - ; - } - } - } - - final public ArrayList<String> _parseSelectors() throws ParseException { - ArrayList<String> p = null; - try { -<<<<<<< HEAD - label_172: -======= - label_175: ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: -<<<<<<< HEAD - jj_la1[252] = jj_gen; - break label_172; -======= - jj_la1[258] = jj_gen; - break label_175; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - jj_consume_token(S); - } - p = selectorList(); - {if (true) return p;} - } catch (ThrowedParseException e) { - {if (true) throw (ParseException) e.e.fillInStackTrace();} - } - throw new Error("Missing return statement in function"); - } - - private boolean jj_2_1(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_1(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(0, xla); } - } - - private boolean jj_2_2(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_2(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(1, xla); } - } - - private boolean jj_2_3(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_3(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(2, xla); } - } - - private boolean jj_2_4(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_4(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(3, xla); } - } - - private boolean jj_2_5(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_5(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(4, xla); } - } - - private boolean jj_2_6(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_6(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(5, xla); } - } - - private boolean jj_2_7(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_7(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(6, xla); } - } - - private boolean jj_2_8(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_8(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(7, xla); } - } - - private boolean jj_2_9(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_9(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(8, xla); } - } - -<<<<<<< HEAD - private boolean jj_3R_206() { - if (jj_scan_token(MINUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_185() { - if (jj_3R_207()) return true; - return false; - } - - private boolean jj_3R_205() { - if (jj_scan_token(PLUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_204() { -======= - private boolean jj_3R_188() { - if (jj_3R_213()) return true; - return false; - } - - private boolean jj_3R_210() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(MOD)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_203() { -======= - private boolean jj_3R_209() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(ANY)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_202() { -======= - private boolean jj_3R_208() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(DIV)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_201() { -======= - private boolean jj_3R_207() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; - } - -<<<<<<< HEAD - private boolean jj_3R_182() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_201()) { - jj_scanpos = xsp; - if (jj_3R_202()) { - jj_scanpos = xsp; - if (jj_3R_203()) { - jj_scanpos = xsp; - if (jj_3R_204()) { - jj_scanpos = xsp; - if (jj_3R_205()) { - jj_scanpos = xsp; - if (jj_3R_206()) return true; -======= - private boolean jj_3R_185() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_207()) { - jj_scanpos = xsp; - if (jj_3R_208()) { - jj_scanpos = xsp; - if (jj_3R_209()) { - jj_scanpos = xsp; - if (jj_3R_210()) { - jj_scanpos = xsp; - if (jj_3R_211()) { - jj_scanpos = xsp; - if (jj_3R_212()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_209() { - if (jj_3R_208()) return true; - return false; - } - - private boolean jj_3R_208() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(18)) { - jj_scanpos = xsp; - if (jj_scan_token(22)) { - jj_scanpos = xsp; - if (jj_scan_token(23)) return true; - } - } -======= - private boolean jj_3R_215() { - if (jj_3R_214()) return true; - return false; - } - - private boolean jj_3R_213() { - if (jj_scan_token(GUARDED_SYM)) return true; - Token xsp; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_188() { - if (jj_scan_token(S)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_209()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_207() { - if (jj_scan_token(GUARDED_SYM)) return true; - Token xsp; -======= - private boolean jj_3R_214() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(18)) { - jj_scanpos = xsp; - if (jj_scan_token(22)) { - jj_scanpos = xsp; - if (jj_scan_token(23)) return true; - } - } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_173() { - if (jj_3R_183()) return true; -======= - private boolean jj_3R_176() { - if (jj_3R_186()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(COLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } -<<<<<<< HEAD - if (jj_3R_184()) return true; - xsp = jj_scanpos; - if (jj_3R_185()) jj_scanpos = xsp; - if (jj_3R_186()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_186()) { jj_scanpos = xsp; break; } -======= - if (jj_3R_187()) return true; - xsp = jj_scanpos; - if (jj_3R_188()) jj_scanpos = xsp; - if (jj_3R_189()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_189()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_187() { - if (jj_3R_208()) return true; - return false; - } - - private boolean jj_3R_174() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_187()) { - jj_scanpos = xsp; - if (jj_3R_188()) return true; -======= - private boolean jj_3R_191() { - if (jj_scan_token(S)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_215()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_190() { - if (jj_3R_214()) return true; - return false; - } - - private boolean jj_3R_177() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_190()) { - jj_scanpos = xsp; - if (jj_3R_191()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_191() { -======= - private boolean jj_3R_197() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_176() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_191()) jj_scanpos = xsp; -======= - private boolean jj_3R_179() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_197()) jj_scanpos = xsp; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; - } - -<<<<<<< HEAD - private boolean jj_3R_259() { -======= - private boolean jj_3R_217() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(HASH)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_276() { -======= - private boolean jj_3R_287() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(IDENT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_277() { -======= - private boolean jj_3R_288() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_275() { -======= - private boolean jj_3R_286() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(COLON)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_262() { - if (jj_scan_token(COLON)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_275()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_276()) { - jj_scanpos = xsp; - if (jj_3R_277()) return true; -======= - private boolean jj_3R_219() { - if (jj_scan_token(COLON)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_286()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_287()) { - jj_scanpos = xsp; - if (jj_3R_288()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - - private boolean jj_3_7() { -<<<<<<< HEAD - if (jj_3R_180()) return true; - return false; - } - - private boolean jj_3R_198() { -======= - if (jj_3R_183()) return true; - return false; - } - - private boolean jj_3R_204() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(LBRACE)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_287() { -======= - private boolean jj_3R_307() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(STRING)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_285() { -======= - private boolean jj_3R_305() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(STARMATCH)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_284() { - if (jj_scan_token(DOLLARMATCH)) return true; - return false; - } - - private boolean jj_3R_286() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_283() { -======= - private boolean jj_3R_306() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_304() { - if (jj_scan_token(DOLLARMATCH)) return true; - return false; - } - - private boolean jj_3R_303() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(CARETMATCH)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_282() { -======= - private boolean jj_3R_302() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(DASHMATCH)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_281() { -======= - private boolean jj_3R_301() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(INCLUDES)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_267() { -======= - private boolean jj_3R_268() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_280() { -======= - private boolean jj_3R_300() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(EQ)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_197() { - if (jj_3R_184()) return true; - return false; - } - - private boolean jj_3R_274() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_280()) { - jj_scanpos = xsp; - if (jj_3R_281()) { - jj_scanpos = xsp; - if (jj_3R_282()) { - jj_scanpos = xsp; - if (jj_3R_283()) { - jj_scanpos = xsp; - if (jj_3R_284()) { - jj_scanpos = xsp; - if (jj_3R_285()) return true; -======= - private boolean jj_3R_203() { - if (jj_3R_187()) return true; - return false; - } - - private boolean jj_3R_293() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_300()) { - jj_scanpos = xsp; - if (jj_3R_301()) { - jj_scanpos = xsp; - if (jj_3R_302()) { - jj_scanpos = xsp; - if (jj_3R_303()) { - jj_scanpos = xsp; - if (jj_3R_304()) { - jj_scanpos = xsp; - if (jj_3R_305()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; -<<<<<<< HEAD - if (jj_3R_286()) { - jj_scanpos = xsp; - if (jj_3R_287()) return true; -======= - if (jj_3R_306()) { - jj_scanpos = xsp; - if (jj_3R_307()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_6() { -<<<<<<< HEAD - if (jj_3R_179()) return true; -======= - if (jj_3R_182()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(LBRACE)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_261() { -======= - private boolean jj_3R_220() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(LBRACKET)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(IDENT)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; -<<<<<<< HEAD - if (jj_3R_274()) jj_scanpos = xsp; -======= - if (jj_3R_293()) jj_scanpos = xsp; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(RBRACKET)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_180() { - if (jj_3R_196()) return true; -======= - private boolean jj_3R_183() { - if (jj_3R_202()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; -<<<<<<< HEAD - if (jj_3R_197()) { - jj_scanpos = xsp; - if (jj_3R_198()) return true; -======= - if (jj_3R_203()) { - jj_scanpos = xsp; - if (jj_3R_204()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_279() { -======= - private boolean jj_3R_299() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_265() { - if (jj_3R_184()) return true; - return false; - } - - private boolean jj_3R_245() { -======= - private boolean jj_3R_266() { - if (jj_3R_187()) return true; - return false; - } - - private boolean jj_3R_254() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(PARENT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_244() { -======= - private boolean jj_3R_253() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(ANY)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_258() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_266()) { - jj_scanpos = xsp; - if (jj_3R_267()) return true; -======= - private boolean jj_3R_263() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_267()) { - jj_scanpos = xsp; - if (jj_3R_268()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_266() { -======= - private boolean jj_3R_267() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(IDENT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_210() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_243()) { - jj_scanpos = xsp; - if (jj_3R_244()) { - jj_scanpos = xsp; - if (jj_3R_245()) return true; -======= - private boolean jj_3R_216() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_252()) { - jj_scanpos = xsp; - if (jj_3R_253()) { - jj_scanpos = xsp; - if (jj_3R_254()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_243() { - Token xsp; - if (jj_3R_258()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_258()) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_252() { - Token xsp; - if (jj_3R_263()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_263()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_251() { -======= - private boolean jj_3R_256() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; -<<<<<<< HEAD - if (jj_3R_265()) jj_scanpos = xsp; -======= - if (jj_3R_266()) jj_scanpos = xsp; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(RPARAN)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_177() { -======= - private boolean jj_3R_180() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - 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; - } - -<<<<<<< HEAD - private boolean jj_3R_273() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_278()) { - jj_scanpos = xsp; - if (jj_3R_279()) return true; - } - return false; - } - - private boolean jj_3R_278() { -======= - private boolean jj_3R_247() { - if (jj_3R_260()) return true; - return false; - } - - private boolean jj_3R_298() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(IDENT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_238() { - if (jj_3R_255()) return true; - return false; - } - - private boolean jj_3R_237() { - if (jj_3R_254()) return true; - return false; - } - - private boolean jj_3R_236() { - if (jj_3R_253()) return true; -======= - private boolean jj_3R_246() { - if (jj_3R_259()) return true; - return false; - } - - private boolean jj_3R_281() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_298()) { - jj_scanpos = xsp; - if (jj_3R_299()) return true; - } - return false; - } - - private boolean jj_3R_245() { - if (jj_3R_258()) return true; - return false; - } - - private boolean jj_3R_297() { - if (jj_3R_219()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - return false; - } - - private boolean jj_3_5() { - Token xsp; - xsp = jj_scanpos; -<<<<<<< HEAD - if (jj_3R_177()) jj_scanpos = xsp; - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_260() { - if (jj_scan_token(DOT)) return true; - Token xsp; - if (jj_3R_273()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_273()) { jj_scanpos = xsp; break; } -======= - if (jj_3R_180()) jj_scanpos = xsp; - if (jj_3R_181()) return true; - return false; - } - - private boolean jj_3R_218() { - if (jj_scan_token(DOT)) return true; - Token xsp; - if (jj_3R_281()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_281()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_249() { - if (jj_3R_262()) return true; - return false; - } - - private boolean jj_3R_272() { - if (jj_3R_262()) return true; - return false; - } - - private boolean jj_3R_270() { - if (jj_3R_260()) return true; - return false; - } - - private boolean jj_3R_247() { - if (jj_3R_260()) return true; - return false; - } - - private boolean jj_3R_248() { - if (jj_3R_261()) return true; - return false; - } - - private boolean jj_3R_271() { - if (jj_3R_261()) return true; - return false; - } - - private boolean jj_3R_268() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_269()) { - jj_scanpos = xsp; - if (jj_3R_270()) { - jj_scanpos = xsp; - if (jj_3R_271()) { - jj_scanpos = xsp; - if (jj_3R_272()) return true; -======= - private boolean jj_3R_295() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_290() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_292() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_280() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_283() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_285() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_296() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_273() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_294()) { - jj_scanpos = xsp; - if (jj_3R_295()) { - jj_scanpos = xsp; - if (jj_3R_296()) { - jj_scanpos = xsp; - if (jj_3R_297()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_269() { - if (jj_3R_259()) return true; - return false; - } - - private boolean jj_3R_252() { -======= - private boolean jj_3R_294() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_272() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_289()) { - jj_scanpos = xsp; - if (jj_3R_290()) { - jj_scanpos = xsp; - if (jj_3R_291()) { - jj_scanpos = xsp; - if (jj_3R_292()) return true; - } - } - } - return false; - } - - private boolean jj_3R_289() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_277() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_271() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_282()) { - jj_scanpos = xsp; - if (jj_3R_283()) { - jj_scanpos = xsp; - if (jj_3R_284()) { - jj_scanpos = xsp; - if (jj_3R_285()) return true; - } - } - } - return false; - } - - private boolean jj_3R_282() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_291() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_279() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_284() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_270() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_278()) { - jj_scanpos = xsp; - if (jj_3R_279()) { - jj_scanpos = xsp; - if (jj_3R_280()) return true; - } - } - return false; - } - - private boolean jj_3R_275() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_278() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_257() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(DOT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_235() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_252()) jj_scanpos = xsp; -======= - private boolean jj_3R_244() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_257()) jj_scanpos = xsp; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - xsp = jj_scanpos; - if (jj_scan_token(72)) { - jj_scanpos = xsp; - if (jj_scan_token(49)) { - jj_scanpos = xsp; - if (jj_scan_token(50)) { - jj_scanpos = xsp; - if (jj_scan_token(52)) return true; - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_211() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_246()) { - jj_scanpos = xsp; - if (jj_3R_247()) { - jj_scanpos = xsp; - if (jj_3R_248()) { - jj_scanpos = xsp; - if (jj_3R_249()) return true; -======= - private boolean jj_3R_243() { - if (jj_scan_token(STRING)) return true; - return false; - } - - private boolean jj_3R_242() { - if (jj_3R_256()) return true; - return false; - } - - private boolean jj_3R_196() { - if (jj_3R_220()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_273()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_199() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_243()) { - jj_scanpos = xsp; - if (jj_3R_244()) { - jj_scanpos = xsp; - if (jj_3R_245()) { - jj_scanpos = xsp; - if (jj_3R_246()) { - jj_scanpos = xsp; - if (jj_3R_247()) return true; - } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_246() { - if (jj_3R_259()) return true; - return false; - } - - private boolean jj_3R_234() { - if (jj_scan_token(STRING)) return true; - return false; - } - - private boolean jj_3R_233() { - if (jj_3R_251()) return true; - return false; - } - - private boolean jj_3R_190() { - Token xsp; - if (jj_3R_211()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_211()) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_195() { - if (jj_3R_219()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_272()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_276() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_194() { - if (jj_3R_218()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_271()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_193() { - if (jj_3R_217()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_270()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_193() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_234()) { - jj_scanpos = xsp; - if (jj_3R_235()) { - jj_scanpos = xsp; - if (jj_3R_236()) { - jj_scanpos = xsp; - if (jj_3R_237()) { - jj_scanpos = xsp; - if (jj_3R_238()) return true; - } -======= - private boolean jj_3R_269() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_274()) { - jj_scanpos = xsp; - if (jj_3R_275()) { - jj_scanpos = xsp; - if (jj_3R_276()) { - jj_scanpos = xsp; - if (jj_3R_277()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_189() { - if (jj_3R_210()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_268()) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_274() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_192() { - if (jj_3R_216()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_269()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_175() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_189()) { - jj_scanpos = xsp; - if (jj_3R_190()) return true; -======= - private boolean jj_3R_241() { - if (jj_scan_token(DIMEN)) return true; - return false; - } - - private boolean jj_3R_178() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_192()) { - jj_scanpos = xsp; - if (jj_3R_193()) { - jj_scanpos = xsp; - if (jj_3R_194()) { - jj_scanpos = xsp; - if (jj_3R_195()) { - jj_scanpos = xsp; - if (jj_3R_196()) return true; - } - } - } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - - private boolean jj_3R_240() { -<<<<<<< HEAD - if (jj_3R_208()) return true; - if (jj_3R_175()) return true; - return false; - } - - private boolean jj_3R_232() { - if (jj_scan_token(DIMEN)) return true; - return false; - } - - private boolean jj_3R_231() { - if (jj_scan_token(KHZ)) return true; - return false; - } - - private boolean jj_3R_230() { -======= - if (jj_scan_token(KHZ)) return true; - return false; - } - - private boolean jj_3R_249() { - if (jj_3R_214()) return true; - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_239() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(HZ)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_229() { -======= - private boolean jj_3R_238() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(MS)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_228() { -======= - private boolean jj_3R_237() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(SECOND)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_227() { -======= - private boolean jj_3R_236() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(GRAD)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_226() { -======= - private boolean jj_3R_235() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(RAD)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_225() { -======= - private boolean jj_3R_234() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(DEG)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_224() { -======= - private boolean jj_3R_233() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(EXS)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_223() { -======= - private boolean jj_3R_232() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(REM)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3_2() { - if (jj_3R_174()) return true; - if (jj_3R_175()) return true; - return false; - } - - private boolean jj_3R_222() { - if (jj_scan_token(LEM)) return true; - return false; - } - - private boolean jj_3R_221() { - if (jj_scan_token(EMS)) return true; - return false; - } - - private boolean jj_3R_195() { -======= - private boolean jj_3R_231() { - if (jj_scan_token(LEM)) return true; - return false; - } - - private boolean jj_3R_230() { - if (jj_scan_token(EMS)) return true; - return false; - } - - private boolean jj_3R_229() { - if (jj_scan_token(PX)) return true; - return false; - } - - private boolean jj_3_2() { - if (jj_3R_177()) return true; - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_228() { - if (jj_scan_token(IN)) return true; - return false; - } - - private boolean jj_3R_227() { - if (jj_scan_token(PC)) return true; - return false; - } - - private boolean jj_3R_201() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(COMMA)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } -<<<<<<< HEAD - if (jj_3R_194()) return true; - return false; - } - - private boolean jj_3R_239() { - if (jj_3R_175()) return true; - return false; - } - - private boolean jj_3R_220() { - if (jj_scan_token(PX)) return true; - return false; - } - - private boolean jj_3R_219() { - if (jj_scan_token(IN)) return true; - return false; - } - - private boolean jj_3R_194() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_239()) { - jj_scanpos = xsp; - if (jj_3R_240()) return true; -======= - if (jj_3R_200()) return true; - return false; - } - - private boolean jj_3R_248() { - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_226() { - if (jj_scan_token(MM)) return true; - return false; - } - - private boolean jj_3R_225() { - if (jj_scan_token(CM)) return true; - return false; - } - - private boolean jj_3R_200() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_248()) { - jj_scanpos = xsp; - if (jj_3R_249()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - while (true) { - xsp = jj_scanpos; - if (jj_3_2()) { jj_scanpos = xsp; break; } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_218() { - if (jj_scan_token(PC)) return true; - return false; - } - - private boolean jj_3R_217() { - if (jj_scan_token(MM)) return true; - return false; - } - - private boolean jj_3R_216() { - if (jj_scan_token(CM)) return true; - return false; - } - - private boolean jj_3R_215() { -======= - private boolean jj_3R_224() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(PT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_214() { -======= - private boolean jj_3R_223() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(PERCENTAGE)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3_1() { - if (jj_3R_173()) return true; - return false; - } - - private boolean jj_3R_200() { - if (jj_3R_242()) return true; - return false; - } - - private boolean jj_3R_179() { - if (jj_3R_194()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_195()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_213() { - if (jj_scan_token(NUMBER)) return true; - return false; - } - - private boolean jj_3R_212() { - if (jj_3R_250()) return true; - return false; - } - - private boolean jj_3R_192() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_212()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_213()) { - jj_scanpos = xsp; - 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()) { - jj_scanpos = xsp; - if (jj_3R_219()) { - jj_scanpos = xsp; - if (jj_3R_220()) { - jj_scanpos = xsp; - if (jj_3R_221()) { - jj_scanpos = xsp; -======= - private boolean jj_3R_206() { - if (jj_3R_251()) return true; - return false; - } - - private boolean jj_3R_222() { - if (jj_scan_token(NUMBER)) return true; - return false; - } - - private boolean jj_3R_221() { - if (jj_3R_255()) return true; - return false; - } - - private boolean jj_3_1() { - if (jj_3R_176()) return true; - return false; - } - - private boolean jj_3R_198() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_221()) jj_scanpos = xsp; - xsp = jj_scanpos; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_3R_222()) { - jj_scanpos = xsp; - if (jj_3R_223()) { - jj_scanpos = xsp; - if (jj_3R_224()) { - jj_scanpos = xsp; - if (jj_3R_225()) { - jj_scanpos = xsp; - if (jj_3R_226()) { - jj_scanpos = xsp; - if (jj_3R_227()) { - jj_scanpos = xsp; - if (jj_3R_228()) { - jj_scanpos = xsp; - if (jj_3R_229()) { - jj_scanpos = xsp; - if (jj_3R_230()) { - jj_scanpos = xsp; - if (jj_3R_231()) { - jj_scanpos = xsp; - if (jj_3R_232()) { - jj_scanpos = xsp; -<<<<<<< HEAD - if (jj_3R_233()) return true; -======= - if (jj_3R_233()) { - jj_scanpos = xsp; - if (jj_3R_234()) { - jj_scanpos = xsp; - if (jj_3R_235()) { - jj_scanpos = xsp; - if (jj_3R_236()) { - jj_scanpos = xsp; - if (jj_3R_237()) { - jj_scanpos = xsp; - if (jj_3R_238()) { - jj_scanpos = xsp; - if (jj_3R_239()) { - jj_scanpos = xsp; - if (jj_3R_240()) { - jj_scanpos = xsp; - if (jj_3R_241()) { - jj_scanpos = xsp; - if (jj_3R_242()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_178() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_192()) { - jj_scanpos = xsp; - if (jj_3R_193()) return true; -======= - private boolean jj_3R_182() { - if (jj_3R_200()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_201()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_181() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_198()) { - jj_scanpos = xsp; - if (jj_3R_199()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_253() { -======= - private boolean jj_3R_258() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(HASH)) return true; - return false; - } - - private boolean jj_3_4() { -<<<<<<< HEAD - if (jj_3R_176()) return true; - return false; - } - - private boolean jj_3R_242() { - if (jj_3R_183()) return true; - return false; - } - - private boolean jj_3R_254() { -======= - if (jj_3R_179()) return true; - return false; - } - - private boolean jj_3R_251() { - if (jj_3R_186()) return true; - return false; - } - - private boolean jj_3R_259() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(URL)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_199() { - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_257() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - - private boolean jj_3R_181() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_199()) { - jj_scanpos = xsp; - if (jj_3R_200()) return true; -======= - private boolean jj_3R_205() { - if (jj_3R_181()) return true; - return false; - } - - private boolean jj_3R_184() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_205()) { - jj_scanpos = xsp; - if (jj_3R_206()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - - private boolean jj_3_9() { -<<<<<<< HEAD - if (jj_3R_182()) return true; - return false; - } - - private boolean jj_3_3() { - if (jj_3R_173()) return true; - return false; - } - - private boolean jj_3R_264() { - if (jj_scan_token(PLUS)) return true; - return false; - } - - private boolean jj_3R_250() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_263()) { - jj_scanpos = xsp; - if (jj_3R_264()) return true; -======= - if (jj_3R_185()) return true; - return false; - } - - private boolean jj_3R_262() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - - private boolean jj_3_3() { - if (jj_3R_176()) return true; - return false; - } - - private boolean jj_3R_265() { - if (jj_scan_token(PLUS)) return true; - return false; - } - - private boolean jj_3R_255() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_264()) { - jj_scanpos = xsp; - if (jj_3R_265()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_263() { -======= - private boolean jj_3R_264() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(MINUS)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_255() { -======= - private boolean jj_3R_260() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(UNICODERANGE)) return true; - return false; - } - - private boolean jj_3_8() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_9()) jj_scanpos = xsp; -<<<<<<< HEAD - if (jj_3R_181()) return true; - return false; - } - - private boolean jj_3R_183() { - if (jj_scan_token(VARIABLE)) return true; -======= - if (jj_3R_184()) return true; - return false; - } - - private boolean jj_3R_189() { - if (jj_scan_token(SEMICOLON)) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_186() { - if (jj_scan_token(SEMICOLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_187() { - if (jj_3R_184()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_8()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_184() { - if (jj_3R_181()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_8()) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_186() { - if (jj_scan_token(VARIABLE)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_241() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_256()) { - jj_scanpos = xsp; - if (jj_3R_257()) return true; -======= - private boolean jj_3R_250() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_261()) { - jj_scanpos = xsp; - if (jj_3R_262()) return true; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_256() { -======= - private boolean jj_3R_261() { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_scan_token(IDENT)) return true; - return false; - } - -<<<<<<< HEAD - private boolean jj_3R_196() { - Token xsp; - if (jj_3R_241()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_241()) { jj_scanpos = xsp; break; } -======= - private boolean jj_3R_202() { - Token xsp; - if (jj_3R_250()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_250()) { jj_scanpos = xsp; break; } ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - -<<<<<<< HEAD -======= - private boolean jj_3R_212() { - if (jj_scan_token(MINUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_211() { - if (jj_scan_token(PLUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - /** Generated Token Manager. */ - public ParserTokenManager token_source; - /** Current token. */ - public Token token; - /** Next token. */ - public Token jj_nt; - private int jj_ntk; - private Token jj_scanpos, jj_lastpos; - private int jj_la; - private int jj_gen; -<<<<<<< HEAD - final private int[] jj_la1 = new int[253]; -======= - final private int[] jj_la1 = new int[259]; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - static private int[] jj_la1_0; - static private int[] jj_la1_1; - static private int[] jj_la1_2; - static private int[] jj_la1_3; - static { - jj_la1_init_0(); - jj_la1_init_1(); - jj_la1_init_2(); - jj_la1_init_3(); - } - private static void jj_la1_init_0() { -<<<<<<< HEAD - jj_la1_0 = new int[] {0x0,0x302,0x302,0x0,0x300,0x2,0x2,0x2,0xd4c40000,0x0,0x300,0x2,0x300,0x2,0x0,0x2,0x2,0x2,0x0,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0xd4c40000,0xd4c40000,0x2,0x2,0x2,0xd4fd1500,0xd4fd1500,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x200000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,0x391500,0xc40000,0xc40002,0xc40000,0x2,0x2,0x80120002,0x80120002,0x2,0x0,0x0,0x2,0x2,0x2,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0xd4c40000,0x2,0x84000000,0x84000000,0x84000000,0x84000000,0xd4000000,0x0,0x0,0x0,0x0,0x50000000,0x2,0x2,0x3f000,0x2,0x0,0x2,0x3f000,0x0,0x2,0x0,0x2,0x0,0x2,0x200000,0x0,0xd4c40000,0x0,0x134e0002,0x2,0xd4c40000,0x2,0x0,0x2,0x134e0002,0x0,0x2,0xd4c40000,0x2,0x134e0002,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0x2,0x2,0x100000,0x0,0x0,0x800c0000,0x2,0x0,0x100000,0x2,0x800c0000,0x2,0x0,0x2,0x2,0x0,0x2,0x200000,0x2,0xd4c40000,0x2,0x200400,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0x100000,0x0,0x2,0x2,0x0,0x2,0x2,0x2,0x200000,0x2,0x2,0x200000,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,0x0,0xd4c40000,0x2,0x0,0x2,0x0,0x200000,0x2,0x0,0x2,0x800c0400,0x2,0x0,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x321c0000,0xc0000,0x800c0000,0xc0000,0x0,0x80000000,0x0,0x80000000,0x800c0000,0x2,0x2,0x800c0000,0x2,0xd4c40000,0x2,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,}; - } - private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x566000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x120000,0x0,0x120000,0x0,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0x60001c0,0x60001c0,0x0,0x0,0x0,0x0,0x40,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0xc2,0xc2,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0xc0,0x0,0x40,0x40,0x40,0x40,0xc0,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x50000000,0x64000c0,0x50000000,0x3f,0x0,0x564000c0,0x0,0x80000000,0x0,0x3f,0x0,0x0,0x564000c0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x564000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x160040,0x0,0x40,0x0,0x0,0x160040,0x0,0x40,0x0,0x0,0x80,0x0,0x0,0x0,0x60000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x6000000,0xc0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x160000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x160000,0x0,0x0,0x0,0x160000,0x160000,0x160000,0x0,0x0,0x160000,0x0,0x60000c0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; - } - private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x1000,0x0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x100,0x100,0x0,0x0,0x2000,0x0,0x2000,0x0,0x0,0x1119,0x1119,0x0,0x0,0x0,0x2b80,0x2b80,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x2a80,0x0,0x0,0x0,0x0,0x0,0x380,0x380,0x0,0x100,0x100,0x0,0x0,0x0,0x0,0x1119,0x1119,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x100,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x100,0x0,0x40,0x0,0x0,0x0,0x109,0x1000,0x1300,0x0,0x1109,0x0,0x0,0x0,0x1300,0x20,0x0,0x1109,0x0,0x1300,0x0,0x0,0x0,0x1100,0x0,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x1109,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x1000,0xfffffb80,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0x0,0x0,0x0,0x1100,0x0,0x0,0x0,0x100,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,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0xfffffb80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0xffffe200,0x0,0x100,0x980,0xffffeb80,0x0,0x0,0xfffffb80,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,}; - } - private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x8,0x80,0x80,0x2,0x80,0x0,0x0,0x0,0x75,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x45,0x45,0x0,0x0,0x0,0xc401bf,0xc401bf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401be,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x47,0x0,0x0,0x0,0x1,0x0,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x45,0x0,0x200000,0x0,0x45,0x0,0x0,0x0,0x200000,0x0,0x0,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x75,0x75,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x380000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x400000,0x0,0x0,0x40001,0x440001,0x0,0x0,0x440001,0x0,0x37,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; -======= - jj_la1_0 = new int[] {0x0,0x302,0x302,0x0,0x300,0x2,0x2,0x2,0xd4c40000,0x0,0x300,0x2,0x300,0x2,0x0,0x2,0x2,0x2,0x0,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0xd4c40000,0xd4c40000,0x2,0x2,0x2,0xd4fd1500,0xd4fd1500,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x200000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,0x391500,0xc40000,0xc40002,0xc40000,0x2,0x2,0x80120002,0x80120002,0x2,0x0,0x0,0x2,0x2,0x2,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0xd4c40000,0x2,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0x84000000,0xd4000000,0x0,0x0,0x0,0x0,0x50000000,0x2,0x2,0x3f000,0x2,0x0,0x2,0x3f000,0x0,0x2,0x0,0x2,0x0,0x2,0x200000,0x0,0xd4c40000,0x0,0x134e0002,0x2,0xd4c40000,0x2,0x0,0x2,0x134e0002,0x0,0x2,0xd4c40000,0x2,0x134e0002,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0x2,0x2,0x100000,0x0,0x0,0x800c0000,0x2,0x0,0x100000,0x2,0x800c0000,0x2,0x0,0x2,0x0,0x2,0x2,0x200000,0x2,0xd4c40000,0x2,0x200400,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x100000,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0x100000,0x0,0x2,0x2,0x0,0x2,0x2,0x2,0x200000,0x2,0x2,0x200000,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,0x0,0xd4c40000,0x2,0x0,0x2,0x0,0x200000,0x2,0x0,0x2,0x800c0400,0x2,0x0,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x321c0000,0xc0000,0x800c0000,0xc0000,0x0,0x80000000,0x0,0x80000000,0x800c0000,0x2,0x2,0x800c0000,0x2,0xd4c40000,0x2,0x2,0x2,0x0,0x200000,0x2,0x0,0x2,}; - } - private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x566000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x0,0x0,0x120000,0x0,0x120000,0x0,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0x60001c0,0x60001c0,0x0,0x0,0x0,0x0,0x40,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0xc2,0xc2,0x0,0x80,0x80,0x0,0x0,0x0,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0xc0,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,0x50000000,0x64000c0,0x50000000,0x3f,0x0,0x564000c0,0x0,0x80000000,0x0,0x3f,0x0,0x0,0x564000c0,0x0,0x3f,0x0,0x0,0x0,0x0,0x0,0x564000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x564000c0,0x564000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40,0x160040,0x0,0x40,0x0,0x0,0x160040,0x0,0x40,0x0,0x80,0x0,0x0,0x0,0x0,0x60000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x6000000,0xc0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x160000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x160000,0x0,0x0,0x0,0x160000,0x160000,0x160000,0x0,0x0,0x160000,0x0,0x60000c0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,}; - } - private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x1000,0x0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x100,0x100,0x0,0x0,0x2000,0x0,0x2000,0x0,0x0,0x1119,0x1119,0x0,0x0,0x0,0x2b80,0x2b80,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x2a80,0x0,0x0,0x0,0x0,0x0,0x380,0x380,0x0,0x100,0x100,0x0,0x0,0x0,0x0,0x1119,0x1119,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x100,0x0,0x40,0x0,0x0,0x0,0x109,0x1000,0x1300,0x0,0x1109,0x0,0x0,0x0,0x1300,0x20,0x0,0x1109,0x0,0x1300,0x0,0x0,0x0,0x1100,0x0,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x1109,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x1000,0xfffffb80,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0x0,0x0,0x1100,0x0,0x0,0x0,0x0,0x100,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,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,0xfffffb80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0xffffe200,0x0,0x100,0x980,0xffffeb80,0x0,0x0,0xfffffb80,0x0,0x100,0x0,0x0,0x0,0x100,0x0,0x0,0x100,0x0,}; - } - private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x8,0x80,0x80,0x2,0x80,0x0,0x0,0x0,0x75,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x45,0x45,0x0,0x0,0x0,0xc401bf,0xc401bf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401be,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x47,0x0,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x0,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x45,0x0,0x200000,0x0,0x45,0x0,0x0,0x0,0x200000,0x0,0x0,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x75,0x75,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x380000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x400000,0x0,0x0,0x40001,0x440001,0x0,0x0,0x440001,0x0,0x37,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - } - final private JJCalls[] jj_2_rtns = new JJCalls[9]; - private boolean jj_rescan = false; - private int jj_gc = 0; - - /** Constructor with user supplied CharStream. */ - public Parser(CharStream stream) { - token_source = new ParserTokenManager(stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; -<<<<<<< HEAD - for (int i = 0; i < 253; i++) jj_la1[i] = -1; -======= - for (int i = 0; i < 259; i++) jj_la1[i] = -1; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Reinitialise. */ - public void ReInit(CharStream stream) { - token_source.ReInit(stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; -<<<<<<< HEAD - for (int i = 0; i < 253; i++) jj_la1[i] = -1; -======= - for (int i = 0; i < 259; i++) jj_la1[i] = -1; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Constructor with generated Token Manager. */ - public Parser(ParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; -<<<<<<< HEAD - for (int i = 0; i < 253; i++) jj_la1[i] = -1; -======= - for (int i = 0; i < 259; i++) jj_la1[i] = -1; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Reinitialise. */ - public void ReInit(ParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; -<<<<<<< HEAD - for (int i = 0; i < 253; i++) jj_la1[i] = -1; -======= - for (int i = 0; i < 259; i++) jj_la1[i] = -1; ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - private Token jj_consume_token(int kind) throws ParseException { - Token oldToken; - if ((oldToken = token).next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - if (token.kind == kind) { - jj_gen++; - if (++jj_gc > 100) { - jj_gc = 0; + + private boolean jj_3R_178() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_192()) { + jj_scanpos = xsp; + if (jj_3R_193()) { + return true; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_253() { + if (jj_scan_token(HASH)) { + return true; + } + return false; + } + + private boolean jj_3_4() { + if (jj_3R_176()) { + return true; + } + return false; + } + + private boolean jj_3R_242() { + if (jj_3R_183()) { + return true; + } + return false; + } + + private boolean jj_3R_254() { + if (jj_scan_token(URL)) { + return true; + } + return false; + } + + private boolean jj_3R_199() { + if (jj_3R_178()) { + return true; + } + return false; + } + + private boolean jj_3R_257() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } + + private boolean jj_3R_181() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_199()) { + jj_scanpos = xsp; + if (jj_3R_200()) { + return true; + } + } + return false; + } + + private boolean jj_3_9() { + if (jj_3R_182()) { + return true; + } + return false; + } + + private boolean jj_3_3() { + if (jj_3R_173()) { + return true; + } + return false; + } + + private boolean jj_3R_264() { + if (jj_scan_token(PLUS)) { + return true; + } + return false; + } + + private boolean jj_3R_250() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_263()) { + jj_scanpos = xsp; + if (jj_3R_264()) { + return true; + } + } + return false; + } + + private boolean jj_3R_263() { + if (jj_scan_token(MINUS)) { + return true; + } + return false; + } + + private boolean jj_3R_255() { + if (jj_scan_token(UNICODERANGE)) { + return true; + } + return false; + } + + private boolean jj_3_8() { + Token xsp; + xsp = jj_scanpos; + if (jj_3_9()) { + jj_scanpos = xsp; + } + if (jj_3R_181()) { + return true; + } + return false; + } + + private boolean jj_3R_183() { + 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_186() { + if (jj_scan_token(SEMICOLON)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_184() { + if (jj_3R_181()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_8()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_241() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_256()) { + jj_scanpos = xsp; + if (jj_3R_257()) { + return true; + } + } + return false; + } + + private boolean jj_3R_256() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_196() { + Token xsp; + if (jj_3R_241()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_241()) { + jj_scanpos = xsp; + break; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + /** Generated Token Manager. */ + public ParserTokenManager token_source; + /** Current token. */ + public Token token; + /** Next token. */ + public Token jj_nt; + private int jj_ntk; + private Token jj_scanpos, jj_lastpos; + private int jj_la; + private int jj_gen; + final private int[] jj_la1 = new int[253]; + static private int[] jj_la1_0; + static private int[] jj_la1_1; + static private int[] jj_la1_2; + static private int[] jj_la1_3; + static { + jj_la1_init_0(); + jj_la1_init_1(); + jj_la1_init_2(); + jj_la1_init_3(); + } + + private static void jj_la1_init_0() { + jj_la1_0 = new int[] { 0x0, 0x302, 0x302, 0x0, 0x300, 0x2, 0x2, 0x2, + 0xd4c40000, 0x0, 0x300, 0x2, 0x300, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x0, 0x0, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0xd4c40000, + 0xd4c40000, 0x2, 0x2, 0x2, 0xd4fd1500, 0xd4fd1500, 0x2, 0x2, + 0x2, 0x0, 0x0, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, 0x391500, 0xc40000, + 0xc40002, 0xc40000, 0x2, 0x2, 0x80120002, 0x80120002, 0x2, 0x0, + 0x0, 0x2, 0x2, 0x2, 0x2, 0xd4c40000, 0xd4c40000, 0x2, 0x100000, + 0x2, 0xd4c40000, 0x2, 0x84000000, 0x84000000, 0x84000000, + 0x84000000, 0xd4000000, 0x0, 0x0, 0x0, 0x0, 0x50000000, 0x2, + 0x2, 0x3f000, 0x2, 0x0, 0x2, 0x3f000, 0x0, 0x2, 0x0, 0x2, 0x0, + 0x2, 0x200000, 0x0, 0xd4c40000, 0x0, 0x134e0002, 0x2, + 0xd4c40000, 0x2, 0x0, 0x2, 0x134e0002, 0x0, 0x2, 0xd4c40000, + 0x2, 0x134e0002, 0x2, 0x2, 0x2, 0x0, 0x2, 0xd4c40000, 0x2, 0x2, + 0x100000, 0x2, 0x2, 0x2, 0x2, 0x0, 0x2, 0xd4c40000, 0xd4c40000, + 0x2, 0x100000, 0x2, 0x2, 0x2, 0x100000, 0x0, 0x0, 0x800c0000, + 0x2, 0x0, 0x100000, 0x2, 0x800c0000, 0x2, 0x0, 0x2, 0x2, 0x0, + 0x2, 0x200000, 0x2, 0xd4c40000, 0x2, 0x200400, 0x2, 0x2, 0x0, + 0x2, 0x0, 0x2, 0x2, 0x2, 0x100000, 0x2, 0x2, 0x2, 0x2, 0x2, + 0x0, 0x2, 0x2, 0x2, 0x100000, 0x2, 0x2, 0x2, 0x0, 0x2, 0x2, + 0x2, 0x100000, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x100000, 0x0, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, 0x200000, 0x2, + 0x2, 0x200000, 0x2, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, 0x0, + 0xd4c40000, 0x2, 0x0, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, + 0x800c0400, 0x2, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, + 0x321c0000, 0xc0000, 0x800c0000, 0xc0000, 0x0, 0x80000000, 0x0, + 0x80000000, 0x800c0000, 0x2, 0x2, 0x800c0000, 0x2, 0xd4c40000, + 0x2, 0x2, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, }; + } + + private static void jj_la1_init_1() { + jj_la1_1 = new int[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x566000c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, + 0x80, 0x0, 0x0, 0x120000, 0x0, 0x120000, 0x0, 0x0, 0x564000c0, + 0x564000c0, 0x0, 0x0, 0x0, 0x60001c0, 0x60001c0, 0x0, 0x0, 0x0, + 0x0, 0x40, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x80, + 0x0, 0x0, 0x80, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc2, + 0xc2, 0x0, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x564000c0, + 0x564000c0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x40, 0x40, 0x40, 0x40, + 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50000000, + 0x64000c0, 0x50000000, 0x3f, 0x0, 0x564000c0, 0x0, 0x80000000, + 0x0, 0x3f, 0x0, 0x0, 0x564000c0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x564000c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, + 0x564000c0, 0x564000c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, + 0x40, 0x160040, 0x0, 0x40, 0x0, 0x0, 0x160040, 0x0, 0x40, 0x0, + 0x0, 0x80, 0x0, 0x0, 0x0, 0x60000c0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x6000000, 0x0, + 0x0, 0x60000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x0, 0x0, 0x80, 0x0, 0x6000000, 0xc0, 0x0, 0x0, 0x0, + 0x80, 0x0, 0x0, 0x80, 0x0, 0x160000, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x160000, 0x0, 0x0, 0x0, + 0x160000, 0x160000, 0x160000, 0x0, 0x0, 0x160000, 0x0, + 0x60000c0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0, }; + } + + private static void jj_la1_init_2() { + jj_la1_2 = new int[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, + 0x1000, 0x0, 0x0, 0x0, 0x0, 0x880, 0x0, 0x0, 0x0, 0x100, 0x100, + 0x0, 0x0, 0x2000, 0x0, 0x2000, 0x0, 0x0, 0x1119, 0x1119, 0x0, + 0x0, 0x0, 0x2b80, 0x2b80, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, + 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, + 0x100, 0x0, 0x2a80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x380, 0x380, 0x0, + 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0x1119, 0x1119, 0x0, 0x0, + 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x100, 0x100, + 0x100, 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0x180, 0x0, 0x0, 0x0, + 0x0, 0x100, 0x0, 0x40, 0x0, 0x0, 0x0, 0x109, 0x1000, 0x1300, + 0x0, 0x1109, 0x0, 0x0, 0x0, 0x1300, 0x20, 0x0, 0x1109, 0x0, + 0x1300, 0x0, 0x0, 0x0, 0x1100, 0x0, 0x1109, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x100, 0x0, 0x1109, 0x1109, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1000, 0x1000, 0xfffffb80, 0x0, 0x0, 0x0, 0x0, + 0xfffffb80, 0x0, 0x0, 0x0, 0x0, 0x1100, 0x0, 0x0, 0x0, 0x100, + 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, 0x1000, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, + 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0xfffffb80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffb80, + 0x0, 0xffffe200, 0x0, 0x100, 0x980, 0xffffeb80, 0x0, 0x0, + 0xfffffb80, 0x0, 0x100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, + 0x0, }; + } + + private static void jj_la1_init_3() { + jj_la1_3 = new int[] { 0x8, 0x80, 0x80, 0x2, 0x80, 0x0, 0x0, 0x0, 0x75, + 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x45, 0x0, 0x0, 0x0, + 0xc401bf, 0xc401bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc401be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x400000, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x47, 0x0, 0x0, 0x0, 0x1, + 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x45, 0x0, 0x200000, 0x0, 0x45, 0x0, 0x0, 0x0, + 0x200000, 0x0, 0x0, 0x45, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x45, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x0, 0x75, + 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x440001, 0x0, + 0x0, 0x0, 0x0, 0x440001, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x0, + 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x380000, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x440001, + 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x440001, 0x0, 0x400000, 0x0, 0x0, 0x40001, 0x440001, 0x0, 0x0, + 0x440001, 0x0, 0x37, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; + } + + final private JJCalls[] jj_2_rtns = new JJCalls[9]; + private boolean jj_rescan = false; + private int jj_gc = 0; + + /** Constructor with user supplied CharStream. */ + public Parser(CharStream stream) { + token_source = new ParserTokenManager(stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 253; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); + } + } + + /** Reinitialise. */ + public void ReInit(CharStream stream) { + token_source.ReInit(stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 253; i++) { + jj_la1[i] = -1; + } for (int i = 0; i < jj_2_rtns.length; i++) { - JJCalls c = jj_2_rtns[i]; - while (c != null) { - if (c.gen < jj_gen) c.first = null; - c = c.next; - } - } - } - return token; - } - token = oldToken; - jj_kind = kind; - throw generateParseException(); - } - - static private final class LookaheadSuccess extends java.lang.Error { } - final private LookaheadSuccess jj_ls = new LookaheadSuccess(); - private boolean jj_scan_token(int kind) { - if (jj_scanpos == jj_lastpos) { - jj_la--; - if (jj_scanpos.next == null) { - jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); - } else { - jj_lastpos = jj_scanpos = jj_scanpos.next; - } - } else { - jj_scanpos = jj_scanpos.next; - } - if (jj_rescan) { - int i = 0; Token tok = token; - while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } - if (tok != null) jj_add_error_token(kind, i); - } - if (jj_scanpos.kind != kind) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; - return false; - } - - -/** Get the next Token. */ - final public Token getNextToken() { - if (token.next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - jj_gen++; - return token; - } - -/** Get the specific Token. */ - final public Token getToken(int index) { - Token t = token; - for (int i = 0; i < index; i++) { - if (t.next != null) t = t.next; - else t = t.next = token_source.getNextToken(); - } - return t; - } - - private int jj_ntk() { - if ((jj_nt=token.next) == null) - return (jj_ntk = (token.next=token_source.getNextToken()).kind); - else - return (jj_ntk = jj_nt.kind); - } - - private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); - private int[] jj_expentry; - private int jj_kind = -1; - private int[] jj_lasttokens = new int[100]; - private int jj_endpos; - - private void jj_add_error_token(int kind, int pos) { - if (pos >= 100) return; - if (pos == jj_endpos + 1) { - jj_lasttokens[jj_endpos++] = kind; - } else if (jj_endpos != 0) { - jj_expentry = new int[jj_endpos]; - for (int i = 0; i < jj_endpos; i++) { - jj_expentry[i] = jj_lasttokens[i]; - } - jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) { - int[] oldentry = (int[])(it.next()); - if (oldentry.length == jj_expentry.length) { - for (int i = 0; i < jj_expentry.length; i++) { - if (oldentry[i] != jj_expentry[i]) { - continue jj_entries_loop; - } - } - jj_expentries.add(jj_expentry); - break jj_entries_loop; - } - } - if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; - } - } - - /** Generate ParseException. */ - public ParseException generateParseException() { - jj_expentries.clear(); - boolean[] la1tokens = new boolean[120]; - if (jj_kind >= 0) { - la1tokens[jj_kind] = true; - jj_kind = -1; - } -<<<<<<< HEAD - for (int i = 0; i < 253; i++) { -======= - for (int i = 0; i < 259; i++) { ->>>>>>> 21c3bff... A fix for handling nested parentheses in sass (#12833) - if (jj_la1[i] == jj_gen) { - for (int j = 0; j < 32; j++) { - if ((jj_la1_0[i] & (1<<j)) != 0) { - la1tokens[j] = true; - } - if ((jj_la1_1[i] & (1<<j)) != 0) { - la1tokens[32+j] = true; - } - if ((jj_la1_2[i] & (1<<j)) != 0) { - la1tokens[64+j] = true; - } - if ((jj_la1_3[i] & (1<<j)) != 0) { - la1tokens[96+j] = true; - } - } - } - } - for (int i = 0; i < 120; i++) { - if (la1tokens[i]) { - jj_expentry = new int[1]; - jj_expentry[0] = i; - jj_expentries.add(jj_expentry); - } - } - jj_endpos = 0; - jj_rescan_token(); - jj_add_error_token(0, 0); - int[][] exptokseq = new int[jj_expentries.size()][]; - for (int i = 0; i < jj_expentries.size(); i++) { - exptokseq[i] = jj_expentries.get(i); - } - return new ParseException(token, exptokseq, tokenImage); - } - - /** Enable tracing. */ - final public void enable_tracing() { - } - - /** Disable tracing. */ - final public void disable_tracing() { - } - - private void jj_rescan_token() { - jj_rescan = true; - for (int i = 0; i < 9; i++) { - try { - JJCalls p = jj_2_rtns[i]; - do { - if (p.gen > jj_gen) { - jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; - switch (i) { - case 0: jj_3_1(); break; - case 1: jj_3_2(); break; - case 2: jj_3_3(); break; - case 3: jj_3_4(); break; - case 4: jj_3_5(); break; - case 5: jj_3_6(); break; - case 6: jj_3_7(); break; - case 7: jj_3_8(); break; - case 8: jj_3_9(); break; - } - } - p = p.next; - } while (p != null); - } catch(LookaheadSuccess ls) { } - } - jj_rescan = false; - } - - private void jj_save(int index, int xla) { - JJCalls p = jj_2_rtns[index]; - while (p.gen > jj_gen) { - if (p.next == null) { p = p.next = new JJCalls(); break; } - p = p.next; - } - p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; - } - - static final class JJCalls { - int gen; - Token first; - int arg; - JJCalls next; - } + jj_2_rtns[i] = new JJCalls(); + } + } + + /** Constructor with generated Token Manager. */ + public Parser(ParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 253; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); + } + } + + /** Reinitialise. */ + public void ReInit(ParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 253; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); + } + } + + private Token jj_consume_token(int kind) throws ParseException { + Token oldToken; + if ((oldToken = token).next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } + jj_ntk = -1; + if (token.kind == kind) { + jj_gen++; + if (++jj_gc > 100) { + jj_gc = 0; + for (int i = 0; i < jj_2_rtns.length; i++) { + JJCalls c = jj_2_rtns[i]; + while (c != null) { + if (c.gen < jj_gen) { + c.first = null; + } + c = c.next; + } + } + } + return token; + } + token = oldToken; + jj_kind = kind; + throw generateParseException(); + } + + static private final class LookaheadSuccess extends java.lang.Error { + } + + final private LookaheadSuccess jj_ls = new LookaheadSuccess(); + + private boolean jj_scan_token(int kind) { + if (jj_scanpos == jj_lastpos) { + jj_la--; + if (jj_scanpos.next == null) { + jj_lastpos = jj_scanpos = jj_scanpos.next = token_source + .getNextToken(); + } else { + jj_lastpos = jj_scanpos = jj_scanpos.next; + } + } else { + jj_scanpos = jj_scanpos.next; + } + if (jj_rescan) { + int i = 0; + Token tok = token; + while (tok != null && tok != jj_scanpos) { + i++; + tok = tok.next; + } + if (tok != null) { + jj_add_error_token(kind, i); + } + } + if (jj_scanpos.kind != kind) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + throw jj_ls; + } + return false; + } + + /** Get the next Token. */ + final public Token getNextToken() { + if (token.next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } + jj_ntk = -1; + jj_gen++; + return token; + } + + /** Get the specific Token. */ + final public Token getToken(int index) { + Token t = token; + for (int i = 0; i < index; i++) { + if (t.next != null) { + t = t.next; + } else { + t = t.next = token_source.getNextToken(); + } + } + return t; + } + + private int jj_ntk() { + if ((jj_nt = token.next) == null) { + return (jj_ntk = (token.next = token_source.getNextToken()).kind); + } else { + return (jj_ntk = jj_nt.kind); + } + } + + private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); + private int[] jj_expentry; + private int jj_kind = -1; + private int[] jj_lasttokens = new int[100]; + private int jj_endpos; + + private void jj_add_error_token(int kind, int pos) { + if (pos >= 100) { + return; + } + if (pos == jj_endpos + 1) { + jj_lasttokens[jj_endpos++] = kind; + } else if (jj_endpos != 0) { + jj_expentry = new int[jj_endpos]; + for (int i = 0; i < jj_endpos; i++) { + jj_expentry[i] = jj_lasttokens[i]; + } + jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries + .iterator(); it.hasNext();) { + int[] oldentry = (int[]) (it.next()); + if (oldentry.length == jj_expentry.length) { + for (int i = 0; i < jj_expentry.length; i++) { + if (oldentry[i] != jj_expentry[i]) { + continue jj_entries_loop; + } + } + jj_expentries.add(jj_expentry); + break jj_entries_loop; + } + } + if (pos != 0) { + jj_lasttokens[(jj_endpos = pos) - 1] = kind; + } + } + } + + /** Generate ParseException. */ + public ParseException generateParseException() { + jj_expentries.clear(); + boolean[] la1tokens = new boolean[120]; + if (jj_kind >= 0) { + la1tokens[jj_kind] = true; + jj_kind = -1; + } + for (int i = 0; i < 253; i++) { + if (jj_la1[i] == jj_gen) { + for (int j = 0; j < 32; j++) { + if ((jj_la1_0[i] & (1 << j)) != 0) { + la1tokens[j] = true; + } + if ((jj_la1_1[i] & (1 << j)) != 0) { + la1tokens[32 + j] = true; + } + if ((jj_la1_2[i] & (1 << j)) != 0) { + la1tokens[64 + j] = true; + } + if ((jj_la1_3[i] & (1 << j)) != 0) { + la1tokens[96 + j] = true; + } + } + } + } + for (int i = 0; i < 120; i++) { + if (la1tokens[i]) { + jj_expentry = new int[1]; + jj_expentry[0] = i; + jj_expentries.add(jj_expentry); + } + } + jj_endpos = 0; + jj_rescan_token(); + jj_add_error_token(0, 0); + int[][] exptokseq = new int[jj_expentries.size()][]; + for (int i = 0; i < jj_expentries.size(); i++) { + exptokseq[i] = jj_expentries.get(i); + } + return new ParseException(token, exptokseq, tokenImage); + } + + /** Enable tracing. */ + final public void enable_tracing() { + } + + /** Disable tracing. */ + final public void disable_tracing() { + } + + private void jj_rescan_token() { + jj_rescan = true; + for (int i = 0; i < 9; i++) { + try { + JJCalls p = jj_2_rtns[i]; + do { + if (p.gen > jj_gen) { + jj_la = p.arg; + jj_lastpos = jj_scanpos = p.first; + switch (i) { + case 0: + jj_3_1(); + break; + case 1: + jj_3_2(); + break; + case 2: + jj_3_3(); + break; + case 3: + jj_3_4(); + break; + case 4: + jj_3_5(); + break; + case 5: + jj_3_6(); + break; + case 6: + jj_3_7(); + break; + case 7: + jj_3_8(); + break; + case 8: + jj_3_9(); + break; + } + } + p = p.next; + } while (p != null); + } catch (LookaheadSuccess ls) { + } + } + jj_rescan = false; + } + + private void jj_save(int index, int xla) { + JJCalls p = jj_2_rtns[index]; + while (p.gen > jj_gen) { + if (p.next == null) { + p = p.next = new JJCalls(); + break; + } + p = p.next; + } + p.gen = jj_gen + xla - jj_la; + p.first = token; + p.arg = xla; + } + + static final class JJCalls { + int gen; + Token first; + int arg; + JJCalls next; + } } diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj index 8ea6c5ed7c..95fee1fbae 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj @@ -2375,8 +2375,9 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) :
{
LexicalUnitImpl result && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { i++; } + result = LexicalUnitImpl.createDimen(n.beginLine, n.beginColumn, prev, - Float.valueOf(s.substring(0, i)).floatValue(), + number(op,n,s.length()-i), s.substring(i)); } | result=function(op, prev) ) ) |