From 37919d14b7509b1c8d8495a3e334d50a913bfe6f Mon Sep 17 00:00:00 2001 From: joheriks Date: Wed, 27 Nov 2013 17:34:30 +0200 Subject: 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 --- .../sass/internal/handler/SCSSDocumentHandler.java | 6 +- .../internal/handler/SCSSDocumentHandlerImpl.java | 10 +- .../vaadin/sass/internal/parser/CharStream.java | 2 +- .../com/vaadin/sass/internal/parser/Parser.java | 1620 ++++++++++---------- .../src/com/vaadin/sass/internal/parser/Parser.jj | 75 +- .../src/com/vaadin/sass/internal/parser/Token.java | 2 +- .../vaadin/sass/internal/parser/TokenMgrError.java | 2 +- ...test_pseudoclass_remains_at_end_of_selector.css | 3 + ...107-test_pseudoelement_goes_lefter_than_not.css | 3 + ..._pseudoelement_goes_lefter_than_pseudoclass.css | 3 + ...st_pseudoelement_remains_at_end_of_selector.css | 3 + .../110-test_redundant_selector_elimination.css | 3 + .../sasslang/css/112-test_target_with_child.css | 3 + .../tests/resources/sasslang/css/2-test_basic.css | 3 + ...rn_when_one_extension_fails_but_others_dont.css | 7 + ..._elimination_never_eliminates_base_selector.css | 3 + .../sasslang/css/333-test_empty_content.css | 3 + ...mination_when_it_would_preserve_specificity.css | 3 - ...limination_when_it_would_reduce_specificity.css | 3 + .../sasslang/css/368-test_mixins_with_args.css | 3 + .../sasslang/css/420-test_warn_directive.css | 3 + .../sasslang/css/55-test_long_extendee.css | 3 + .../sasslang/css/63-test_multiple_extendees.css | 7 + ...s_with_multiple_extenders_and_single_target.css | 3 + ...ends_with_single_extender_and_single_target.css | 3 + .../sasslang/css/67-test_multiple_targets.css | 7 + ...7-test_combinator_unification_angle_sibling.css | 3 + .../sasslang/css/70-test_nested_extender.css | 3 + ...t_nested_extender_merges_with_same_selector.css | 3 + .../81-test_nested_extender_runs_unification.css | 3 + ...85-test_nested_extender_with_child_selector.css | 3 + ...th_child_selector_merges_with_same_selector.css | 3 + ...th_early_child_selectors_doesnt_subseq_them.css | 3 + ...-test_nested_extender_with_sibling_selector.css | 3 + ..._selector_with_child_selector_hack_extendee.css | 3 + ...hack_extender_and_sibling_selector_extendee.css | 3 - .../sasslang/css/96-test_nested_target.css | 3 + .../css/98-test_not_remains_at_end_of_selector.css | 3 + ...est_pseudoclass_remains_at_end_of_selector.scss | 2 + ...07-test_pseudoelement_goes_lefter_than_not.scss | 2 + ...pseudoelement_goes_lefter_than_pseudoclass.scss | 2 + ...t_pseudoelement_remains_at_end_of_selector.scss | 2 + .../110-test_redundant_selector_elimination.scss | 3 + .../sasslang/scss/112-test_target_with_child.scss | 2 + .../resources/sasslang/scss/2-test_basic.scss | 2 + ...n_when_one_extension_fails_but_others_dont.scss | 3 + ...elimination_never_eliminates_base_selector.scss | 2 + .../sasslang/scss/333-test_empty_content.scss | 2 + ...ination_when_it_would_preserve_specificity.scss | 2 - ...imination_when_it_would_reduce_specificity.scss | 2 + .../sasslang/scss/368-test_mixins_with_args.scss | 3 + .../sasslang/scss/420-test_warn_directive.scss | 3 + .../sasslang/scss/55-test_long_extendee.scss | 2 + .../sasslang/scss/63-test_multiple_extendees.scss | 3 + ..._with_multiple_extenders_and_single_target.scss | 3 + ...nds_with_single_extender_and_single_target.scss | 2 + .../sasslang/scss/67-test_multiple_targets.scss | 3 + ...-test_combinator_unification_angle_sibling.scss | 2 + .../sasslang/scss/70-test_nested_extender.scss | 2 + ..._nested_extender_merges_with_same_selector.scss | 3 + .../81-test_nested_extender_runs_unification.scss | 2 + ...5-test_nested_extender_with_child_selector.scss | 2 + ...h_child_selector_merges_with_same_selector.scss | 2 + ...h_early_child_selectors_doesnt_subseq_them.scss | 4 + ...test_nested_extender_with_sibling_selector.scss | 2 + ...selector_with_child_selector_hack_extendee.scss | 2 + ...ack_extender_and_sibling_selector_extendee.scss | 2 - .../sasslang/scss/96-test_nested_target.scss | 2 + .../98-test_not_remains_at_end_of_selector.scss | 2 + ...test_pseudoclass_remains_at_end_of_selector.css | 3 - ...107-test_pseudoelement_goes_lefter_than_not.css | 3 - ..._pseudoelement_goes_lefter_than_pseudoclass.css | 3 - ...st_pseudoelement_remains_at_end_of_selector.css | 3 - .../110-test_redundant_selector_elimination.css | 3 - .../css/112-test_target_with_child.css | 3 - .../resources/sasslangbroken/css/2-test_basic.css | 3 - ...rn_when_one_extension_fails_but_others_dont.css | 7 - ..._elimination_never_eliminates_base_selector.css | 3 - .../sasslangbroken/css/333-test_empty_content.css | 3 - ...mination_when_it_would_preserve_specificity.css | 3 + ...limination_when_it_would_reduce_specificity.css | 3 - .../css/368-test_mixins_with_args.css | 3 - .../sasslangbroken/css/420-test_warn_directive.css | 3 - .../sasslangbroken/css/55-test_long_extendee.css | 3 - .../css/63-test_multiple_extendees.css | 7 - ...s_with_multiple_extenders_and_single_target.css | 3 - ...ends_with_single_extender_and_single_target.css | 3 - .../css/67-test_multiple_targets.css | 7 - ...7-test_combinator_unification_angle_sibling.css | 3 - .../sasslangbroken/css/70-test_nested_extender.css | 3 - ...t_nested_extender_merges_with_same_selector.css | 3 - .../81-test_nested_extender_runs_unification.css | 3 - ...85-test_nested_extender_with_child_selector.css | 3 - ...th_child_selector_merges_with_same_selector.css | 3 - ...th_early_child_selectors_doesnt_subseq_them.css | 3 - ...-test_nested_extender_with_sibling_selector.css | 3 - ..._selector_with_child_selector_hack_extendee.css | 3 - ...hack_extender_and_sibling_selector_extendee.css | 3 + .../sasslangbroken/css/96-test_nested_target.css | 3 - .../css/98-test_not_remains_at_end_of_selector.css | 3 - ...est_pseudoclass_remains_at_end_of_selector.scss | 2 - ...07-test_pseudoelement_goes_lefter_than_not.scss | 2 - ...pseudoelement_goes_lefter_than_pseudoclass.scss | 2 - ...t_pseudoelement_remains_at_end_of_selector.scss | 2 - .../110-test_redundant_selector_elimination.scss | 3 - .../scss/112-test_target_with_child.scss | 2 - .../sasslangbroken/scss/2-test_basic.scss | 2 - ...n_when_one_extension_fails_but_others_dont.scss | 3 - ...elimination_never_eliminates_base_selector.scss | 2 - .../scss/333-test_empty_content.scss | 2 - ...ination_when_it_would_preserve_specificity.scss | 2 + ...imination_when_it_would_reduce_specificity.scss | 2 - .../scss/368-test_mixins_with_args.scss | 3 - .../scss/420-test_warn_directive.scss | 3 - .../sasslangbroken/scss/55-test_long_extendee.scss | 2 - .../scss/63-test_multiple_extendees.scss | 3 - ..._with_multiple_extenders_and_single_target.scss | 3 - ...nds_with_single_extender_and_single_target.scss | 2 - .../scss/67-test_multiple_targets.scss | 3 - ...-test_combinator_unification_angle_sibling.scss | 2 - .../scss/70-test_nested_extender.scss | 2 - ..._nested_extender_merges_with_same_selector.scss | 3 - .../81-test_nested_extender_runs_unification.scss | 2 - ...5-test_nested_extender_with_child_selector.scss | 2 - ...h_child_selector_merges_with_same_selector.scss | 2 - ...h_early_child_selectors_doesnt_subseq_them.scss | 4 - ...test_nested_extender_with_sibling_selector.scss | 2 - ...selector_with_child_selector_hack_extendee.scss | 2 - ...ack_extender_and_sibling_selector_extendee.scss | 2 + .../sasslangbroken/scss/96-test_nested_target.scss | 2 - .../98-test_not_remains_at_end_of_selector.scss | 2 - 131 files changed, 1083 insertions(+), 988 deletions(-) create mode 100644 theme-compiler/tests/resources/sasslang/css/106-test_pseudoclass_remains_at_end_of_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css create mode 100644 theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css create mode 100644 theme-compiler/tests/resources/sasslang/css/109-test_pseudoelement_remains_at_end_of_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css create mode 100644 theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css create mode 100644 theme-compiler/tests/resources/sasslang/css/2-test_basic.css create mode 100644 theme-compiler/tests/resources/sasslang/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css create mode 100644 theme-compiler/tests/resources/sasslang/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css delete mode 100644 theme-compiler/tests/resources/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css create mode 100644 theme-compiler/tests/resources/sasslang/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css create mode 100644 theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css create mode 100644 theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css create mode 100644 theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css create mode 100644 theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css create mode 100644 theme-compiler/tests/resources/sasslang/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css create mode 100644 theme-compiler/tests/resources/sasslang/css/66-test_multiple_extends_with_single_extender_and_single_target.css create mode 100644 theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css create mode 100644 theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css create mode 100644 theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css create mode 100644 theme-compiler/tests/resources/sasslang/css/80-test_nested_extender_merges_with_same_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css create mode 100644 theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css create mode 100644 theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/css/91-test_nested_selector_with_child_selector_hack_extendee.css delete mode 100644 theme-compiler/tests/resources/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css create mode 100644 theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css create mode 100644 theme-compiler/tests/resources/sasslang/css/98-test_not_remains_at_end_of_selector.css create mode 100644 theme-compiler/tests/resources/sasslang/scss/106-test_pseudoclass_remains_at_end_of_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/109-test_pseudoelement_remains_at_end_of_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss delete mode 100644 theme-compiler/tests/resources/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/80-test_nested_extender_merges_with_same_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss delete mode 100644 theme-compiler/tests/resources/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss create mode 100644 theme-compiler/tests/resources/sasslang/scss/98-test_not_remains_at_end_of_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css create mode 100644 theme-compiler/tests/resources/sasslangbroken/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css create mode 100644 theme-compiler/tests/resources/sasslangbroken/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss create mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss create mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss delete mode 100644 theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss 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 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 args); + void startInclude(String name, List 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 @@ -244,12 +244,6 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler { nodeStack.pop(); } - @Override - public void includeDirective(String name, List 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); @@ -375,7 +369,7 @@ public class SCSSDocumentHandlerImpl implements SCSSDocumentHandler { } @Override - public void startIncludeContentBlock(String name, List args) { + public void startInclude(String name, List 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 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 _parseSelectors() throws ParseException { ArrayList 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,87 +6682,59 @@ 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; - return false; - } - - private boolean jj_3R_193() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_180() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_193()) { - jj_scanpos = xsp; - if (jj_3R_194()) return true; - } + if (jj_3R_220()) jj_scanpos = xsp; 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_195() { + if (jj_3R_219()) return true; return false; } private boolean jj_3R_182() { 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; } + if (jj_3R_195()) { + jj_scanpos = xsp; + if (jj_3R_196()) return true; } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} return false; } - private boolean jj_3R_220() { + private boolean jj_3R_222() { if (jj_scan_token(HASH)) return true; return false; } - private boolean jj_3R_290() { + private boolean jj_3R_292() { if (jj_scan_token(IDENT)) return true; return false; } - private boolean jj_3R_291() { + private boolean jj_3R_293() { if (jj_scan_token(FUNCTION)) return true; Token xsp; while (true) { @@ -6759,98 +6745,138 @@ LexicalUnitImpl result = null; return false; } - private boolean jj_3R_289() { + private boolean jj_3_7() { + if (jj_3R_188()) return true; + return false; + } + + private boolean jj_3R_291() { if (jj_scan_token(COLON)) return true; return false; } - private boolean jj_3R_222() { + 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; xsp = jj_scanpos; - if (jj_3R_289()) jj_scanpos = xsp; + if (jj_3R_291()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_3R_290()) { + if (jj_3R_292()) { jj_scanpos = xsp; - if (jj_3R_291()) return true; + if (jj_3R_293()) return true; } return false; } - private boolean jj_3_7() { - if (jj_3R_186()) return true; + private boolean jj_3R_208() { + if (jj_3R_192()) return true; return false; } - private boolean jj_3R_207() { + private boolean jj_3_6() { + if (jj_3R_187()) return true; if (jj_scan_token(LBRACE)) return true; return false; } - private boolean jj_3R_310() { - if (jj_scan_token(STRING)) return true; + 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_208()) { + jj_scanpos = xsp; + if (jj_3R_209()) return true; + } return false; } - private boolean jj_3R_308() { - if (jj_scan_token(STARMATCH)) return true; + private boolean jj_3R_271() { + if (jj_3R_192()) return true; return false; } - private boolean jj_3R_309() { - if (jj_scan_token(IDENT)) return true; + private boolean jj_3R_312() { + if (jj_scan_token(STRING)) return true; return false; } - private boolean jj_3R_307() { + 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_310() { + if (jj_scan_token(STARMATCH)) return true; + return false; + } + + private boolean jj_3R_311() { + if (jj_scan_token(IDENT)) return true; + return false; + } + + 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,480 +7035,413 @@ 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() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_297()) { - jj_scanpos = xsp; - if (jj_3R_298()) { - jj_scanpos = xsp; - if (jj_3R_299()) { - jj_scanpos = xsp; - if (jj_3R_300()) return true; - } - } - } + private boolean jj_3R_246() { + if (jj_scan_token(DIMEN)) return true; return false; } - private boolean jj_3R_297() { - if (jj_3R_220()) return true; + private boolean jj_3R_245() { + if (jj_scan_token(KHZ)) return true; return false; } - private boolean jj_3R_275() { + 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_292()) { + if (jj_3R_299()) { jj_scanpos = xsp; - if (jj_3R_293()) { + if (jj_3R_300()) { jj_scanpos = xsp; - if (jj_3R_294()) { + if (jj_3R_301()) { jj_scanpos = xsp; - if (jj_3R_295()) return true; + if (jj_3R_302()) return true; } } } return false; } - private boolean jj_3R_292() { - if (jj_3R_220()) return true; - return false; - } - - private boolean jj_3R_280() { + private boolean jj_3R_299() { if (jj_3R_222()) return true; return false; } - private boolean jj_3R_274() { + private boolean jj_3R_277() { Token xsp; xsp = jj_scanpos; - if (jj_3R_285()) { + if (jj_3R_294()) { jj_scanpos = xsp; - if (jj_3R_286()) { + if (jj_3R_295()) { jj_scanpos = xsp; - if (jj_3R_287()) { + if (jj_3R_296()) { jj_scanpos = xsp; - if (jj_3R_288()) return true; + if (jj_3R_297()) return true; } } } return false; } - private boolean jj_3R_285() { - if (jj_3R_220()) return true; - return false; - } - private boolean jj_3R_294() { - if (jj_3R_223()) return true; + if (jj_3R_222()) return true; return false; } - private boolean jj_3R_282() { - if (jj_3R_223()) return true; + private boolean jj_3R_243() { + if (jj_scan_token(MS)) return true; return false; } - private boolean jj_3R_287() { - if (jj_3R_223()) return true; + private boolean jj_3R_282() { + if (jj_3R_224()) return true; return false; } - private boolean jj_3R_273() { + private boolean jj_3R_276() { Token xsp; xsp = jj_scanpos; - if (jj_3R_281()) { + if (jj_3R_287()) { jj_scanpos = xsp; - if (jj_3R_282()) { + if (jj_3R_288()) { jj_scanpos = xsp; - if (jj_3R_283()) return true; + if (jj_3R_289()) { + jj_scanpos = xsp; + if (jj_3R_290()) return true; + } } } return false; } - private boolean jj_3R_278() { - if (jj_3R_221()) return true; + private boolean jj_3R_287() { + if (jj_3R_222()) return true; return false; } - private boolean jj_3R_281() { - if (jj_3R_221()) return true; + private boolean jj_3R_296() { + if (jj_3R_225()) return true; return false; } - private boolean jj_3R_260() { - if (jj_scan_token(DOT)) return true; + private boolean jj_3R_284() { + if (jj_3R_225()) return true; return false; } - private boolean jj_3R_247() { + private boolean jj_3R_242() { + if (jj_scan_token(SECOND)) return true; + return false; + } + + 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_260()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(72)) { + if (jj_3R_283()) { jj_scanpos = xsp; - if (jj_scan_token(49)) { - jj_scanpos = xsp; - if (jj_scan_token(50)) { + if (jj_3R_284()) { jj_scanpos = xsp; - if (jj_scan_token(52)) return true; - } + if (jj_3R_285()) return true; } } return false; } - private boolean jj_3R_246() { - if (jj_scan_token(STRING)) return true; + private boolean jj_3R_280() { + if (jj_3R_223()) return true; return false; } - private boolean jj_3R_245() { - if (jj_3R_259()) return true; + private boolean jj_3R_283() { + if (jj_3R_223()) return true; return false; } - private boolean jj_3R_202() { - 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; - } - } - } - } + private boolean jj_3R_241() { + if (jj_scan_token(GRAD)) 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_276()) { jj_scanpos = xsp; break; } - } + private boolean jj_3R_240() { + if (jj_scan_token(RAD)) return true; return false; } - private boolean jj_3R_198() { - if (jj_3R_222()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_275()) { jj_scanpos = xsp; break; } - } + private boolean jj_3R_239() { + if (jj_scan_token(DEG)) return true; return false; } - private boolean jj_3R_279() { - if (jj_3R_223()) return true; + private boolean jj_3R_238() { + if (jj_scan_token(EXS)) return true; return false; } - private boolean jj_3R_197() { - if (jj_3R_221()) return true; + private boolean jj_3R_201() { + if (jj_3R_225()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_274()) { jj_scanpos = xsp; break; } + if (jj_3R_278()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_196() { - if (jj_3R_220()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_273()) { jj_scanpos = xsp; break; } - } + private boolean jj_3R_237() { + if (jj_scan_token(REM)) return true; return false; } - private boolean jj_3R_272() { + private boolean jj_3R_200() { + if (jj_3R_224()) return true; Token xsp; - xsp = jj_scanpos; - if (jj_3R_277()) { - jj_scanpos = xsp; - if (jj_3R_278()) { - jj_scanpos = xsp; - if (jj_3R_279()) { - jj_scanpos = xsp; - if (jj_3R_280()) return true; - } - } + while (true) { + xsp = jj_scanpos; + if (jj_3R_277()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_277() { - if (jj_3R_220()) return true; + private boolean jj_3R_281() { + if (jj_3R_225()) return true; return false; } - private boolean jj_3R_244() { - if (jj_scan_token(DIMEN)) return true; + private boolean jj_3R_236() { + if (jj_scan_token(LEM)) return true; return false; } - private boolean jj_3R_195() { - if (jj_3R_219()) return true; + private boolean jj_3R_199() { + if (jj_3R_223()) return true; Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_272()) { jj_scanpos = xsp; break; } + if (jj_3R_276()) { jj_scanpos = xsp; break; } } return false; } - private boolean jj_3R_243() { - if (jj_scan_token(KHZ)) return true; + private boolean jj_3R_198() { + if (jj_3R_222()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_275()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_181() { + private boolean jj_3R_274() { Token xsp; xsp = jj_scanpos; - if (jj_3R_195()) { - jj_scanpos = xsp; - if (jj_3R_196()) { + if (jj_3R_279()) { jj_scanpos = xsp; - if (jj_3R_197()) { + if (jj_3R_280()) { jj_scanpos = xsp; - if (jj_3R_198()) { + if (jj_3R_281()) { jj_scanpos = xsp; - if (jj_3R_199()) return true; - } + if (jj_3R_282()) return true; } } } 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; + private boolean jj_3R_279() { + if (jj_3R_222()) 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() { + private boolean jj_3R_234() { 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; + private boolean jj_3R_197() { + if (jj_3R_221()) return true; + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_274()) { jj_scanpos = xsp; break; } + } return false; } - private boolean jj_3R_231() { + private boolean jj_3R_233() { 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; + private boolean jj_3R_183() { Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } + xsp = jj_scanpos; + if (jj_3R_197()) { + jj_scanpos = xsp; + if (jj_3R_198()) { + jj_scanpos = xsp; + if (jj_3R_199()) { + jj_scanpos = xsp; + if (jj_3R_200()) { + jj_scanpos = xsp; + if (jj_3R_201()) return true; + } + } + } } - if (jj_3R_203()) return true; return false; } - private boolean jj_3R_251() { - if (jj_3R_181()) return true; + private boolean jj_3R_232() { + if (jj_scan_token(PC)) return true; return false; } - private boolean jj_3R_229() { - if (jj_scan_token(MM)) 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_228() { - if (jj_scan_token(CM)) return true; + private boolean jj_3R_231() { + if (jj_scan_token(MM)) 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; } - } + private boolean jj_3R_230() { + if (jj_scan_token(CM)) return true; 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< ()* - (name = property()|name = variableName(){ name = "$"+name;} - |(name = functionName() - args = argValuelist()) ()*) - ((";"()*)+ - {documentHandler.includeDirective(name, args);} - | ()* {documentHandler.startIncludeContentBlock(name, args);} - (styleRuleOrDeclarationOrNestedProperties() | keyframeSelector())* - ()* {documentHandler.endIncludeContentBlock();} - ) + (name = property() | name = variableName(){ name = "$"+name;} + | (name = functionName() args = argValuelist()) ()*) + {documentHandler.startInclude(name, args);} + (includeDirectiveBlockContents() | includeDirectiveTerminator()) + {documentHandler.endInclude();} } +void includeDirectiveTerminator(): +{} +{ + try { + (";"()*)+ + } + catch (ParseException e) { + acceptMissingSemicolonBeforeRbrace(e); + } +} + +void includeDirectiveBlockContents(): +{} +{ + ()* + (styleRuleOrDeclarationOrNestedProperties() | keyframeSelector())* + ()* +} + + String interpolation() : { Token n; @@ -1976,11 +1992,16 @@ void debugDirective() : { { - String content = skipStatementUntilSemiColon(); + String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE}); // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. System.out.println(content); } - ()* + try { + (";"()*)+ + } + catch (ParseException e) { + acceptMissingSemicolonBeforeRbrace(e); + } } void warnDirective() : @@ -1988,11 +2009,16 @@ void warnDirective() : { { - String content = skipStatementUntilSemiColon(); + String content = skipStatementUntil(new int[] {SEMICOLON,RBRACE}); // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. System.err.println(content); } - ()* + try { + (";"()*)+ + } + catch (ParseException e) { + acceptMissingSemicolonBeforeRbrace(e); + } } Node forDirective() : @@ -2035,8 +2061,13 @@ void extendDirective() : ()* list = selectorList() - (";"()*)+ {documentHandler.extendDirective(list);} + try { + (";"()*)+ + } + catch (ParseException e) { + acceptMissingSemicolonBeforeRbrace(e); + } } void contentDirective() : @@ -2044,7 +2075,12 @@ void contentDirective() : { ()* - (";"()*)+ + try { + (";"()*)+ + } + catch (ParseException e) { + acceptMissingSemicolonBeforeRbrace(e); + } {documentHandler.contentDirective();} } @@ -3050,6 +3086,15 @@ ArrayList _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/sasslang/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 new file mode 100644 index 0000000000..2118fad2a2 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/106-test_pseudoclass_remains_at_end_of_selector.css @@ -0,0 +1,3 @@ +.foo:bar, .baz:bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css b/theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css new file mode 100644 index 0000000000..7a53dec628 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/107-test_pseudoelement_goes_lefter_than_not.css @@ -0,0 +1,3 @@ +.foo::bar, .baz:not(.bang)::bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css b/theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css new file mode 100644 index 0000000000..a5ae5ac363 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css @@ -0,0 +1,3 @@ +.foo::bar, .baz:bang::bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..aa379e70b3 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/109-test_pseudoelement_remains_at_end_of_selector.css @@ -0,0 +1,3 @@ +.foo::bar, .baz::bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css b/theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css new file mode 100644 index 0000000000..7be91d143a --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/110-test_redundant_selector_elimination.css @@ -0,0 +1,3 @@ +.foo.bar, .x, .y { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css b/theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css new file mode 100644 index 0000000000..cee3a34a5a --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/112-test_target_with_child.css @@ -0,0 +1,3 @@ +.foo .bar, .baz .bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/2-test_basic.css b/theme-compiler/tests/resources/sasslang/css/2-test_basic.css new file mode 100644 index 0000000000..4504b8d829 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/2-test_basic.css @@ -0,0 +1,3 @@ +.foo, .bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..47d93c5dc1 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css @@ -0,0 +1,7 @@ +a.bar { + a: b; +} + +.bar, b.foo { + c: d; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..4a4aa6d222 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css @@ -0,0 +1,3 @@ +a.foo, .foo { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css b/theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css new file mode 100644 index 0000000000..f1c0f6c996 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/333-test_empty_content.css @@ -0,0 +1,3 @@ +a { + b: c; +} 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/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css deleted file mode 100644 index 77b7586abb..0000000000 --- a/theme-compiler/tests/resources/sasslang/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css +++ /dev/null @@ -1,3 +0,0 @@ -.bar a { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..eb28eca8fa --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css @@ -0,0 +1,3 @@ +a, a.foo { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css b/theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css new file mode 100644 index 0000000000..318a3f6ffb --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/368-test_mixins_with_args.css @@ -0,0 +1,3 @@ +.foo { + a: bar; +} diff --git a/theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css b/theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css new file mode 100644 index 0000000000..6d661f2404 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/420-test_warn_directive.css @@ -0,0 +1,3 @@ +bar { + c: d; +} diff --git a/theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css b/theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css new file mode 100644 index 0000000000..0d6bd2ec98 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/55-test_long_extendee.css @@ -0,0 +1,3 @@ +.foo.bar, .baz { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css b/theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css new file mode 100644 index 0000000000..d3fae7600f --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/63-test_multiple_extendees.css @@ -0,0 +1,7 @@ +.foo, .baz { + a: b; +} + +.bar, .baz { + c: d; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..44196e6602 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css @@ -0,0 +1,3 @@ +.foo .bar, .baz .bar, .foo .bang, .baz .bang { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..9b5770d7c5 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/66-test_multiple_extends_with_single_extender_and_single_target.css @@ -0,0 +1,3 @@ +.foo .bar, .baz .bar, .foo .baz, .baz .baz { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css b/theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css new file mode 100644 index 0000000000..779bd00f75 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/67-test_multiple_targets.css @@ -0,0 +1,7 @@ +.foo, .bar { + a: b; +} + +.blip .foo, .blip .bar { + c: d; +} diff --git a/theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css b/theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css new file mode 100644 index 0000000000..657d1ec2f6 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/7-test_combinator_unification_angle_sibling.css @@ -0,0 +1,3 @@ +.a > x, .a > .b ~ y { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css b/theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css new file mode 100644 index 0000000000..1c4e604b71 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/70-test_nested_extender.css @@ -0,0 +1,3 @@ +.foo, foo bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..d1a50d50e3 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/80-test_nested_extender_merges_with_same_selector.css @@ -0,0 +1,3 @@ +.foo .bar, .foo .baz { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css b/theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css new file mode 100644 index 0000000000..9aa8d14958 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/81-test_nested_extender_runs_unification.css @@ -0,0 +1,3 @@ +.foo.bar, foo bar.bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css b/theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css new file mode 100644 index 0000000000..f7bd620245 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/85-test_nested_extender_with_child_selector.css @@ -0,0 +1,3 @@ +.baz .foo, .baz foo > bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..75561708b3 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css @@ -0,0 +1,3 @@ +.foo > .bar .baz, .foo > .bar .bang { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..4285daf8dd --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css @@ -0,0 +1,3 @@ +.foo .bar, .foo .bip > .baz { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css b/theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css new file mode 100644 index 0000000000..e9fe832391 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/90-test_nested_extender_with_sibling_selector.css @@ -0,0 +1,3 @@ +.baz .foo, .baz foo + bar { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..5556837892 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/91-test_nested_selector_with_child_selector_hack_extendee.css @@ -0,0 +1,3 @@ +> .foo, > foo bar { + a: b; +} 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/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css deleted file mode 100644 index 09b4ccac27..0000000000 --- a/theme-compiler/tests/resources/sasslang/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css +++ /dev/null @@ -1,3 +0,0 @@ -~ .foo { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css b/theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css new file mode 100644 index 0000000000..d1a50d50e3 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/96-test_nested_target.css @@ -0,0 +1,3 @@ +.foo .bar, .foo .baz { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..540e6f8bf4 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/css/98-test_not_remains_at_end_of_selector.css @@ -0,0 +1,3 @@ +.foo:not(.bar), .baz:not(.bar) { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..619bbb51cd --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/106-test_pseudoclass_remains_at_end_of_selector.scss @@ -0,0 +1,2 @@ +.foo:bar {a: b} +.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss b/theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss new file mode 100644 index 0000000000..f50ad04b12 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/107-test_pseudoelement_goes_lefter_than_not.scss @@ -0,0 +1,2 @@ +.foo::bar {a: b} +.baz:not(.bang) {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss b/theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss new file mode 100644 index 0000000000..230f925a10 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss @@ -0,0 +1,2 @@ +.foo::bar {a: b} +.baz:bang {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..cd588ed24a --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/109-test_pseudoelement_remains_at_end_of_selector.scss @@ -0,0 +1,2 @@ +.foo::bar {a: b} +.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss b/theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss new file mode 100644 index 0000000000..ab8ba4845f --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/110-test_redundant_selector_elimination.scss @@ -0,0 +1,3 @@ +.foo.bar {a: b} +.x {@extend .foo, .bar} +.y {@extend .foo, .bar} diff --git a/theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss b/theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss new file mode 100644 index 0000000000..3748f64233 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/112-test_target_with_child.scss @@ -0,0 +1,2 @@ +.foo .bar {a: b} +.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss b/theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss new file mode 100644 index 0000000000..9f3cde0011 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/2-test_basic.scss @@ -0,0 +1,2 @@ +.foo {a: b} +.bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..a5a0dff1d0 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss @@ -0,0 +1,3 @@ +a.bar {a: b} +.bar {c: d} +b.foo {@extend .bar} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..ac6ad58994 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss @@ -0,0 +1,2 @@ +a.foo {a: b} +.foo {@extend a} diff --git a/theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss b/theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss new file mode 100644 index 0000000000..ad8df41f25 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/333-test_empty_content.scss @@ -0,0 +1,2 @@ +@mixin foo { @content } +a { b: c; @include foo {} } 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/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss deleted file mode 100644 index 713644b221..0000000000 --- a/theme-compiler/tests/resources/sasslang/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss +++ /dev/null @@ -1,2 +0,0 @@ -.bar a {a: b} -a.foo {@extend a} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..30a9d092cb --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss @@ -0,0 +1,2 @@ +a {a: b} +a.foo {@extend a} diff --git a/theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss b/theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss new file mode 100644 index 0000000000..3ba39ecac2 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/368-test_mixins_with_args.scss @@ -0,0 +1,3 @@ +@mixin foo($a) {a: $a} + +.foo {@include foo(bar)} diff --git a/theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss b/theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss new file mode 100644 index 0000000000..53546355cc --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/420-test_warn_directive.scss @@ -0,0 +1,3 @@ +@mixin foo { @warn "this is a mixin";} +@warn "this is a warning"; +bar {c: d; @include foo;} diff --git a/theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss b/theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss new file mode 100644 index 0000000000..26ab65d344 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/55-test_long_extendee.scss @@ -0,0 +1,2 @@ +.foo.bar {a: b} +.baz {@extend .foo.bar} diff --git a/theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss b/theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss new file mode 100644 index 0000000000..2c0f5aa72a --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/63-test_multiple_extendees.scss @@ -0,0 +1,3 @@ +.foo {a: b} +.bar {c: d} +.baz {@extend .foo; @extend .bar} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..4c2a4c59f8 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss @@ -0,0 +1,3 @@ +.foo .bar {a: b} +.baz {@extend .foo} +.bang {@extend .bar} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..48d9c5b733 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss @@ -0,0 +1,2 @@ +.foo .bar {a: b} +.baz {@extend .foo; @extend .bar} diff --git a/theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss b/theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss new file mode 100644 index 0000000000..fdcba65999 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/67-test_multiple_targets.scss @@ -0,0 +1,3 @@ +.foo {a: b} +.bar {@extend .foo} +.blip .foo {c: d} diff --git a/theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss b/theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss new file mode 100644 index 0000000000..b0120ac34e --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/7-test_combinator_unification_angle_sibling.scss @@ -0,0 +1,2 @@ +.a > x {a: b} +.b ~ y {@extend x} diff --git a/theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss b/theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss new file mode 100644 index 0000000000..6245cdfda7 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/70-test_nested_extender.scss @@ -0,0 +1,2 @@ +.foo {a: b} +foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..d959cce374 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/80-test_nested_extender_merges_with_same_selector.scss @@ -0,0 +1,3 @@ +.foo { + .bar {a: b} + .baz {@extend .bar} } diff --git a/theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss b/theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss new file mode 100644 index 0000000000..32c2c0cc62 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/81-test_nested_extender_runs_unification.scss @@ -0,0 +1,2 @@ +.foo.bar {a: b} +foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss b/theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss new file mode 100644 index 0000000000..da249ad564 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/85-test_nested_extender_with_child_selector.scss @@ -0,0 +1,2 @@ +.baz .foo {a: b} +foo > bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..224945cd71 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss @@ -0,0 +1,2 @@ +.foo > .bar .baz {a: b} +.foo > .bar .bang {@extend .baz} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..f2b8c6c07b --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss @@ -0,0 +1,4 @@ +.foo { + .bar {a: b} + .bip > .baz {@extend .bar} +} diff --git a/theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss b/theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss new file mode 100644 index 0000000000..b9d495ce76 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/90-test_nested_extender_with_sibling_selector.scss @@ -0,0 +1,2 @@ +.baz .foo {a: b} +foo + bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..928bc64f93 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss @@ -0,0 +1,2 @@ +> .foo {a: b} +foo bar {@extend .foo} 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/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss deleted file mode 100644 index 73f6254f21..0000000000 --- a/theme-compiler/tests/resources/sasslang/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss +++ /dev/null @@ -1,2 +0,0 @@ -~ .foo {a: b} -> foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss b/theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss new file mode 100644 index 0000000000..6662dea791 --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/96-test_nested_target.scss @@ -0,0 +1,2 @@ +.foo .bar {a: b} +.baz {@extend .bar} diff --git a/theme-compiler/tests/resources/sasslang/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 new file mode 100644 index 0000000000..c1af8b1b2a --- /dev/null +++ b/theme-compiler/tests/resources/sasslang/scss/98-test_not_remains_at_end_of_selector.scss @@ -0,0 +1,2 @@ +.foo:not(.bar) {a: b} +.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css deleted file mode 100644 index 2118fad2a2..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/106-test_pseudoclass_remains_at_end_of_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo:bar, .baz:bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css b/theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css deleted file mode 100644 index 7a53dec628..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/107-test_pseudoelement_goes_lefter_than_not.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo::bar, .baz:not(.bang)::bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css b/theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css deleted file mode 100644 index a5ae5ac363..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/108-test_pseudoelement_goes_lefter_than_pseudoclass.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo::bar, .baz:bang::bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css deleted file mode 100644 index aa379e70b3..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/109-test_pseudoelement_remains_at_end_of_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo::bar, .baz::bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css b/theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css deleted file mode 100644 index 7be91d143a..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/110-test_redundant_selector_elimination.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo.bar, .x, .y { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css b/theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css deleted file mode 100644 index cee3a34a5a..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/112-test_target_with_child.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .baz .bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css b/theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css deleted file mode 100644 index 4504b8d829..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/2-test_basic.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo, .bar { - a: b; -} 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/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css deleted file mode 100644 index 47d93c5dc1..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.css +++ /dev/null @@ -1,7 +0,0 @@ -a.bar { - a: b; -} - -.bar, b.foo { - c: d; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css deleted file mode 100644 index 4a4aa6d222..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/33-test_extend_redundancy_elimination_never_eliminates_base_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -a.foo, .foo { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css b/theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css deleted file mode 100644 index f1c0f6c996..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/333-test_empty_content.css +++ /dev/null @@ -1,3 +0,0 @@ -a { - b: c; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/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 new file mode 100644 index 0000000000..77b7586abb --- /dev/null +++ b/theme-compiler/tests/resources/sasslangbroken/css/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.css @@ -0,0 +1,3 @@ +.bar a { + a: b; +} 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/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css deleted file mode 100644 index eb28eca8fa..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.css +++ /dev/null @@ -1,3 +0,0 @@ -a, a.foo { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css b/theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css deleted file mode 100644 index 318a3f6ffb..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/368-test_mixins_with_args.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo { - a: bar; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css b/theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css deleted file mode 100644 index 6d661f2404..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/420-test_warn_directive.css +++ /dev/null @@ -1,3 +0,0 @@ -bar { - c: d; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css b/theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css deleted file mode 100644 index 0d6bd2ec98..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/55-test_long_extendee.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo.bar, .baz { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css b/theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css deleted file mode 100644 index d3fae7600f..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/63-test_multiple_extendees.css +++ /dev/null @@ -1,7 +0,0 @@ -.foo, .baz { - a: b; -} - -.bar, .baz { - c: d; -} 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/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css deleted file mode 100644 index 44196e6602..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/65-test_multiple_extends_with_multiple_extenders_and_single_target.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .baz .bar, .foo .bang, .baz .bang { - a: b; -} 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/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css deleted file mode 100644 index 9b5770d7c5..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/66-test_multiple_extends_with_single_extender_and_single_target.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .baz .bar, .foo .baz, .baz .baz { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css b/theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css deleted file mode 100644 index 779bd00f75..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/67-test_multiple_targets.css +++ /dev/null @@ -1,7 +0,0 @@ -.foo, .bar { - a: b; -} - -.blip .foo, .blip .bar { - c: d; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css b/theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css deleted file mode 100644 index 657d1ec2f6..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/7-test_combinator_unification_angle_sibling.css +++ /dev/null @@ -1,3 +0,0 @@ -.a > x, .a > .b ~ y { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css b/theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css deleted file mode 100644 index 1c4e604b71..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/70-test_nested_extender.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo, foo bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css deleted file mode 100644 index d1a50d50e3..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/80-test_nested_extender_merges_with_same_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .foo .baz { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css b/theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css deleted file mode 100644 index 9aa8d14958..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/81-test_nested_extender_runs_unification.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo.bar, foo bar.bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css deleted file mode 100644 index f7bd620245..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/85-test_nested_extender_with_child_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.baz .foo, .baz foo > bar { - a: b; -} 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/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css deleted file mode 100644 index 75561708b3..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/86-test_nested_extender_with_child_selector_merges_with_same_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo > .bar .baz, .foo > .bar .bang { - a: b; -} 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/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css deleted file mode 100644 index 4285daf8dd..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .foo .bip > .baz { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css deleted file mode 100644 index e9fe832391..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/90-test_nested_extender_with_sibling_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.baz .foo, .baz foo + bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css b/theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css deleted file mode 100644 index 5556837892..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/91-test_nested_selector_with_child_selector_hack_extendee.css +++ /dev/null @@ -1,3 +0,0 @@ -> .foo, > foo bar { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/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 new file mode 100644 index 0000000000..09b4ccac27 --- /dev/null +++ b/theme-compiler/tests/resources/sasslangbroken/css/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.css @@ -0,0 +1,3 @@ +~ .foo { + a: b; +} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css b/theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css deleted file mode 100644 index d1a50d50e3..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/96-test_nested_target.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar, .foo .baz { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css b/theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css deleted file mode 100644 index 540e6f8bf4..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/css/98-test_not_remains_at_end_of_selector.css +++ /dev/null @@ -1,3 +0,0 @@ -.foo:not(.bar), .baz:not(.bar) { - a: b; -} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss deleted file mode 100644 index 619bbb51cd..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/106-test_pseudoclass_remains_at_end_of_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo:bar {a: b} -.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss b/theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss deleted file mode 100644 index f50ad04b12..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/107-test_pseudoelement_goes_lefter_than_not.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo::bar {a: b} -.baz:not(.bang) {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss b/theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss deleted file mode 100644 index 230f925a10..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/108-test_pseudoelement_goes_lefter_than_pseudoclass.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo::bar {a: b} -.baz:bang {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss deleted file mode 100644 index cd588ed24a..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/109-test_pseudoelement_remains_at_end_of_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo::bar {a: b} -.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss b/theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss deleted file mode 100644 index ab8ba4845f..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/110-test_redundant_selector_elimination.scss +++ /dev/null @@ -1,3 +0,0 @@ -.foo.bar {a: b} -.x {@extend .foo, .bar} -.y {@extend .foo, .bar} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss b/theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss deleted file mode 100644 index 3748f64233..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/112-test_target_with_child.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo .bar {a: b} -.baz {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss b/theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss deleted file mode 100644 index 9f3cde0011..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/2-test_basic.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo {a: b} -.bar {@extend .foo} 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/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss deleted file mode 100644 index a5a0dff1d0..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/29-test_extend_does_not_warn_when_one_extension_fails_but_others_dont.scss +++ /dev/null @@ -1,3 +0,0 @@ -a.bar {a: b} -.bar {c: d} -b.foo {@extend .bar} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss deleted file mode 100644 index ac6ad58994..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/33-test_extend_redundancy_elimination_never_eliminates_base_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -a.foo {a: b} -.foo {@extend a} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss b/theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss deleted file mode 100644 index ad8df41f25..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/333-test_empty_content.scss +++ /dev/null @@ -1,2 +0,0 @@ -@mixin foo { @content } -a { b: c; @include foo {} } diff --git a/theme-compiler/tests/resources/sasslangbroken/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 new file mode 100644 index 0000000000..713644b221 --- /dev/null +++ b/theme-compiler/tests/resources/sasslangbroken/scss/34-test_extend_redundancy_elimination_when_it_would_preserve_specificity.scss @@ -0,0 +1,2 @@ +.bar a {a: b} +a.foo {@extend a} 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/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss deleted file mode 100644 index 30a9d092cb..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/35-test_extend_redundancy_elimination_when_it_would_reduce_specificity.scss +++ /dev/null @@ -1,2 +0,0 @@ -a {a: b} -a.foo {@extend a} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss b/theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss deleted file mode 100644 index 3ba39ecac2..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/368-test_mixins_with_args.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin foo($a) {a: $a} - -.foo {@include foo(bar)} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss b/theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss deleted file mode 100644 index 53546355cc..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/420-test_warn_directive.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin foo { @warn "this is a mixin";} -@warn "this is a warning"; -bar {c: d; @include foo;} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss b/theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss deleted file mode 100644 index 26ab65d344..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/55-test_long_extendee.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo.bar {a: b} -.baz {@extend .foo.bar} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss b/theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss deleted file mode 100644 index 2c0f5aa72a..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/63-test_multiple_extendees.scss +++ /dev/null @@ -1,3 +0,0 @@ -.foo {a: b} -.bar {c: d} -.baz {@extend .foo; @extend .bar} 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/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss deleted file mode 100644 index 4c2a4c59f8..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/65-test_multiple_extends_with_multiple_extenders_and_single_target.scss +++ /dev/null @@ -1,3 +0,0 @@ -.foo .bar {a: b} -.baz {@extend .foo} -.bang {@extend .bar} 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/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss deleted file mode 100644 index 48d9c5b733..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/66-test_multiple_extends_with_single_extender_and_single_target.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo .bar {a: b} -.baz {@extend .foo; @extend .bar} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss b/theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss deleted file mode 100644 index fdcba65999..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/67-test_multiple_targets.scss +++ /dev/null @@ -1,3 +0,0 @@ -.foo {a: b} -.bar {@extend .foo} -.blip .foo {c: d} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss b/theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss deleted file mode 100644 index b0120ac34e..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/7-test_combinator_unification_angle_sibling.scss +++ /dev/null @@ -1,2 +0,0 @@ -.a > x {a: b} -.b ~ y {@extend x} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss b/theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss deleted file mode 100644 index 6245cdfda7..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/70-test_nested_extender.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo {a: b} -foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss deleted file mode 100644 index d959cce374..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/80-test_nested_extender_merges_with_same_selector.scss +++ /dev/null @@ -1,3 +0,0 @@ -.foo { - .bar {a: b} - .baz {@extend .bar} } diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss b/theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss deleted file mode 100644 index 32c2c0cc62..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/81-test_nested_extender_runs_unification.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo.bar {a: b} -foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss deleted file mode 100644 index da249ad564..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/85-test_nested_extender_with_child_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.baz .foo {a: b} -foo > bar {@extend .foo} 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/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss deleted file mode 100644 index 224945cd71..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/86-test_nested_extender_with_child_selector_merges_with_same_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo > .bar .baz {a: b} -.foo > .bar .bang {@extend .baz} 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/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss deleted file mode 100644 index f2b8c6c07b..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/88-test_nested_extender_with_early_child_selectors_doesnt_subseq_them.scss +++ /dev/null @@ -1,4 +0,0 @@ -.foo { - .bar {a: b} - .bip > .baz {@extend .bar} -} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss deleted file mode 100644 index b9d495ce76..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/90-test_nested_extender_with_sibling_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.baz .foo {a: b} -foo + bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss b/theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss deleted file mode 100644 index 928bc64f93..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/91-test_nested_selector_with_child_selector_hack_extendee.scss +++ /dev/null @@ -1,2 +0,0 @@ -> .foo {a: b} -foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/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 new file mode 100644 index 0000000000..73f6254f21 --- /dev/null +++ b/theme-compiler/tests/resources/sasslangbroken/scss/95-test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee.scss @@ -0,0 +1,2 @@ +~ .foo {a: b} +> foo bar {@extend .foo} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss b/theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss deleted file mode 100644 index 6662dea791..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/96-test_nested_target.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo .bar {a: b} -.baz {@extend .bar} diff --git a/theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss b/theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss deleted file mode 100644 index c1af8b1b2a..0000000000 --- a/theme-compiler/tests/resources/sasslangbroken/scss/98-test_not_remains_at_end_of_selector.scss +++ /dev/null @@ -1,2 +0,0 @@ -.foo:not(.bar) {a: b} -.baz {@extend .foo} -- cgit v1.2.3