aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoheriks <joheriks@vaadin.com>2013-11-27 17:34:30 +0200
committerVaadin Code Review <review@vaadin.com>2013-11-28 07:59:15 +0000
commit37919d14b7509b1c8d8495a3e334d50a913bfe6f (patch)
tree4ff44578c4e22d98a07e79c2a778aa2b266c0021
parent1ac492e46b70de9314083492bd8e136e1c8398e3 (diff)
downloadvaadin-framework-37919d14b7509b1c8d8495a3e334d50a913bfe6f.tar.gz
vaadin-framework-37919d14b7509b1c8d8495a3e334d50a913bfe6f.zip
For @-directives, infer missing semicolon before closing brace (#12792)
Parser now accepts the following (note missing semicolon after last @extend-directive): xyzzy { @extend foo ; @extend bar } As a consequence, moved 31 sasslang-cases from broken to fixed. Moved two tests from fixed to broken (34, 95, previously passed accidentally) Change-Id: I8968074abd79dec71be762ed926cc6f37fbcaa99
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandler.java6
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java10
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/CharStream.java2
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java1604
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj75
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Token.java2
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/TokenMgrError.java2
-rw-r--r--theme-compiler/tests/resources/sasslang/css/106-test_pseudoclass_remains_at_end_of_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/109-test_pseudoelement_remains_at_end_of_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/2-test_basic.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/66-test_multiple_extends_with_single_extender_and_single_target.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/80-test_nested_extender_merges_with_same_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/91-test_nested_selector_with_child_selector_hack_extendee.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/css/98-test_not_remains_at_end_of_selector.css (renamed from theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/106-test_pseudoclass_remains_at_end_of_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/109-test_pseudoelement_remains_at_end_of_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/80-test_nested_extender_merges_with_same_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslang/scss/98-test_not_remains_at_end_of_selector.scss (renamed from theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslangbroken/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css (renamed from theme-compiler/tests/resources/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css)0
-rw-r--r--theme-compiler/tests/resources/sasslangbroken/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css (renamed from theme-compiler/tests/resources/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css)0
-rw-r--r--theme-compiler/tests/resources/sasslangbroken/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss (renamed from theme-compiler/tests/resources/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss)0
-rw-r--r--theme-compiler/tests/resources/sasslangbroken/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss (renamed from theme-compiler/tests/resources/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss)0
69 files changed, 898 insertions, 803 deletions
diff --git a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandler.java b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandler.java
index e6916e5070..3bf6c056c4 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandler.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandler.java
@@ -51,8 +51,6 @@ public interface SCSSDocumentHandler extends DocumentHandler {
void endNestedProperties(String name);
- void includeDirective(String name, List<LexicalUnitImpl> args);
-
void importStyle(String uri, SACMediaList media, boolean isURL);
void property(String name, LexicalUnitImpl value, boolean important,
@@ -99,8 +97,8 @@ public interface SCSSDocumentHandler extends DocumentHandler {
void contentDirective();
- void startIncludeContentBlock(String name, List<LexicalUnitImpl> args);
+ void startInclude(String name, List<LexicalUnitImpl> args);
- void endIncludeContentBlock();
+ void endInclude();
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java
index 99f00e3889..633ab98b9c 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/handler/SCSSDocumentHandlerImpl.java
@@ -245,12 +245,6 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
}
@Override
- public void includeDirective(String name, List<LexicalUnitImpl> args) {
- MixinNode node = new MixinNode(name, args);
- nodeStack.peek().appendChild(node);
- }
-
- @Override
public void importStyle(String uri, SACMediaList media, boolean isURL) {
ImportNode node = new ImportNode(uri, media, isURL);
nodeStack.peek().appendChild(node);
@@ -375,7 +369,7 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
}
@Override
- public void startIncludeContentBlock(String name, List<LexicalUnitImpl> args) {
+ public void startInclude(String name, List<LexicalUnitImpl> args) {
MixinNode node = new MixinNode(name, args);
nodeStack.peek().appendChild(node);
nodeStack.push(node);
@@ -383,7 +377,7 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler {
}
@Override
- public void endIncludeContentBlock() {
+ public void endInclude() {
nodeStack.pop();
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/CharStream.java b/theme-compiler/src/com/vaadin/sass/internal/parser/CharStream.java
index e43320453c..c22f19451b 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/CharStream.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/CharStream.java
@@ -127,4 +127,4 @@ interface CharStream {
void Done();
}
-/* JavaCC - OriginalChecksum=18aae0a549695f0fec96a11297b442bb (do not edit this line) */
+/* JavaCC - OriginalChecksum=deb80d024b50bdc8bfaadaf528157233 (do not edit this line) */
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 86d028a7d4..eee53608b5 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
@@ -3908,7 +3908,7 @@ boolean isPseudoElement = false;
break;
case VARIABLE:
name = variableName();
- name = "$"+name;
+ name = "$"+name;
break;
case FUNCTION:
name = functionName();
@@ -3932,8 +3932,24 @@ boolean isPseudoElement = false;
jj_consume_token(-1);
throw new ParseException();
}
+ documentHandler.startInclude(name, args);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case LBRACE:
+ includeDirectiveBlockContents();
+ break;
case SEMICOLON:
+ includeDirectiveTerminator();
+ break;
+ default:
+ jj_la1[165] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ documentHandler.endInclude();
+ }
+
+ final public void includeDirectiveTerminator() throws ParseException {
+ try {
label_110:
while (true) {
jj_consume_token(SEMICOLON);
@@ -3944,7 +3960,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[165] = jj_gen;
+ jj_la1[166] = jj_gen;
break label_111;
}
jj_consume_token(S);
@@ -3954,98 +3970,93 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[166] = jj_gen;
+ jj_la1[167] = jj_gen;
break label_110;
}
}
- documentHandler.includeDirective(name, args);
- break;
- case LBRACE:
- jj_consume_token(LBRACE);
- label_112:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
- ;
- break;
- default:
- jj_la1[167] = jj_gen;
- break label_112;
- }
- jj_consume_token(S);
+ } catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
+ }
+
+ final public void includeDirectiveBlockContents() throws ParseException {
+ jj_consume_token(LBRACE);
+ label_112:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[168] = jj_gen;
+ break label_112;
}
- documentHandler.startIncludeContentBlock(name, args);
- label_113:
- 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 TO:
- case FROM:
- case DEBUG_SYM:
- case WARN_SYM:
- case IDENT:
- case PERCENTAGE:
- case HASH:
- ;
- break;
- default:
- jj_la1[168] = jj_gen;
- break label_113;
- }
- 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:
- styleRuleOrDeclarationOrNestedProperties();
- break;
- case TO:
- case FROM:
- case PERCENTAGE:
- keyframeSelector();
- break;
- default:
- jj_la1[169] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ jj_consume_token(S);
+ }
+ label_113:
+ 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 TO:
+ case FROM:
+ case DEBUG_SYM:
+ case WARN_SYM:
+ case IDENT:
+ case PERCENTAGE:
+ case HASH:
+ ;
+ break;
+ default:
+ jj_la1[169] = jj_gen;
+ break label_113;
}
- jj_consume_token(RBRACE);
- label_114:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
- ;
- break;
- default:
- jj_la1[170] = jj_gen;
- break label_114;
- }
- 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 DEBUG_SYM:
+ case WARN_SYM:
+ case IDENT:
+ case HASH:
+ styleRuleOrDeclarationOrNestedProperties();
+ break;
+ case TO:
+ case FROM:
+ case PERCENTAGE:
+ keyframeSelector();
+ break;
+ default:
+ jj_la1[170] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
- documentHandler.endIncludeContentBlock();
- break;
- default:
- jj_la1[171] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
+ }
+ jj_consume_token(RBRACE);
+ label_114:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[171] = jj_gen;
+ break label_114;
+ }
+ jj_consume_token(S);
}
}
@@ -4662,39 +4673,71 @@ boolean isPseudoElement = false;
final public void debugDirective() throws ParseException {
jj_consume_token(DEBUG_SYM);
- String content = skipStatementUntilSemiColon();
+ String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE});
// TODO should evaluate the content expression, call documentHandler.debugDirective() etc.
System.out.println(content);
- label_141:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
- ;
- break;
- default:
- jj_la1[209] = jj_gen;
- break label_141;
+ try {
+ label_141:
+ while (true) {
+ jj_consume_token(SEMICOLON);
+ label_142:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[209] = jj_gen;
+ break label_142;
+ }
+ jj_consume_token(S);
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case SEMICOLON:
+ ;
+ break;
+ default:
+ jj_la1[210] = jj_gen;
+ break label_141;
+ }
}
- jj_consume_token(S);
+ } catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
}
}
final public void warnDirective() throws ParseException {
jj_consume_token(WARN_SYM);
- String content = skipStatementUntilSemiColon();
+ String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE});
// TODO should evaluate the content expression, call documentHandler.warnDirective() etc.
System.err.println(content);
- label_142:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
- ;
- break;
- default:
- jj_la1[210] = jj_gen;
- break label_142;
+ try {
+ label_143:
+ while (true) {
+ jj_consume_token(SEMICOLON);
+ label_144:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[211] = jj_gen;
+ break label_144;
+ }
+ jj_consume_token(S);
+ }
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case SEMICOLON:
+ ;
+ break;
+ default:
+ jj_la1[212] = jj_gen;
+ break label_143;
+ }
}
- jj_consume_token(S);
+ } catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
}
}
@@ -4718,20 +4761,20 @@ boolean isPseudoElement = false;
exclusive = false;
break;
default:
- jj_la1[211] = jj_gen;
+ jj_la1[213] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
to = skipStatementUntilLeftBrace();
- label_143:
+ label_145:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[212] = jj_gen;
- break label_143;
+ jj_la1[214] = jj_gen;
+ break label_145;
}
jj_consume_token(S);
}
@@ -4752,83 +4795,91 @@ boolean isPseudoElement = false;
final public void extendDirective() throws ParseException {
ArrayList<String> list;
jj_consume_token(EXTEND_SYM);
- label_144:
+ label_146:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[213] = jj_gen;
- break label_144;
+ jj_la1[215] = jj_gen;
+ break label_146;
}
jj_consume_token(S);
}
list = selectorList();
- label_145:
- while (true) {
- jj_consume_token(SEMICOLON);
- label_146:
+ documentHandler.extendDirective(list);
+ try {
+ label_147:
while (true) {
+ jj_consume_token(SEMICOLON);
+ label_148:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[216] = jj_gen;
+ break label_148;
+ }
+ jj_consume_token(S);
+ }
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
+ case SEMICOLON:
;
break;
default:
- jj_la1[214] = jj_gen;
- break label_146;
+ jj_la1[217] = jj_gen;
+ break label_147;
}
- jj_consume_token(S);
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case SEMICOLON:
- ;
- break;
- default:
- jj_la1[215] = jj_gen;
- break label_145;
}
+ } catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
}
- documentHandler.extendDirective(list);
}
final public void contentDirective() throws ParseException {
jj_consume_token(CONTENT_SYM);
- label_147:
+ label_149:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[216] = jj_gen;
- break label_147;
+ jj_la1[218] = jj_gen;
+ break label_149;
}
jj_consume_token(S);
}
- label_148:
- while (true) {
- jj_consume_token(SEMICOLON);
- label_149:
+ try {
+ label_150:
while (true) {
+ jj_consume_token(SEMICOLON);
+ label_151:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[219] = jj_gen;
+ break label_151;
+ }
+ jj_consume_token(S);
+ }
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case S:
+ case SEMICOLON:
;
break;
default:
- jj_la1[217] = jj_gen;
- break label_149;
+ jj_la1[220] = jj_gen;
+ break label_150;
}
- jj_consume_token(S);
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case SEMICOLON:
- ;
- break;
- default:
- jj_la1[218] = jj_gen;
- break label_148;
}
+ } catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
}
documentHandler.contentDirective();
}
@@ -4854,28 +4905,28 @@ boolean isPseudoElement = false;
LexicalUnit exp;
name = property();
jj_consume_token(COLON);
- label_150:
+ label_152:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[219] = jj_gen;
- break label_150;
+ jj_la1[221] = jj_gen;
+ break label_152;
}
jj_consume_token(S);
}
jj_consume_token(LBRACE);
- label_151:
+ label_153:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[220] = jj_gen;
- break label_151;
+ jj_la1[222] = jj_gen;
+ break label_153;
}
jj_consume_token(S);
}
@@ -4886,29 +4937,29 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[221] = jj_gen;
+ jj_la1[223] = jj_gen;
;
}
- label_152:
+ label_154:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[222] = jj_gen;
- break label_152;
+ jj_la1[224] = jj_gen;
+ break label_154;
}
jj_consume_token(SEMICOLON);
- label_153:
+ label_155:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[223] = jj_gen;
- break label_153;
+ jj_la1[225] = jj_gen;
+ break label_155;
}
jj_consume_token(S);
}
@@ -4918,21 +4969,21 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[224] = jj_gen;
+ jj_la1[226] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
documentHandler.endNestedProperties(name);
- label_154:
+ label_156:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[225] = jj_gen;
- break label_154;
+ jj_la1[227] = jj_gen;
+ break label_156;
}
jj_consume_token(S);
}
@@ -4949,7 +5000,7 @@ LexicalUnit exp;
debuggingDirective();
break;
default:
- jj_la1[226] = jj_gen;
+ jj_la1[228] = jj_gen;
if (jj_2_6(2147483647)) {
styleRule();
} else if (jj_2_7(3)) {
@@ -4970,7 +5021,7 @@ LexicalUnit exp;
styleRule();
break;
default:
- jj_la1[227] = jj_gen;
+ jj_la1[229] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5015,15 +5066,15 @@ LexicalUnit exp;
name = property();
save = token;
jj_consume_token(COLON);
- label_155:
+ label_157:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[228] = jj_gen;
- break label_155;
+ jj_la1[230] = jj_gen;
+ break label_157;
}
jj_consume_token(S);
}
@@ -5067,7 +5118,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[229] = jj_gen;
+ jj_la1[231] = jj_gen;
;
}
Token next = getToken(1);
@@ -5086,15 +5137,15 @@ LexicalUnit exp;
break;
case LBRACE:
jj_consume_token(LBRACE);
- label_156:
+ label_158:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[230] = jj_gen;
- break label_156;
+ jj_la1[232] = jj_gen;
+ break label_158;
}
jj_consume_token(S);
}
@@ -5105,29 +5156,29 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[231] = jj_gen;
+ jj_la1[233] = jj_gen;
;
}
- label_157:
+ label_159:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[232] = jj_gen;
- break label_157;
+ jj_la1[234] = jj_gen;
+ break label_159;
}
jj_consume_token(SEMICOLON);
- label_158:
+ label_160:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[233] = jj_gen;
- break label_158;
+ jj_la1[235] = jj_gen;
+ break label_160;
}
jj_consume_token(S);
}
@@ -5137,27 +5188,27 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[234] = jj_gen;
+ jj_la1[236] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
- label_159:
+ label_161:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[235] = jj_gen;
- break label_159;
+ jj_la1[237] = jj_gen;
+ break label_161;
}
jj_consume_token(S);
}
documentHandler.endNestedProperties(name);
break;
default:
- jj_la1[236] = jj_gen;
+ jj_la1[238] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5207,15 +5258,15 @@ LexicalUnit exp;
name = property();
save = token;
jj_consume_token(COLON);
- label_160:
+ label_162:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[237] = jj_gen;
- break label_160;
+ jj_la1[239] = jj_gen;
+ break label_162;
}
jj_consume_token(S);
}
@@ -5225,7 +5276,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[238] = jj_gen;
+ jj_la1[240] = jj_gen;
;
}
documentHandler.property(name, exp, important);
@@ -5268,15 +5319,15 @@ LexicalUnit exp;
*/
final public boolean prio() throws ParseException {
jj_consume_token(IMPORTANT_SYM);
- label_161:
+ label_163:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[239] = jj_gen;
- break label_161;
+ jj_la1[241] = jj_gen;
+ break label_163;
}
jj_consume_token(S);
}
@@ -5286,15 +5337,15 @@ LexicalUnit exp;
final public boolean guarded() throws ParseException {
jj_consume_token(GUARDED_SYM);
- label_162:
+ label_164:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[240] = jj_gen;
- break label_162;
+ jj_la1[242] = jj_gen;
+ break label_164;
}
jj_consume_token(S);
}
@@ -5319,15 +5370,15 @@ LexicalUnit exp;
* 3. parenthesis is not supported now.
*/
n = jj_consume_token(COMMA);
- label_163:
+ label_165:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[241] = jj_gen;
- break label_163;
+ jj_la1[243] = jj_gen;
+ break label_165;
}
jj_consume_token(S);
}
@@ -5337,15 +5388,15 @@ LexicalUnit exp;
break;
case DIV:
n = jj_consume_token(DIV);
- label_164:
+ label_166:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[242] = jj_gen;
- break label_164;
+ jj_la1[244] = jj_gen;
+ break label_166;
}
jj_consume_token(S);
}
@@ -5355,15 +5406,15 @@ LexicalUnit exp;
break;
case ANY:
n = jj_consume_token(ANY);
- label_165:
+ label_167:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[243] = jj_gen;
- break label_165;
+ jj_la1[245] = jj_gen;
+ break label_167;
}
jj_consume_token(S);
}
@@ -5373,15 +5424,15 @@ LexicalUnit exp;
break;
case MOD:
n = jj_consume_token(MOD);
- label_166:
+ label_168:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[244] = jj_gen;
- break label_166;
+ jj_la1[246] = jj_gen;
+ break label_168;
}
jj_consume_token(S);
}
@@ -5391,7 +5442,7 @@ LexicalUnit exp;
break;
case PLUS:
n = jj_consume_token(PLUS);
- label_167:
+ label_169:
while (true) {
jj_consume_token(S);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -5399,8 +5450,8 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[245] = jj_gen;
- break label_167;
+ jj_la1[247] = jj_gen;
+ break label_169;
}
}
{if (true) return LexicalUnitImpl.createAdd(n.beginLine,
@@ -5409,7 +5460,7 @@ LexicalUnit exp;
break;
case MINUS:
n = jj_consume_token(MINUS);
- label_168:
+ label_170:
while (true) {
jj_consume_token(S);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -5417,8 +5468,8 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[246] = jj_gen;
- break label_168;
+ jj_la1[248] = jj_gen;
+ break label_170;
}
}
{if (true) return LexicalUnitImpl.createMinus(n.beginLine,
@@ -5426,7 +5477,7 @@ LexicalUnit exp;
prev);}
break;
default:
- jj_la1[247] = jj_gen;
+ jj_la1[249] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5441,12 +5492,12 @@ LexicalUnit exp;
char op;
first = term(null);
res = first;
- label_169:
+ label_171:
while (true) {
if (jj_2_8(2)) {
;
} else {
- break label_169;
+ break label_171;
}
if (jj_2_9(2)) {
res = operator(res);
@@ -5473,7 +5524,7 @@ LexicalUnit exp;
{if (true) return '+';}
break;
default:
- jj_la1[248] = jj_gen;
+ jj_la1[250] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5526,7 +5577,7 @@ LexicalUnit exp;
result = variableTerm(prev);
break;
default:
- jj_la1[249] = jj_gen;
+ jj_la1[251] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5579,7 +5630,7 @@ LexicalUnitImpl result = null;
op = unaryOperator();
break;
default:
- jj_la1[250] = jj_gen;
+ jj_la1[252] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -5695,7 +5746,7 @@ LexicalUnitImpl result = null;
result = function(op, prev);
break;
default:
- jj_la1[251] = jj_gen;
+ jj_la1[253] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5728,7 +5779,7 @@ LexicalUnitImpl result = null;
s+=".";
break;
default:
- jj_la1[252] = jj_gen;
+ jj_la1[254] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -5745,7 +5796,7 @@ LexicalUnitImpl result = null;
n = jj_consume_token(FROM);
break;
default:
- jj_la1[253] = jj_gen;
+ jj_la1[255] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5792,25 +5843,25 @@ LexicalUnitImpl result = null;
result = unicode(prev);
break;
default:
- jj_la1[254] = jj_gen;
+ jj_la1[256] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[255] = jj_gen;
+ jj_la1[257] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
- label_170:
+ label_172:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[256] = jj_gen;
- break label_170;
+ jj_la1[258] = jj_gen;
+ break label_172;
}
jj_consume_token(S);
}
@@ -5826,15 +5877,15 @@ LexicalUnitImpl result = null;
Token n;
LexicalUnit params = null;
n = jj_consume_token(FUNCTION);
- label_171:
+ label_173:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[257] = jj_gen;
- break label_171;
+ jj_la1[259] = jj_gen;
+ break label_173;
}
jj_consume_token(S);
}
@@ -5885,7 +5936,7 @@ LexicalUnitImpl result = null;
params = expr();
break;
default:
- jj_la1[258] = jj_gen;
+ jj_la1[260] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -6342,15 +6393,15 @@ LexicalUnitImpl result = null;
// TODO required by original parser but not used by Vaadin?
final public void _parseRule() throws ParseException {
String ret = null;
- label_172:
+ label_174:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[259] = jj_gen;
- break label_172;
+ jj_la1[261] = jj_gen;
+ break label_174;
}
jj_consume_token(S);
}
@@ -6385,7 +6436,7 @@ LexicalUnitImpl result = null;
fontFace();
break;
default:
- jj_la1[260] = jj_gen;
+ jj_la1[262] = jj_gen;
ret = skipStatement();
if ((ret == null) || (ret.length() == 0)) {
{if (true) return;}
@@ -6400,15 +6451,15 @@ LexicalUnitImpl result = null;
}
final public void _parseImportRule() throws ParseException {
- label_173:
+ label_175:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[261] = jj_gen;
- break label_173;
+ jj_la1[263] = jj_gen;
+ break label_175;
}
jj_consume_token(S);
}
@@ -6416,15 +6467,15 @@ LexicalUnitImpl result = null;
}
final public void _parseMediaRule() throws ParseException {
- label_174:
+ label_176:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[262] = jj_gen;
- break label_174;
+ jj_la1[264] = jj_gen;
+ break label_176;
}
jj_consume_token(S);
}
@@ -6432,15 +6483,15 @@ LexicalUnitImpl result = null;
}
final public void _parseDeclarationBlock() throws ParseException {
- label_175:
+ label_177:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[263] = jj_gen;
- break label_175;
+ jj_la1[265] = jj_gen;
+ break label_177;
}
jj_consume_token(S);
}
@@ -6450,29 +6501,29 @@ LexicalUnitImpl result = null;
declaration();
break;
default:
- jj_la1[264] = jj_gen;
+ jj_la1[266] = jj_gen;
;
}
- label_176:
+ label_178:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[265] = jj_gen;
- break label_176;
+ jj_la1[267] = jj_gen;
+ break label_178;
}
jj_consume_token(SEMICOLON);
- label_177:
+ label_179:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[266] = jj_gen;
- break label_177;
+ jj_la1[268] = jj_gen;
+ break label_179;
}
jj_consume_token(S);
}
@@ -6482,7 +6533,7 @@ LexicalUnitImpl result = null;
declaration();
break;
default:
- jj_la1[267] = jj_gen;
+ jj_la1[269] = jj_gen;
;
}
}
@@ -6491,15 +6542,15 @@ LexicalUnitImpl result = null;
final public ArrayList<String> _parseSelectors() throws ParseException {
ArrayList<String> p = null;
try {
- label_178:
+ label_180:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
;
break;
default:
- jj_la1[268] = jj_gen;
- break label_178;
+ jj_la1[270] = jj_gen;
+ break label_180;
}
jj_consume_token(S);
}
@@ -6511,6 +6562,13 @@ LexicalUnitImpl result = null;
throw new Error("Missing return statement in function");
}
+ void acceptMissingSemicolonBeforeRbrace(ParseException parseException) throws ParseException {
+ Token next = getToken(1);
+ if (next.kind != RBRACE) {
+ throw parseException;
+ }
+ }
+
private boolean jj_2_1(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_1(); }
@@ -6574,29 +6632,14 @@ LexicalUnitImpl result = null;
finally { jj_save(8, xla); }
}
- private boolean jj_3R_213() {
- 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_212() {
- if (jj_scan_token(ANY)) return true;
+ private boolean jj_3R_202() {
+ 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_211() {
- if (jj_scan_token(DIV)) return true;
- Token xsp;
+ if (jj_scan_token(COLON)) return true;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
@@ -6604,54 +6647,25 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_210() {
- if (jj_scan_token(COMMA)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_220() {
+ if (jj_3R_219()) return true;
return false;
}
- private boolean jj_3R_188() {
+ private boolean jj_3R_184() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_210()) {
- jj_scanpos = xsp;
- if (jj_3R_211()) {
- jj_scanpos = xsp;
- if (jj_3R_212()) {
- jj_scanpos = xsp;
- if (jj_3R_213()) {
- jj_scanpos = xsp;
- if (jj_3R_214()) {
- jj_scanpos = xsp;
- if (jj_3R_215()) return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_216() {
- if (jj_scan_token(GUARDED_SYM)) return true;
- Token xsp;
+ if (jj_3R_202()) 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_218() {
- if (jj_3R_217()) return true;
- return false;
- }
-
- private boolean jj_3R_217() {
+ private boolean jj_3R_219() {
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(18)) {
@@ -6668,68 +6682,61 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_179() {
- if (jj_3R_189()) return true;
+ private boolean jj_3R_181() {
+ if (jj_3R_191()) 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_190()) return true;
- xsp = jj_scanpos;
- if (jj_3R_191()) jj_scanpos = xsp;
if (jj_3R_192()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_193()) jj_scanpos = xsp;
+ if (jj_3R_194()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_192()) { jj_scanpos = xsp; break; }
+ if (jj_3R_194()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_194() {
+ private boolean jj_3R_196() {
if (jj_scan_token(S)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_218()) jj_scanpos = xsp;
+ if (jj_3R_220()) jj_scanpos = xsp;
return false;
}
- private boolean jj_3R_193() {
- if (jj_3R_217()) return true;
+ private boolean jj_3R_195() {
+ if (jj_3R_219()) return true;
return false;
}
- private boolean jj_3R_180() {
+ private boolean jj_3R_182() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_193()) {
+ if (jj_3R_195()) {
jj_scanpos = xsp;
- if (jj_3R_194()) return true;
+ if (jj_3R_196()) return true;
}
return false;
}
- private boolean jj_3R_200() {
- 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; }
- }
+ private boolean jj_3R_222() {
+ if (jj_scan_token(HASH)) return true;
return false;
}
- private boolean jj_3R_182() {
+ private boolean jj_3R_292() {
+ if (jj_scan_token(IDENT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_293() {
+ if (jj_scan_token(FUNCTION)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_200()) jj_scanpos = xsp;
- if (jj_scan_token(CONTAINS)) return true;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
@@ -6738,119 +6745,138 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_220() {
- if (jj_scan_token(HASH)) return true;
+ private boolean jj_3_7() {
+ if (jj_3R_188()) return true;
return false;
}
- private boolean jj_3R_290() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_291() {
+ if (jj_scan_token(COLON)) return true;
return false;
}
- private boolean jj_3R_291() {
- if (jj_scan_token(FUNCTION)) return true;
+ private boolean jj_3R_209() {
+ if (jj_scan_token(LBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_224() {
+ 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_291()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_292()) {
+ jj_scanpos = xsp;
+ if (jj_3R_293()) return true;
}
- if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
return false;
}
- private boolean jj_3R_289() {
- if (jj_scan_token(COLON)) return true;
+ private boolean jj_3R_208() {
+ if (jj_3R_192()) return true;
return false;
}
- private boolean jj_3R_222() {
+ private boolean jj_3_6() {
+ if (jj_3R_187()) return true;
+ if (jj_scan_token(LBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_188() {
+ if (jj_3R_207()) 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_289()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_290()) {
+ if (jj_3R_208()) {
jj_scanpos = xsp;
- if (jj_3R_291()) return true;
+ if (jj_3R_209()) return true;
}
return false;
}
- private boolean jj_3_7() {
- if (jj_3R_186()) return true;
+ private boolean jj_3R_271() {
+ if (jj_3R_192()) return true;
return false;
}
- private boolean jj_3R_207() {
- if (jj_scan_token(LBRACE)) return true;
+ private boolean jj_3R_312() {
+ if (jj_scan_token(STRING)) return true;
return false;
}
- private boolean jj_3R_310() {
- if (jj_scan_token(STRING)) return true;
+ private boolean jj_3R_261() {
+ if (jj_scan_token(FUNCTION)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_271()) jj_scanpos = xsp;
+ if (jj_scan_token(RPARAN)) return true;
return false;
}
- private boolean jj_3R_308() {
+ private boolean jj_3R_310() {
if (jj_scan_token(STARMATCH)) return true;
return false;
}
- private boolean jj_3R_309() {
+ private boolean jj_3R_311() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_307() {
+ private boolean jj_3R_309() {
if (jj_scan_token(DOLLARMATCH)) return true;
return false;
}
- private boolean jj_3R_306() {
+ private boolean jj_3R_308() {
if (jj_scan_token(CARETMATCH)) return true;
return false;
}
- private boolean jj_3R_305() {
+ private boolean jj_3R_307() {
if (jj_scan_token(DASHMATCH)) return true;
return false;
}
- private boolean jj_3R_304() {
+ private boolean jj_3R_306() {
if (jj_scan_token(INCLUDES)) return true;
return false;
}
- private boolean jj_3R_206() {
- if (jj_3R_190()) return true;
- return false;
- }
-
- private boolean jj_3R_271() {
+ private boolean jj_3R_273() {
if (jj_scan_token(INTERPOLATION)) return true;
return false;
}
- private boolean jj_3R_303() {
+ private boolean jj_3R_305() {
if (jj_scan_token(EQ)) return true;
return false;
}
- private boolean jj_3R_296() {
+ private boolean jj_3R_298() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_303()) {
- jj_scanpos = xsp;
- if (jj_3R_304()) {
- jj_scanpos = xsp;
if (jj_3R_305()) {
jj_scanpos = xsp;
if (jj_3R_306()) {
jj_scanpos = xsp;
if (jj_3R_307()) {
jj_scanpos = xsp;
- if (jj_3R_308()) return true;
+ if (jj_3R_308()) {
+ jj_scanpos = xsp;
+ if (jj_3R_309()) {
+ jj_scanpos = xsp;
+ if (jj_3R_310()) return true;
}
}
}
@@ -6861,9 +6887,9 @@ LexicalUnitImpl result = null;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_309()) {
+ if (jj_3R_311()) {
jj_scanpos = xsp;
- if (jj_3R_310()) return true;
+ if (jj_3R_312()) return true;
}
while (true) {
xsp = jj_scanpos;
@@ -6872,29 +6898,22 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3_6() {
- if (jj_3R_185()) return true;
- if (jj_scan_token(LBRACE)) return true;
+ private boolean jj_3R_252() {
+ if (jj_3R_265()) return true;
return false;
}
- private boolean jj_3R_186() {
- if (jj_3R_205()) 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_206()) {
- jj_scanpos = xsp;
- if (jj_3R_207()) return true;
- }
+ private boolean jj_3R_251() {
+ if (jj_3R_264()) return true;
return false;
}
- private boolean jj_3R_223() {
+ private boolean jj_3R_250() {
+ if (jj_3R_263()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_225() {
if (jj_scan_token(LBRACKET)) return true;
Token xsp;
while (true) {
@@ -6907,83 +6926,65 @@ LexicalUnitImpl result = null;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_296()) jj_scanpos = xsp;
+ if (jj_3R_298()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
- private boolean jj_3R_269() {
- if (jj_3R_190()) return true;
- return false;
- }
-
- private boolean jj_3R_302() {
+ private boolean jj_3R_304() {
if (jj_scan_token(INTERPOLATION)) return true;
return false;
}
- private boolean jj_3R_257() {
+ private boolean jj_3R_259() {
if (jj_scan_token(PARENT)) return true;
return false;
}
- private boolean jj_3R_256() {
+ private boolean jj_3R_258() {
if (jj_scan_token(ANY)) return true;
return false;
}
- private boolean jj_3R_266() {
+ private boolean jj_3R_268() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_270()) {
+ if (jj_3R_272()) {
jj_scanpos = xsp;
- if (jj_3R_271()) return true;
+ if (jj_3R_273()) return true;
}
return false;
}
- private boolean jj_3R_270() {
+ private boolean jj_3R_272() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_219() {
+ private boolean jj_3R_221() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_255()) {
+ if (jj_3R_257()) {
jj_scanpos = xsp;
- if (jj_3R_256()) {
+ if (jj_3R_258()) {
jj_scanpos = xsp;
- if (jj_3R_257()) return true;
- }
+ if (jj_3R_259()) return true;
}
- return false;
- }
-
- private boolean jj_3R_255() {
- Token xsp;
- if (jj_3R_266()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_266()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_259() {
- if (jj_scan_token(FUNCTION)) return true;
+ private boolean jj_3R_257() {
Token xsp;
+ if (jj_3R_268()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ if (jj_3R_268()) { jj_scanpos = xsp; break; }
}
- xsp = jj_scanpos;
- if (jj_3R_269()) jj_scanpos = xsp;
- if (jj_scan_token(RPARAN)) return true;
return false;
}
- private boolean jj_3R_183() {
+ private boolean jj_3R_185() {
if (jj_scan_token(COMMA)) return true;
Token xsp;
while (true) {
@@ -6993,32 +6994,40 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_250() {
- if (jj_3R_263()) return true;
- return false;
- }
-
- private boolean jj_3R_249() {
- if (jj_3R_262()) return true;
+ private boolean jj_3R_303() {
+ if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_248() {
- if (jj_3R_261()) return true;
+ private boolean jj_3R_286() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_303()) {
+ jj_scanpos = xsp;
+ if (jj_3R_304()) return true;
+ }
return false;
}
- private boolean jj_3R_301() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_262() {
+ if (jj_scan_token(DOT)) return true;
return false;
}
- private boolean jj_3R_284() {
+ private boolean jj_3R_249() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_301()) {
+ if (jj_3R_262()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(72)) {
jj_scanpos = xsp;
- if (jj_3R_302()) return true;
+ 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;
}
@@ -7026,318 +7035,355 @@ LexicalUnitImpl result = null;
private boolean jj_3_5() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_183()) jj_scanpos = xsp;
- if (jj_3R_184()) return true;
+ if (jj_3R_185()) jj_scanpos = xsp;
+ if (jj_3R_186()) return true;
return false;
}
- private boolean jj_3R_300() {
- if (jj_3R_222()) return true;
+ private boolean jj_3R_302() {
+ if (jj_3R_224()) return true;
return false;
}
- private boolean jj_3R_221() {
+ private boolean jj_3R_248() {
+ if (jj_scan_token(STRING)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_223() {
if (jj_scan_token(DOT)) return true;
Token xsp;
- if (jj_3R_284()) return true;
+ if (jj_3R_286()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_284()) { jj_scanpos = xsp; break; }
+ if (jj_3R_286()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_298() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_247() {
+ if (jj_3R_261()) return true;
return false;
}
- private boolean jj_3R_293() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_204() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_248()) {
+ jj_scanpos = xsp;
+ if (jj_3R_249()) {
+ jj_scanpos = xsp;
+ if (jj_3R_250()) {
+ jj_scanpos = xsp;
+ if (jj_3R_251()) {
+ jj_scanpos = xsp;
+ if (jj_3R_252()) return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_300() {
+ if (jj_3R_223()) return true;
return false;
}
private boolean jj_3R_295() {
- if (jj_3R_222()) return true;
+ if (jj_3R_223()) return true;
return false;
}
- private boolean jj_3R_283() {
- if (jj_3R_222()) return true;
+ private boolean jj_3R_297() {
+ if (jj_3R_224()) return true;
return false;
}
- private boolean jj_3R_286() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_285() {
+ if (jj_3R_224()) return true;
return false;
}
private boolean jj_3R_288() {
- if (jj_3R_222()) return true;
+ if (jj_3R_223()) return true;
return false;
}
- private boolean jj_3R_299() {
- if (jj_3R_223()) return true;
+ private boolean jj_3R_290() {
+ if (jj_3R_224()) return true;
return false;
}
- private boolean jj_3R_276() {
+ private boolean jj_3R_246() {
+ if (jj_scan_token(DIMEN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_245() {
+ if (jj_scan_token(KHZ)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_301() {
+ if (jj_3R_225()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_244() {
+ if (jj_scan_token(HZ)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_278() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_297()) {
+ if (jj_3R_299()) {
jj_scanpos = xsp;
- if (jj_3R_298()) {
+ if (jj_3R_300()) {
jj_scanpos = xsp;
- if (jj_3R_299()) {
+ if (jj_3R_301()) {
jj_scanpos = xsp;
- if (jj_3R_300()) return true;
+ if (jj_3R_302()) return true;
}
}
}
return false;
}
- private boolean jj_3R_297() {
- if (jj_3R_220()) return true;
+ private boolean jj_3R_299() {
+ if (jj_3R_222()) return true;
return false;
}
- private boolean jj_3R_275() {
+ private boolean jj_3R_277() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_292()) {
+ if (jj_3R_294()) {
jj_scanpos = xsp;
- if (jj_3R_293()) {
+ if (jj_3R_295()) {
jj_scanpos = xsp;
- if (jj_3R_294()) {
+ if (jj_3R_296()) {
jj_scanpos = xsp;
- if (jj_3R_295()) return true;
+ if (jj_3R_297()) return true;
}
}
}
return false;
}
- private boolean jj_3R_292() {
- if (jj_3R_220()) return true;
+ private boolean jj_3R_294() {
+ if (jj_3R_222()) return true;
return false;
}
- private boolean jj_3R_280() {
- if (jj_3R_222()) return true;
+ private boolean jj_3R_243() {
+ if (jj_scan_token(MS)) return true;
return false;
}
- private boolean jj_3R_274() {
+ private boolean jj_3R_282() {
+ if (jj_3R_224()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_276() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_285()) {
+ if (jj_3R_287()) {
jj_scanpos = xsp;
- if (jj_3R_286()) {
+ if (jj_3R_288()) {
jj_scanpos = xsp;
- if (jj_3R_287()) {
+ if (jj_3R_289()) {
jj_scanpos = xsp;
- if (jj_3R_288()) return true;
+ if (jj_3R_290()) return true;
}
}
}
return false;
}
- private boolean jj_3R_285() {
- if (jj_3R_220()) return true;
+ private boolean jj_3R_287() {
+ if (jj_3R_222()) return true;
return false;
}
- private boolean jj_3R_294() {
- if (jj_3R_223()) return true;
+ private boolean jj_3R_296() {
+ if (jj_3R_225()) return true;
return false;
}
- private boolean jj_3R_282() {
- if (jj_3R_223()) return true;
+ private boolean jj_3R_284() {
+ if (jj_3R_225()) return true;
return false;
}
- private boolean jj_3R_287() {
- if (jj_3R_223()) return true;
+ private boolean jj_3R_242() {
+ if (jj_scan_token(SECOND)) return true;
return false;
}
- private boolean jj_3R_273() {
+ private boolean jj_3R_289() {
+ if (jj_3R_225()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_275() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_281()) {
+ if (jj_3R_283()) {
jj_scanpos = xsp;
- if (jj_3R_282()) {
+ if (jj_3R_284()) {
jj_scanpos = xsp;
- if (jj_3R_283()) return true;
+ if (jj_3R_285()) return true;
}
}
return false;
}
- private boolean jj_3R_278() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_280() {
+ if (jj_3R_223()) return true;
return false;
}
- private boolean jj_3R_281() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_283() {
+ if (jj_3R_223()) return true;
return false;
}
- private boolean jj_3R_260() {
- if (jj_scan_token(DOT)) return true;
+ private boolean jj_3R_241() {
+ if (jj_scan_token(GRAD)) return true;
return false;
}
- private boolean jj_3R_247() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_260()) 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;
- }
- }
- }
+ private boolean jj_3R_240() {
+ if (jj_scan_token(RAD)) return true;
return false;
}
- private boolean jj_3R_246() {
- if (jj_scan_token(STRING)) return true;
+ private boolean jj_3R_239() {
+ if (jj_scan_token(DEG)) return true;
return false;
}
- private boolean jj_3R_245() {
- if (jj_3R_259()) return true;
+ private boolean jj_3R_238() {
+ if (jj_scan_token(EXS)) return true;
return false;
}
- private boolean jj_3R_202() {
+ private boolean jj_3R_201() {
+ if (jj_3R_225()) return true;
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()) {
- jj_scanpos = xsp;
- if (jj_3R_250()) return true;
- }
- }
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_278()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_199() {
- if (jj_3R_223()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_276()) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_237() {
+ if (jj_scan_token(REM)) return true;
return false;
}
- private boolean jj_3R_198() {
- if (jj_3R_222()) return true;
+ private boolean jj_3R_200() {
+ if (jj_3R_224()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_275()) { jj_scanpos = xsp; break; }
+ if (jj_3R_277()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_279() {
- if (jj_3R_223()) return true;
+ private boolean jj_3R_281() {
+ if (jj_3R_225()) return true;
return false;
}
- private boolean jj_3R_197() {
- if (jj_3R_221()) return true;
+ private boolean jj_3R_236() {
+ if (jj_scan_token(LEM)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_199() {
+ if (jj_3R_223()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_274()) { jj_scanpos = xsp; break; }
+ if (jj_3R_276()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_196() {
- if (jj_3R_220()) return true;
+ private boolean jj_3R_198() {
+ if (jj_3R_222()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_273()) { jj_scanpos = xsp; break; }
+ if (jj_3R_275()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_272() {
+ private boolean jj_3R_274() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_277()) {
+ if (jj_3R_279()) {
jj_scanpos = xsp;
- if (jj_3R_278()) {
+ if (jj_3R_280()) {
jj_scanpos = xsp;
- if (jj_3R_279()) {
+ if (jj_3R_281()) {
jj_scanpos = xsp;
- if (jj_3R_280()) return true;
+ if (jj_3R_282()) return true;
}
}
}
return false;
}
- private boolean jj_3R_277() {
- if (jj_3R_220()) return true;
+ private boolean jj_3R_279() {
+ if (jj_3R_222()) return true;
return false;
}
- private boolean jj_3R_244() {
- if (jj_scan_token(DIMEN)) return true;
+ private boolean jj_3R_235() {
+ if (jj_scan_token(EMS)) return true;
return false;
}
- private boolean jj_3R_195() {
- if (jj_3R_219()) return true;
+ private boolean jj_3R_234() {
+ if (jj_scan_token(PX)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_197() {
+ if (jj_3R_221()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_272()) { jj_scanpos = xsp; break; }
+ if (jj_3R_274()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_243() {
- if (jj_scan_token(KHZ)) return true;
+ private boolean jj_3R_233() {
+ if (jj_scan_token(IN)) return true;
return false;
}
- private boolean jj_3R_181() {
+ private boolean jj_3R_183() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_195()) {
- jj_scanpos = xsp;
- if (jj_3R_196()) {
- jj_scanpos = xsp;
if (jj_3R_197()) {
jj_scanpos = xsp;
if (jj_3R_198()) {
jj_scanpos = xsp;
- if (jj_3R_199()) return true;
+ if (jj_3R_199()) {
+ jj_scanpos = xsp;
+ if (jj_3R_200()) {
+ jj_scanpos = xsp;
+ if (jj_3R_201()) return true;
}
}
}
@@ -7345,161 +7391,57 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_242() {
- if (jj_scan_token(HZ)) return true;
- return false;
- }
-
- private boolean jj_3R_252() {
- if (jj_3R_217()) return true;
- if (jj_3R_181()) return true;
- return false;
- }
-
- private boolean jj_3R_241() {
- if (jj_scan_token(MS)) return true;
- return false;
- }
-
- private boolean jj_3R_240() {
- if (jj_scan_token(SECOND)) return true;
- return false;
- }
-
- private boolean jj_3R_239() {
- if (jj_scan_token(GRAD)) return true;
- return false;
- }
-
- private boolean jj_3R_238() {
- if (jj_scan_token(RAD)) return true;
- return false;
- }
-
- private boolean jj_3R_237() {
- if (jj_scan_token(DEG)) return true;
- return false;
- }
-
- private boolean jj_3R_236() {
- if (jj_scan_token(EXS)) return true;
- return false;
- }
-
- private boolean jj_3R_235() {
- if (jj_scan_token(REM)) return true;
- return false;
- }
-
- private boolean jj_3R_234() {
- if (jj_scan_token(LEM)) return true;
- return false;
- }
-
- private boolean jj_3R_233() {
- if (jj_scan_token(EMS)) return true;
- return false;
- }
-
private boolean jj_3R_232() {
- if (jj_scan_token(PX)) return true;
- return false;
- }
-
- private boolean jj_3_2() {
- if (jj_3R_180()) return true;
- if (jj_3R_181()) return true;
- return false;
- }
-
- private boolean jj_3R_231() {
- if (jj_scan_token(IN)) return true;
- return false;
- }
-
- private boolean jj_3R_230() {
if (jj_scan_token(PC)) return true;
return false;
}
- private boolean jj_3R_204() {
- 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_203()) return true;
- return false;
- }
-
- private boolean jj_3R_251() {
- if (jj_3R_181()) return true;
+ private boolean jj_3R_254() {
+ if (jj_3R_219()) return true;
+ if (jj_3R_183()) return true;
return false;
}
- private boolean jj_3R_229() {
+ private boolean jj_3R_231() {
if (jj_scan_token(MM)) return true;
return false;
}
- private boolean jj_3R_228() {
+ private boolean jj_3R_230() {
if (jj_scan_token(CM)) return true;
return false;
}
- private boolean jj_3R_203() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_251()) {
- jj_scanpos = xsp;
- if (jj_3R_252()) 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_227() {
+ private boolean jj_3R_229() {
if (jj_scan_token(PT)) return true;
return false;
}
- private boolean jj_3R_226() {
+ private boolean jj_3R_228() {
if (jj_scan_token(PERCENTAGE)) return true;
return false;
}
- private boolean jj_3R_209() {
- if (jj_3R_254()) return true;
+ private boolean jj_3R_211() {
+ if (jj_3R_256()) return true;
return false;
}
- private boolean jj_3R_225() {
+ private boolean jj_3R_227() {
if (jj_scan_token(NUMBER)) return true;
return false;
}
- private boolean jj_3R_224() {
- if (jj_3R_258()) return true;
+ private boolean jj_3R_226() {
+ if (jj_3R_260()) return true;
return false;
}
- private boolean jj_3R_201() {
+ private boolean jj_3R_203() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_224()) jj_scanpos = xsp;
+ if (jj_3R_226()) jj_scanpos = xsp;
xsp = jj_scanpos;
- 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()) {
@@ -7536,7 +7478,11 @@ LexicalUnitImpl result = null;
jj_scanpos = xsp;
if (jj_3R_244()) {
jj_scanpos = xsp;
- if (jj_3R_245()) return true;
+ if (jj_3R_245()) {
+ jj_scanpos = xsp;
+ if (jj_3R_246()) {
+ jj_scanpos = xsp;
+ if (jj_3R_247()) return true;
}
}
}
@@ -7560,12 +7506,12 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_184() {
+ private boolean jj_3R_186() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_201()) {
+ if (jj_3R_203()) {
jj_scanpos = xsp;
- if (jj_3R_202()) return true;
+ if (jj_3R_204()) return true;
}
while (true) {
xsp = jj_scanpos;
@@ -7574,92 +7520,117 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_261() {
+ private boolean jj_3R_263() {
if (jj_scan_token(HASH)) return true;
return false;
}
- private boolean jj_3_1() {
- if (jj_3R_179()) return true;
+ private boolean jj_3_2() {
+ if (jj_3R_182()) return true;
+ if (jj_3R_183()) return true;
return false;
}
- private boolean jj_3R_185() {
- if (jj_3R_203()) return true;
+ private boolean jj_3R_256() {
+ if (jj_3R_191()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_264() {
+ if (jj_scan_token(URL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_206() {
+ if (jj_scan_token(COMMA)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_204()) { jj_scanpos = xsp; break; }
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ if (jj_3R_205()) return true;
return false;
}
- private boolean jj_3_4() {
- if (jj_3R_182()) return true;
- return false;
- }
-
- private boolean jj_3R_254() {
- if (jj_3R_189()) return true;
+ private boolean jj_3R_253() {
+ if (jj_3R_183()) return true;
return false;
}
- private boolean jj_3R_262() {
- if (jj_scan_token(URL)) return true;
+ private boolean jj_3R_205() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_253()) {
+ jj_scanpos = xsp;
+ if (jj_3R_254()) 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_208() {
- if (jj_3R_184()) return true;
+ private boolean jj_3R_210() {
+ if (jj_3R_186()) return true;
return false;
}
- private boolean jj_3R_187() {
+ private boolean jj_3R_189() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_208()) {
+ if (jj_3R_210()) {
jj_scanpos = xsp;
- if (jj_3R_209()) return true;
+ if (jj_3R_211()) return true;
}
return false;
}
private boolean jj_3_9() {
- if (jj_3R_188()) return true;
- return false;
- }
-
- private boolean jj_3R_265() {
- if (jj_scan_token(INTERPOLATION)) return true;
+ if (jj_3R_190()) return true;
return false;
}
- private boolean jj_3R_268() {
+ private boolean jj_3R_270() {
if (jj_scan_token(PLUS)) return true;
return false;
}
- private boolean jj_3R_258() {
+ private boolean jj_3R_260() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_267()) {
+ if (jj_3R_269()) {
jj_scanpos = xsp;
- if (jj_3R_268()) return true;
+ if (jj_3R_270()) return true;
}
return false;
}
- private boolean jj_3R_267() {
+ private boolean jj_3R_269() {
if (jj_scan_token(MINUS)) return true;
return false;
}
- private boolean jj_3_3() {
- if (jj_3R_179()) return true;
+ private boolean jj_3_1() {
+ if (jj_3R_181()) return true;
return false;
}
- private boolean jj_3R_263() {
+ private boolean jj_3R_187() {
+ if (jj_3R_205()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_206()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_265() {
if (jj_scan_token(UNICODERANGE)) return true;
return false;
}
@@ -7668,12 +7639,17 @@ LexicalUnitImpl result = null;
Token xsp;
xsp = jj_scanpos;
if (jj_3_9()) jj_scanpos = xsp;
- if (jj_3R_187()) return true;
+ if (jj_3R_189()) return true;
return false;
}
- private boolean jj_3R_190() {
- if (jj_3R_187()) return true;
+ private boolean jj_3_4() {
+ if (jj_3R_184()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_192() {
+ if (jj_3R_189()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -7682,9 +7658,10 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_192() {
- if (jj_scan_token(SEMICOLON)) return true;
+ private boolean jj_3R_217() {
+ 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; }
@@ -7692,9 +7669,10 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_189() {
- if (jj_scan_token(VARIABLE)) return true;
+ private boolean jj_3R_216() {
+ 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; }
@@ -7702,28 +7680,49 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_253() {
+ private boolean jj_3R_267() {
+ if (jj_scan_token(INTERPOLATION)) return true;
+ return false;
+ }
+
+ private boolean jj_3_3() {
+ if (jj_3R_181()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_215() {
+ if (jj_scan_token(MOD)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_264()) {
- jj_scanpos = xsp;
- if (jj_3R_265()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_264() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_214() {
+ 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_205() {
+ private boolean jj_3R_213() {
+ if (jj_scan_token(DIV)) return true;
Token xsp;
- if (jj_3R_253()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_253()) { jj_scanpos = xsp; break; }
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ return false;
+ }
+
+ private boolean jj_3R_194() {
+ if (jj_scan_token(SEMICOLON)) return true;
+ Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
@@ -7731,10 +7730,9 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_215() {
- if (jj_scan_token(MINUS)) return true;
+ private boolean jj_3R_212() {
+ if (jj_scan_token(COMMA)) 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; }
@@ -7742,10 +7740,31 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_214() {
- if (jj_scan_token(PLUS)) return true;
+ private boolean jj_3R_190() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_212()) {
+ jj_scanpos = xsp;
+ 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()) return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_191() {
+ if (jj_scan_token(VARIABLE)) 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; }
@@ -7753,8 +7772,47 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_191() {
- if (jj_3R_216()) return true;
+ private boolean jj_3R_255() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_266()) {
+ jj_scanpos = xsp;
+ if (jj_3R_267()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_266() {
+ if (jj_scan_token(IDENT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_207() {
+ Token xsp;
+ if (jj_3R_255()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_255()) { 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(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_193() {
+ if (jj_3R_218()) return true;
return false;
}
@@ -7768,7 +7826,7 @@ LexicalUnitImpl result = null;
private Token jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
- final private int[] jj_la1 = new int[269];
+ final private int[] jj_la1 = new int[271];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -7780,16 +7838,16 @@ LexicalUnitImpl result = null;
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,0x0,0x2,0x0,0x2,0x100000,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,0xd4c40000,0x2,0x0,0x2,0x134e0002,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x134e0002,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0x0,0x2,0x2,0x100000,0x0,0x0,0x800c0000,0x2,0x0,0x100000,0x2,0x800c0000,0x2,0x0,0x800c0000,0x2,0x2,0x0,0x2,0x200000,0x2,0xd4c40000,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,};
+ 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,0x0,0x2,0x0,0x2,0x100000,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,0xd4c40000,0x2,0x0,0x2,0x134e0002,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x134e0002,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0x2,0x2,0x100000,0x2,0x2,0x2,0x2,0x0,0x2,0xd4c40000,0xd4c40000,0x2,0x100000,0x2,0x0,0x2,0x2,0x100000,0x0,0x0,0x800c0000,0x2,0x0,0x100000,0x2,0x800c0000,0x2,0x0,0x800c0000,0x2,0x2,0x0,0x200400,0x2,0x200000,0x2,0xd4c40000,0xd4c40000,0x2,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,0x200000,0x2,0x200000,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,0x120000,0x0,0x120000,0x0,0x0,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,0x564000c0,0x0,0x80000000,0x0,0x3f,0x0,0x0,0x564000c0,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,0x0,0x40,0x40,0x160040,0x0,0x40,0x0,0x0,0x160040,0x0,0x40,0x160000,0x0,0x0,0x80,0x0,0x0,0x0,0x61200c0,0x61200c0,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,};
+ 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,0x120000,0x0,0x120000,0x0,0x0,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,0x564000c0,0x0,0x80000000,0x0,0x3f,0x0,0x0,0x564000c0,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,0x0,0x40,0x40,0x160040,0x0,0x40,0x0,0x0,0x160040,0x0,0x40,0x160000,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x61200c0,0x61200c0,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,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,0x2008,0x2008,0x0,0x2000,0x0,0x0,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,0x1109,0x0,0x0,0x0,0x1300,0x20,0x0,0x1109,0x1109,0x0,0x1300,0x0,0x0,0x0,0x1100,0x0,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x1109,0x1109,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x1000,0xfffffb80,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0x0,0xfffffb80,0x0,0x0,0x1100,0x0,0x0,0x0,0x2100,0x2100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,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,};
+ 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,0x2008,0x2008,0x0,0x2000,0x0,0x0,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,0x1109,0x0,0x0,0x0,0x1300,0x20,0x0,0x1109,0x1109,0x0,0x1300,0x0,0x0,0x0,0x1100,0x0,0x1109,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x1109,0x1109,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x1000,0xfffffb80,0x0,0x0,0x0,0x0,0xfffffb80,0x0,0x0,0xfffffb80,0x0,0x0,0x1100,0x0,0x0,0x0,0x0,0x2100,0x2100,0x0,0x0,0x0,0x0,0x0,0x0,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,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,0x0,0x0,0x0,0x0,0x0,0xc5,0xc5,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,0xc7,0xc7,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,0x80,0x200000,0x0,0xe5,0xe5,0x0,0x0,0x0,0x200000,0x0,0x0,0xe5,0xe5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0xf5,0xf5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x440001,0x0,0x0,0x400000,0x0,0x0,0x0,0x1,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_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,0x0,0x0,0x0,0x0,0x0,0xc5,0xc5,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,0xc7,0xc7,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,0x80,0x200000,0x0,0xe5,0xe5,0x0,0x0,0x0,0x200000,0x0,0x0,0xe5,0xe5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0xf5,0xf5,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x0,0x0,0x440001,0x0,0x0,0x440001,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x1,0x1,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,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;
@@ -7801,7 +7859,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 269; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 271; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7811,7 +7869,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 269; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 271; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7821,7 +7879,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 269; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 271; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7831,7 +7889,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 269; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 271; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7948,7 +8006,7 @@ LexicalUnitImpl result = null;
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 269; i++) {
+ for (int i = 0; i < 271; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
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 98e2f7fb04..13810bd601 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
@@ -1741,17 +1741,33 @@ void includeDirective() :
{
<INCLUDE_SYM>
(<S>)*
- (name = property()|name = variableName(){ name = "$"+name;}
- |(name = functionName()
- args = argValuelist()) <RPARAN>(<S>)*)
- ((";"(<S>)*)+
- {documentHandler.includeDirective(name, args);}
- | <LBRACE> (<S>)* {documentHandler.startIncludeContentBlock(name, args);}
- (styleRuleOrDeclarationOrNestedProperties() | keyframeSelector())*
- <RBRACE> (<S>)* {documentHandler.endIncludeContentBlock();}
- )
+ (name = property() | name = variableName(){ name = "$"+name;}
+ | (name = functionName() args = argValuelist()) <RPARAN>(<S>)*)
+ {documentHandler.startInclude(name, args);}
+ (includeDirectiveBlockContents() | includeDirectiveTerminator())
+ {documentHandler.endInclude();}
}
+void includeDirectiveTerminator():
+{}
+{
+ try {
+ (";"(<S>)*)+
+ }
+ catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
+}
+
+void includeDirectiveBlockContents():
+{}
+{
+ <LBRACE> (<S>)*
+ (styleRuleOrDeclarationOrNestedProperties() | keyframeSelector())*
+ <RBRACE> (<S>)*
+}
+
+
String interpolation() :
{
Token n;
@@ -1976,11 +1992,16 @@ void debugDirective() :
{
<DEBUG_SYM>
{
- String content = skipStatementUntilSemiColon();
+ String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE});
// TODO should evaluate the content expression, call documentHandler.debugDirective() etc.
System.out.println(content);
}
- (<S>)*
+ try {
+ (";"(<S>)*)+
+ }
+ catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
}
void warnDirective() :
@@ -1988,11 +2009,16 @@ void warnDirective() :
{
<WARN_SYM>
{
- String content = skipStatementUntilSemiColon();
+ String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE});
// TODO should evaluate the content expression, call documentHandler.warnDirective() etc.
System.err.println(content);
}
- (<S>)*
+ try {
+ (";"(<S>)*)+
+ }
+ catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
}
Node forDirective() :
@@ -2035,8 +2061,13 @@ void extendDirective() :
<EXTEND_SYM>
(<S>)*
list = selectorList()
- (";"(<S>)*)+
{documentHandler.extendDirective(list);}
+ try {
+ (";"(<S>)*)+
+ }
+ catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
}
void contentDirective() :
@@ -2044,7 +2075,12 @@ void contentDirective() :
{
<CONTENT_SYM>
(<S>)*
- (";"(<S>)*)+
+ try {
+ (";"(<S>)*)+
+ }
+ catch (ParseException e) {
+ acceptMissingSemicolonBeforeRbrace(e);
+ }
{documentHandler.contentDirective();}
}
@@ -3050,6 +3086,15 @@ ArrayList<String> _parseSelectors() :
}
}
+JAVACODE
+void acceptMissingSemicolonBeforeRbrace( ParseException parseException ) {
+ Token next = getToken(1);
+ if (next.kind != RBRACE) {
+ throw parseException;
+ }
+}
+
+
/*
* Local Variables:
* compile-command: javacc Parser.jj & javac Parser.java
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Token.java b/theme-compiler/src/com/vaadin/sass/internal/parser/Token.java
index ba29df7d33..26d1121f96 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Token.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Token.java
@@ -143,4 +143,4 @@ public class Token implements java.io.Serializable {
}
}
-/* JavaCC - OriginalChecksum=8b653fc6be4ca9bd10137ee3ad4c32c4 (do not edit this line) */
+/* JavaCC - OriginalChecksum=dad2146dc89e68f66e77382c9e448fb7 (do not edit this line) */
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/TokenMgrError.java b/theme-compiler/src/com/vaadin/sass/internal/parser/TokenMgrError.java
index 1757cf6705..f093357e96 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/TokenMgrError.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/TokenMgrError.java
@@ -159,4 +159,4 @@ public class TokenMgrError extends Error
this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
}
}
-/* JavaCC - OriginalChecksum=525946b34c715198d7c29f668b049f5d (do not edit this line) */
+/* JavaCC - OriginalChecksum=c7c96e9cf4a9320d03dd722437439354 (do not edit this line) */
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslang/css/106-test_pseudoclass_remains_at_end_of_selector.css
index 2118fad2a2..2118fad2a2 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/106-test_pseudoclass_remains_at_end_of_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css b/theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css
index 7a53dec628..7a53dec628 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css
+++ b/theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css b/theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css
index a5ae5ac363..a5ae5ac363 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css
+++ b/theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslang/css/109-test_pseudoelement_remains_at_end_of_selector.css
index aa379e70b3..aa379e70b3 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/109-test_pseudoelement_remains_at_end_of_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css b/theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css
index 7be91d143a..7be91d143a 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css
+++ b/theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css b/theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css
index cee3a34a5a..cee3a34a5a 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css
+++ b/theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css b/theme-compiler/tests/resources/sasslang/css/2-test_basic.css
index 4504b8d829..4504b8d829 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css
+++ b/theme-compiler/tests/resources/sasslang/css/2-test_basic.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css b/theme-compiler/tests/resources/sasslang/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css
index 47d93c5dc1..47d93c5dc1 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css
+++ b/theme-compiler/tests/resources/sasslang/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css b/theme-compiler/tests/resources/sasslang/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css
index 4a4aa6d222..4a4aa6d222 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css b/theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css
index f1c0f6c996..f1c0f6c996 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css
+++ b/theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css b/theme-compiler/tests/resources/sasslang/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css
index eb28eca8fa..eb28eca8fa 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css
+++ b/theme-compiler/tests/resources/sasslang/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css b/theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css
index 318a3f6ffb..318a3f6ffb 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css
+++ b/theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css b/theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css
index 6d661f2404..6d661f2404 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css
+++ b/theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css b/theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css
index 0d6bd2ec98..0d6bd2ec98 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css
+++ b/theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css b/theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css
index d3fae7600f..d3fae7600f 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css
+++ b/theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css b/theme-compiler/tests/resources/sasslang/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css
index 44196e6602..44196e6602 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css
+++ b/theme-compiler/tests/resources/sasslang/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css b/theme-compiler/tests/resources/sasslang/css/66-test_multiple_extends_with_single_extender_and_single_target.css
index 9b5770d7c5..9b5770d7c5 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css
+++ b/theme-compiler/tests/resources/sasslang/css/66-test_multiple_extends_with_single_extender_and_single_target.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css b/theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css
index 779bd00f75..779bd00f75 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css
+++ b/theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css b/theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css
index 657d1ec2f6..657d1ec2f6 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css
+++ b/theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css b/theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css
index 1c4e604b71..1c4e604b71 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css
+++ b/theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css b/theme-compiler/tests/resources/sasslang/css/80-test_nested_extender_merges_with_same_selector.css
index d1a50d50e3..d1a50d50e3 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/80-test_nested_extender_merges_with_same_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css b/theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css
index 9aa8d14958..9aa8d14958 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css
+++ b/theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css b/theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css
index f7bd620245..f7bd620245 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css b/theme-compiler/tests/resources/sasslang/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css
index 75561708b3..75561708b3 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css b/theme-compiler/tests/resources/sasslang/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css
index 4285daf8dd..4285daf8dd 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css
+++ b/theme-compiler/tests/resources/sasslang/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css b/theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css
index e9fe832391..e9fe832391 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css b/theme-compiler/tests/resources/sasslang/css/91-test_nested_selector_with_child_selector_hack_extendee.css
index 5556837892..5556837892 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css
+++ b/theme-compiler/tests/resources/sasslang/css/91-test_nested_selector_with_child_selector_hack_extendee.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css b/theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css
index d1a50d50e3..d1a50d50e3 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css
+++ b/theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslang/css/98-test_not_remains_at_end_of_selector.css
index 540e6f8bf4..540e6f8bf4 100644
--- a/theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css
+++ b/theme-compiler/tests/resources/sasslang/css/98-test_not_remains_at_end_of_selector.css
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslang/scss/106-test_pseudoclass_remains_at_end_of_selector.scss
index 619bbb51cd..619bbb51cd 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/106-test_pseudoclass_remains_at_end_of_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss b/theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss
index f50ad04b12..f50ad04b12 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss b/theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss
index 230f925a10..230f925a10 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslang/scss/109-test_pseudoelement_remains_at_end_of_selector.scss
index cd588ed24a..cd588ed24a 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/109-test_pseudoelement_remains_at_end_of_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss b/theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss
index ab8ba4845f..ab8ba4845f 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss b/theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss
index 3748f64233..3748f64233 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss b/theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss
index 9f3cde0011..9f3cde0011 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss b/theme-compiler/tests/resources/sasslang/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss
index a5a0dff1d0..a5a0dff1d0 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss b/theme-compiler/tests/resources/sasslang/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss
index ac6ad58994..ac6ad58994 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss b/theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss
index ad8df41f25..ad8df41f25 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss b/theme-compiler/tests/resources/sasslang/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss
index 30a9d092cb..30a9d092cb 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss b/theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss
index 3ba39ecac2..3ba39ecac2 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss b/theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss
index 53546355cc..53546355cc 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss b/theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss
index 26ab65d344..26ab65d344 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss b/theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss
index 2c0f5aa72a..2c0f5aa72a 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss b/theme-compiler/tests/resources/sasslang/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss
index 4c2a4c59f8..4c2a4c59f8 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss b/theme-compiler/tests/resources/sasslang/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss
index 48d9c5b733..48d9c5b733 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss b/theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss
index fdcba65999..fdcba65999 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss b/theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss
index b0120ac34e..b0120ac34e 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss b/theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss
index 6245cdfda7..6245cdfda7 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss b/theme-compiler/tests/resources/sasslang/scss/80-test_nested_extender_merges_with_same_selector.scss
index d959cce374..d959cce374 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/80-test_nested_extender_merges_with_same_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss b/theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss
index 32c2c0cc62..32c2c0cc62 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss b/theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss
index da249ad564..da249ad564 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss b/theme-compiler/tests/resources/sasslang/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss
index 224945cd71..224945cd71 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss b/theme-compiler/tests/resources/sasslang/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss
index f2b8c6c07b..f2b8c6c07b 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss b/theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss
index b9d495ce76..b9d495ce76 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss b/theme-compiler/tests/resources/sasslang/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss
index 928bc64f93..928bc64f93 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss b/theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss
index 6662dea791..6662dea791 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss
diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslang/scss/98-test_not_remains_at_end_of_selector.scss
index c1af8b1b2a..c1af8b1b2a 100644
--- a/theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss
+++ b/theme-compiler/tests/resources/sasslang/scss/98-test_not_remains_at_end_of_selector.scss
diff --git a/theme-compiler/tests/resources/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css b/theme-compiler/tests/resources/sasslangbroken/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css
index 77b7586abb..77b7586abb 100644
--- a/theme-compiler/tests/resources/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css
+++ b/theme-compiler/tests/resources/sasslangbroken/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css
diff --git a/theme-compiler/tests/resources/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css b/theme-compiler/tests/resources/sasslangbroken/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css
index 09b4ccac27..09b4ccac27 100644
--- a/theme-compiler/tests/resources/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css
+++ b/theme-compiler/tests/resources/sasslangbroken/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css
diff --git a/theme-compiler/tests/resources/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss b/theme-compiler/tests/resources/sasslangbroken/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss
index 713644b221..713644b221 100644
--- a/theme-compiler/tests/resources/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss
+++ b/theme-compiler/tests/resources/sasslangbroken/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss
diff --git a/theme-compiler/tests/resources/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss b/theme-compiler/tests/resources/sasslangbroken/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss
index 73f6254f21..73f6254f21 100644
--- a/theme-compiler/tests/resources/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss
+++ b/theme-compiler/tests/resources/sasslangbroken/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss