aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebContent/VAADIN/themes/base/datefield/datefield.scss2
-rw-r--r--WebContent/VAADIN/themes/base/menubar/menubar.scss2
-rw-r--r--WebContent/VAADIN/themes/chameleon/common/common.scss2
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/button/button.scss4
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss8
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/label/label.scss14
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/notification/notification.scss2
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/panel/panel.scss4
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/selects/selects.scss14
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/table/table.scss6
-rw-r--r--WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss4
-rw-r--r--WebContent/VAADIN/themes/chameleon/compound/compound.scss2
-rw-r--r--WebContent/VAADIN/themes/liferay/button/button.scss4
-rw-r--r--WebContent/VAADIN/themes/runo/common/common.scss6
-rw-r--r--WebContent/VAADIN/themes/runo/label/label.scss2
-rw-r--r--WebContent/VAADIN/themes/runo/notification/notification.scss8
-rw-r--r--server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java23
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java2346
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj42
-rw-r--r--theme-compiler/tests/resources/automatic/css/microsoft-extensions.css1
-rw-r--r--theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss1
-rw-r--r--uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html42
-rw-r--r--uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java170
-rw-r--r--uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.html37
-rw-r--r--uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.java26
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html432
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html432
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html432
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html432
29 files changed, 3374 insertions, 1126 deletions
diff --git a/WebContent/VAADIN/themes/base/datefield/datefield.scss b/WebContent/VAADIN/themes/base/datefield/datefield.scss
index e6309aadd3..21f544cb72 100644
--- a/WebContent/VAADIN/themes/base/datefield/datefield.scss
+++ b/WebContent/VAADIN/themes/base/datefield/datefield.scss
@@ -42,7 +42,7 @@
.#{$primaryStyleName}-calendarpanel-weeknumber {
color: #999;
border-right: 1px solid #ddd;
- font-size: 0.9em;
+ font-size: 11.7px;
}
.#{$primaryStyleName}-calendarpanel-day,
.#{$primaryStyleName}-calendarpanel-day-today {
diff --git a/WebContent/VAADIN/themes/base/menubar/menubar.scss b/WebContent/VAADIN/themes/base/menubar/menubar.scss
index 732f3d3444..b5f0752c9b 100644
--- a/WebContent/VAADIN/themes/base/menubar/menubar.scss
+++ b/WebContent/VAADIN/themes/base/menubar/menubar.scss
@@ -48,7 +48,7 @@
right: 0;
width: 1em;
height: 1em;
- font-size: 0.9em;
+ font-size: 11.7px;
}
.#{$primaryStyleName}-menuitem-disabled,
.#{$primaryStyleName} span.#{$primaryStyleName}-menuitem-disabled:hover,
diff --git a/WebContent/VAADIN/themes/chameleon/common/common.scss b/WebContent/VAADIN/themes/chameleon/common/common.scss
index 050d100673..2f3dc53ef3 100644
--- a/WebContent/VAADIN/themes/chameleon/common/common.scss
+++ b/WebContent/VAADIN/themes/chameleon/common/common.scss
@@ -25,7 +25,7 @@ $chameleon-line-height: 1.4;
border: 1px solid #c0c0b9;
padding: 1px 5px;
color: #222;
- font-size: 0.9em;
+ font-size: 11.7px;
line-height: normal;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
diff --git a/WebContent/VAADIN/themes/chameleon/components/button/button.scss b/WebContent/VAADIN/themes/chameleon/components/button/button.scss
index 75970cdac7..cfb5ab2917 100644
--- a/WebContent/VAADIN/themes/chameleon/components/button/button.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/button/button.scss
@@ -79,7 +79,7 @@ div.#{$primaryStyleName}-down .#{$primaryStyleName}-wrap {
* Big
******************************************************************************/
.#{$primaryStyleName}-big {
- font-size: 1.2em;
+ font-size: 15.6px;
}
@@ -87,7 +87,7 @@ div.#{$primaryStyleName}-down .#{$primaryStyleName}-wrap {
* Small
******************************************************************************/
.#{$primaryStyleName}-small {
- font-size: 0.85em;
+ font-size: 11.05px;
font-weight: normal;
}
diff --git a/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss
index bd9c89bb33..e63e96417c 100644
--- a/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.scss
@@ -69,7 +69,7 @@ input.#{$primaryStyleName}-textfield {
margin: 0;
padding: 0;
height: auto !important;
- font-size: 0.9em;
+ font-size: 11.7px;
}
.#{$primaryStyleName}-month .#{$primaryStyleName}-textfield {
@@ -134,7 +134,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear {
}
.#{$primaryStyleName}-calendarpanel-header button {
- font-size: 1em;
+ font-size: 13px;
line-height: normal;
width: 100%;
padding: 0 .8em;
@@ -205,7 +205,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear {
.#{$primaryStyleName}-calendarpanel-weekdays strong {
display: block;
text-align: right;
- font-size: 0.8em;
+ font-size: 10.4px;
padding: .3em .5em .35em 0;
height: 1.1em;
color: #fff;
@@ -272,7 +272,7 @@ td.#{$primaryStyleName}-calendarpanel-nextyear {
.#{$primaryStyleName}-calendarpanel-time select {
padding: 0;
- font-size: 0.9em;
+ font-size: 11.7px;
margin: 0;
}
diff --git a/WebContent/VAADIN/themes/chameleon/components/label/label.scss b/WebContent/VAADIN/themes/chameleon/components/label/label.scss
index 5952ee2802..736c29f075 100644
--- a/WebContent/VAADIN/themes/chameleon/components/label/label.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/label/label.scss
@@ -18,25 +18,25 @@
.#{$primaryStyleName}-h1,
.#{$primaryStyleName} h1 {
padding: .75em 0 .5em 0;
- font-size: 1.85em;
+ font-size: 24.05px;
}
.#{$primaryStyleName}-h2,
.#{$primaryStyleName} h2 {
padding: .67em 0 .33em 0;
- font-size: 1.4em;
+ font-size: 18.2px;
}
.#{$primaryStyleName}-h3,
.#{$primaryStyleName} h3 {
margin: .71em 0 .29em 0;
- font-size: 1.1em;
+ font-size: 14.3px;
}
.#{$primaryStyleName}-h4,
.#{$primaryStyleName} h4 {
padding: .23em 0;
- font-size: 1em;
+ font-size: 13px;
}
@@ -44,7 +44,7 @@
* Big
******************************************************************************/
.#{$primaryStyleName}-big {
- font-size: 1.2em;
+ font-size: 15.6px;
}
@@ -52,7 +52,7 @@
* Small
******************************************************************************/
.#{$primaryStyleName}-small {
- font-size: 0.9em;
+ font-size: 11.7px;
line-height: 1.3;
opacity: .8;
filter: alpha(opacity=80);
@@ -63,7 +63,7 @@
* Tiny
******************************************************************************/
.#{$primaryStyleName}-tiny {
- font-size: 0.85em;
+ font-size: 11.05px;
line-height: 1.2;
opacity: .7;
filter: alpha(opacity=70);
diff --git a/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss b/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss
index 1218b476f5..fbf78d40c4 100644
--- a/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/notification/notification.scss
@@ -4,7 +4,7 @@ div.#{$primaryStyleName} {
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
- font-size: 16px;
+ font-size: 16px;
-webkit-box-shadow: 0 2px 5px rgba(0,0,0,.7);
-moz-box-shadow: 0 2px 5px rgba(0,0,0,.7);
box-shadow: 0 2px 5px rgba(0,0,0,.7);
diff --git a/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss b/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss
index bc6a8f555c..bae827b484 100644
--- a/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/panel/panel.scss
@@ -2,7 +2,7 @@
.#{$primaryStyleName}-caption {
background: #b9dcff;
- font-size: 1.2em;
+ font-size: 15.6px;
border: 1px solid #b3b3b3;
border-bottom: none;
padding: .2em .6em;
@@ -84,7 +84,7 @@ div.#{$primaryStyleName}-content-light {
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
margin: 1px 0;
- font-size: 1em;
+ font-size: 13px;
line-height: 1.2;
padding: .3em .6em;
}
diff --git a/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss b/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss
index 7810e818bf..7dac94fe9d 100644
--- a/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/selects/selects.scss
@@ -53,11 +53,11 @@
}
&.v-app .#{$primaryStyleName}-suggestpopup-small td {
- font-size: .85em;
+ font-size: 11.05px;
}
&.v-app .#{$primaryStyleName}-suggestpopup-big td {
- font-size: 1.1em;
+ font-size: 14.3px;
}
.#{$primaryStyleName}-big .#{$primaryStyleName}-button {
@@ -112,7 +112,7 @@
}
.#{$primaryStyleName}-status {
- font-size: .85em;
+ font-size: 11.05px;
margin: 1px 0 -3px;
user-select: none;
-webkit-user-select: none;
@@ -126,19 +126,19 @@
}
.#{$primaryStyleName}-suggestpopup-small .#{$primaryStyleName}-status {
- font-size: .8em;
+ font-size: 10.4px;
}
.#{$primaryStyleName}-suggestpopup-big .#{$primaryStyleName}-status {
- font-size: .9em;
+ font-size: 11.7px;
}
.v-select-small .v-select-select {
- font-size: 0.8em;
+ font-size: 10.4px;
}
.v-select-big .v-select-select {
- font-size: 1.2em;
+ font-size: 15.6px;
}
diff --git a/WebContent/VAADIN/themes/chameleon/components/table/table.scss b/WebContent/VAADIN/themes/chameleon/components/table/table.scss
index b3ebf44d63..41f6b2edba 100644
--- a/WebContent/VAADIN/themes/chameleon/components/table/table.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/table/table.scss
@@ -96,7 +96,7 @@ div.#{$primaryStyleName}-focus-slot-right {
}
.#{$primaryStyleName}-scrollposition {
- font-size: 0.9em;
+ font-size: 11.7px;
opacity: .85;
filter: alpha(opacity=85);
}
@@ -106,7 +106,7 @@ div.#{$primaryStyleName}-focus-slot-right {
******************************************************************************/
.#{$primaryStyleName}-small .#{$primaryStyleName}-caption-container,
.#{$primaryStyleName}-small .#{$primaryStyleName}-body {
- font-size: 0.85em;
+ font-size: 11.05px;
}
.#{$primaryStyleName}-small .#{$primaryStyleName}-resizer,
@@ -124,7 +124,7 @@ div.#{$primaryStyleName}-focus-slot-right {
******************************************************************************/
.#{$primaryStyleName}-big .#{$primaryStyleName}-caption-container,
.#{$primaryStyleName}-big .#{$primaryStyleName}-body {
- font-size: 1.2em;
+ font-size: 15.6px;
}
.#{$primaryStyleName}-big .#{$primaryStyleName}-caption-container {
diff --git a/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss
index 860d91a6e7..787a4a4f91 100644
--- a/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss
+++ b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.scss
@@ -74,7 +74,7 @@ textarea.v-textarea-readonly {
.v-datefield-small .v-datefield-textfield,
.v-datefield-small .v-datefield-button,
.v-filterselect-small .v-filterselect-input {
- font-size: 0.85em;
+ font-size: 11.05px;
}
@@ -86,7 +86,7 @@ textarea.v-textarea-readonly {
.v-datefield-big .v-datefield-textfield,
.v-datefield-big .v-datefield-button,
.v-filterselect-big .v-filterselect-input {
- font-size: 1.2em;
+ font-size: 15.6px;
}
input.#{$primaryStyleName}-big[type=text],
diff --git a/WebContent/VAADIN/themes/chameleon/compound/compound.scss b/WebContent/VAADIN/themes/chameleon/compound/compound.scss
index b3f0e72f8f..43a8717dbb 100644
--- a/WebContent/VAADIN/themes/chameleon/compound/compound.scss
+++ b/WebContent/VAADIN/themes/chameleon/compound/compound.scss
@@ -66,7 +66,7 @@
.sidebar-menu {
.v-label {
- font-size: 0.85em;
+ font-size: 11.05px;
text-transform: uppercase;
font-weight: bold;
letter-spacing: 0.03em;
diff --git a/WebContent/VAADIN/themes/liferay/button/button.scss b/WebContent/VAADIN/themes/liferay/button/button.scss
index 9835628d31..c604f26af9 100644
--- a/WebContent/VAADIN/themes/liferay/button/button.scss
+++ b/WebContent/VAADIN/themes/liferay/button/button.scss
@@ -28,7 +28,7 @@
.v-button .v-button-wrap,
.v-disabled.v-button .v-button-wrap {
display: block;
- font-size: 11px;
+ font-size: $font-size;
font-weight: bold;
border: 1px solid #c8c9ca;
border-right-color: #9e9e9e;
@@ -75,7 +75,7 @@ button.v-nativebutton-link-pressed,
border-style: none;
background: transparent;
padding: 0;
- font-size: inherit;
+ font-size: $font-size;
-webkit-box-shadow: none;
-mox-box-shadow: none;
-webkit-border-radius: 0;
diff --git a/WebContent/VAADIN/themes/runo/common/common.scss b/WebContent/VAADIN/themes/runo/common/common.scss
index 9d4b4a4858..36447d9593 100644
--- a/WebContent/VAADIN/themes/runo/common/common.scss
+++ b/WebContent/VAADIN/themes/runo/common/common.scss
@@ -4,8 +4,8 @@
background: #e9eced url(img/main-bg.png) repeat-x;
font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, helvetica, arial, tahoma, verdana, sans-serif;
color: #464f52;
- font-size: 13px;
- line-height: 18px;
+ font-size: $font-size;
+ line-height: $line-height;
}
/* Global font styles */
&.v-app,
@@ -32,7 +32,7 @@
.v-drag-element {
font-family: "Trebuchet MS", geneva, helvetica, arial, tahoma, verdana, sans-serif;
color: #464f52;
- font-size: 13px;
+ font-size: $font-size;
}
&.v-app select,
.v-window select {
diff --git a/WebContent/VAADIN/themes/runo/label/label.scss b/WebContent/VAADIN/themes/runo/label/label.scss
index 926f1d2cc3..50792d61a1 100644
--- a/WebContent/VAADIN/themes/runo/label/label.scss
+++ b/WebContent/VAADIN/themes/runo/label/label.scss
@@ -47,7 +47,7 @@
}
.#{$primaryStyleName}-small {
- font-size: .87em;
+ font-size: 11.31px;
line-height: 1.4;
color: #707679;
}
diff --git a/WebContent/VAADIN/themes/runo/notification/notification.scss b/WebContent/VAADIN/themes/runo/notification/notification.scss
index af0a2edc32..b8ffecf243 100644
--- a/WebContent/VAADIN/themes/runo/notification/notification.scss
+++ b/WebContent/VAADIN/themes/runo/notification/notification.scss
@@ -10,7 +10,7 @@
-webkit-border-radius: 3px;
border-radius: 3px;
overflow: hidden;
- font-size: 1.2em;
+ font-size: 15.6px;
-webkit-box-shadow: 0 3px 10px rgba(0,0,0,.3);
-moz-box-shadow: 0 3px 10px rgba(0,0,0,.3);
margin: 10px;
@@ -46,7 +46,7 @@
.#{$primaryStyleName}-tray h1 {
display: block;
font-weight: bold;
- font-size: 0.9em;
+ font-size: 11.7px;
line-height: 1;
background: #3b4245;
padding: 2px 10px;
@@ -57,14 +57,14 @@
}
.#{$primaryStyleName}-tray p {
display: block;
- font-size: 0.8em;
+ font-size: 10.4px;
line-height: 1.2;
margin: 4px 10px 5px 10px;
color: #e4e7ea;
}
.#{$primaryStyleName}-system {
background-color: #ff0a0a;
- font-size: .9em;
+ font-size: 11.7px;
padding: 14px 32px;
}
diff --git a/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java b/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
index 12cb892090..065810a7b4 100644
--- a/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
+++ b/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
@@ -854,7 +854,21 @@ public class SQLContainer implements Container, Container.Filterable,
* Does NOT remove sorting or filtering rules!
*/
public void refresh() {
- sizeDirty = true;
+ refresh(true);
+ }
+
+ /**
+ * Refreshes the container. If <code>setSizeDirty</code> is
+ * <code>false</code>, assumes that the current size is up to date. This is
+ * used in {@link #updateCount()} to refresh the contents when we know the
+ * size was just updated.
+ *
+ * @param setSizeDirty
+ */
+ private void refresh(boolean setSizeDirty) {
+ if (setSizeDirty) {
+ sizeDirty = true;
+ }
currentOffset = 0;
cachedItems.clear();
itemIndexes.clear();
@@ -1105,12 +1119,13 @@ public class SQLContainer implements Container, Container.Filterable,
"The query delegate doesn't support filtering", e);
}
int newSize = delegate.getCount();
+ sizeUpdated = new Date();
+ sizeDirty = false;
if (newSize != size) {
size = newSize;
- refresh();
+ // Size is up to date so don't set it back to dirty in refresh()
+ refresh(false);
}
- sizeUpdated = new Date();
- sizeDirty = false;
getLogger().log(Level.FINER,
"Updated row count. New count is: " + size);
} catch (SQLException e) {
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 83e46c34c9..52a93389e0 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
@@ -551,63 +551,50 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
label_7:
while (true) {
;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case VARIABLE:
- if (jj_2_1(5)) {
- listModifyDirective();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case VARIABLE:
- variable();
- break;
- default:
- jj_la1[8] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- break;
- case DEBUG_SYM:
- debugDirective();
- break;
- case WARN_SYM:
- warnDirective();
- break;
- case IF_SYM:
- ifDirective();
- break;
- case MIXIN_SYM:
- mixinDirective();
- break;
- case EACH_SYM:
- eachDirective();
- break;
- case INCLUDE_SYM:
- includeDirective();
- break;
- case LBRACKET:
- case ANY:
- case PARENT:
- case DOT:
- case COLON:
- case INTERPOLATION:
- case IDENT:
- case HASH:
- styleRule();
- break;
- case MEDIA_SYM:
- media();
- break;
- case PAGE_SYM:
- page();
- break;
- case FONT_FACE_SYM:
- fontFace();
- break;
- default:
- jj_la1[9] = jj_gen;
+ if (jj_2_1(5)) {
+ listModifyDirective();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VARIABLE:
+ variable();
+ break;
+ case DEBUG_SYM:
+ case WARN_SYM:
+ debuggingDirective();
+ break;
+ case MIXIN_SYM:
+ mixinDirective();
+ break;
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case IDENT:
+ case HASH:
+ styleRule();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case PAGE_SYM:
+ page();
+ break;
+ case FONT_FACE_SYM:
+ fontFace();
+ break;
+ default:
+ jj_la1[8] = jj_gen;
l = getLocator();
- ret = skipStatement();
+ ret = skipStatement();
if ((ret == null) || (ret.length() == 0)) {
{if (true) return;}
}
@@ -616,6 +603,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
} else {
reportWarningSkipText(l, ret);
}
+ }
}
label_8:
while (true) {
@@ -626,7 +614,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[10] = jj_gen;
+ jj_la1[9] = jj_gen;
break label_8;
}
ignoreStatement();
@@ -637,7 +625,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[11] = jj_gen;
+ jj_la1[10] = jj_gen;
break label_9;
}
jj_consume_token(S);
@@ -658,7 +646,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
atRuleDeclaration();
break;
default:
- jj_la1[12] = jj_gen;
+ jj_la1[11] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -683,7 +671,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[13] = jj_gen;
+ jj_la1[12] = jj_gen;
break label_10;
}
jj_consume_token(S);
@@ -704,7 +692,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[14] = jj_gen;
+ jj_la1[13] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -715,7 +703,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[15] = jj_gen;
+ jj_la1[14] = jj_gen;
break label_11;
}
jj_consume_token(S);
@@ -725,7 +713,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
mediaStatement(ml);
break;
default:
- jj_la1[16] = jj_gen;
+ jj_la1[15] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
@@ -736,7 +724,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[17] = jj_gen;
+ jj_la1[16] = jj_gen;
break label_12;
}
jj_consume_token(S);
@@ -770,7 +758,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[18] = jj_gen;
+ jj_la1[17] = jj_gen;
break label_13;
}
jj_consume_token(S);
@@ -785,7 +773,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[19] = jj_gen;
+ jj_la1[18] = jj_gen;
break label_14;
}
jj_consume_token(S);
@@ -831,15 +819,13 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[20] = jj_gen;
+ jj_la1[19] = jj_gen;
break label_15;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DEBUG_SYM:
- debugDirective();
- break;
case WARN_SYM:
- warnDirective();
+ debuggingDirective();
break;
case LBRACKET:
case ANY:
@@ -879,7 +865,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
skipUnknownRule();
break;
default:
- jj_la1[21] = jj_gen;
+ jj_la1[20] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -892,7 +878,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[22] = jj_gen;
+ jj_la1[21] = jj_gen;
break label_16;
}
jj_consume_token(S);
@@ -919,7 +905,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[23] = jj_gen;
+ jj_la1[22] = jj_gen;
break label_17;
}
jj_consume_token(COMMA);
@@ -930,7 +916,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[24] = jj_gen;
+ jj_la1[23] = jj_gen;
break label_18;
}
jj_consume_token(S);
@@ -954,7 +940,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[25] = jj_gen;
+ jj_la1[24] = jj_gen;
break label_19;
}
jj_consume_token(S);
@@ -980,7 +966,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[26] = jj_gen;
+ jj_la1[25] = jj_gen;
break label_20;
}
jj_consume_token(S);
@@ -995,14 +981,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[27] = jj_gen;
+ jj_la1[26] = jj_gen;
break label_21;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[28] = jj_gen;
+ jj_la1[27] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1010,7 +996,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
pseudo = pseudo_page();
break;
default:
- jj_la1[29] = jj_gen;
+ jj_la1[28] = jj_gen;
;
}
if (n != null) {
@@ -1024,7 +1010,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[30] = jj_gen;
+ jj_la1[29] = jj_gen;
break label_22;
}
jj_consume_token(S);
@@ -1036,7 +1022,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[31] = jj_gen;
+ jj_la1[30] = jj_gen;
;
}
label_23:
@@ -1046,7 +1032,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[32] = jj_gen;
+ jj_la1[31] = jj_gen;
break label_23;
}
jj_consume_token(SEMICOLON);
@@ -1057,7 +1043,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[33] = jj_gen;
+ jj_la1[32] = jj_gen;
break label_24;
}
jj_consume_token(S);
@@ -1067,7 +1053,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[34] = jj_gen;
+ jj_la1[33] = jj_gen;
;
}
}
@@ -1079,7 +1065,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[35] = jj_gen;
+ jj_la1[34] = jj_gen;
break label_25;
}
jj_consume_token(S);
@@ -1113,7 +1099,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[36] = jj_gen;
+ jj_la1[35] = jj_gen;
break label_26;
}
jj_consume_token(S);
@@ -1133,7 +1119,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[37] = jj_gen;
+ jj_la1[36] = jj_gen;
break label_27;
}
jj_consume_token(S);
@@ -1146,7 +1132,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[38] = jj_gen;
+ jj_la1[37] = jj_gen;
break label_28;
}
jj_consume_token(S);
@@ -1157,7 +1143,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[39] = jj_gen;
+ jj_la1[38] = jj_gen;
;
}
label_29:
@@ -1167,7 +1153,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[40] = jj_gen;
+ jj_la1[39] = jj_gen;
break label_29;
}
jj_consume_token(SEMICOLON);
@@ -1178,7 +1164,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[41] = jj_gen;
+ jj_la1[40] = jj_gen;
break label_30;
}
jj_consume_token(S);
@@ -1188,7 +1174,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[42] = jj_gen;
+ jj_la1[41] = jj_gen;
;
}
}
@@ -1200,7 +1186,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[43] = jj_gen;
+ jj_la1[42] = jj_gen;
break label_31;
}
jj_consume_token(S);
@@ -1311,7 +1297,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
n = jj_consume_token(UNKNOWN);
break;
default:
- jj_la1[44] = jj_gen;
+ jj_la1[43] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1340,7 +1326,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[45] = jj_gen;
+ jj_la1[44] = jj_gen;
break label_32;
}
jj_consume_token(S);
@@ -1356,7 +1342,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[46] = jj_gen;
+ jj_la1[45] = jj_gen;
break label_33;
}
jj_consume_token(S);
@@ -1372,7 +1358,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[47] = jj_gen;
+ jj_la1[46] = jj_gen;
break label_34;
}
jj_consume_token(S);
@@ -1399,7 +1385,7 @@ char connector = ' ';
connector = '~';
break;
default:
- jj_la1[48] = jj_gen;
+ jj_la1[47] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1410,20 +1396,20 @@ char connector = ' ';
;
break;
default:
- jj_la1[49] = jj_gen;
+ jj_la1[48] = jj_gen;
break label_35;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[50] = jj_gen;
+ jj_la1[49] = jj_gen;
;
}
{if (true) return connector;}
break;
default:
- jj_la1[51] = jj_gen;
+ jj_la1[50] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1434,7 +1420,8 @@ char connector = ' ';
Token n;
String name = "";
String value = "";
- n = jj_consume_token(MICROSOFT_RULE);
+ // This is not really taking the syntax of filter rules into account
+ n = jj_consume_token(MICROSOFT_RULE);
label_36:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1442,7 +1429,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[52] = jj_gen;
+ jj_la1[51] = jj_gen;
break label_36;
}
jj_consume_token(S);
@@ -1460,6 +1447,14 @@ char connector = ' ';
n = jj_consume_token(NUMBER);
value += n.image;
break;
+ case STRING:
+ n = jj_consume_token(STRING);
+ value += n.image;
+ break;
+ case COMMA:
+ n = jj_consume_token(COMMA);
+ value += n.image;
+ break;
case INTERPOLATION:
n = jj_consume_token(INTERPOLATION);
value += n.image;
@@ -1490,24 +1485,26 @@ char connector = ' ';
{ value += n.image; }
break;
default:
- jj_la1[53] = jj_gen;
+ jj_la1[52] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
case EQ:
+ case COMMA:
case DOT:
case RPARAN:
case COLON:
case INTERPOLATION:
+ case STRING:
case IDENT:
case NUMBER:
case FUNCTION:
;
break;
default:
- jj_la1[54] = jj_gen;
+ jj_la1[53] = jj_gen;
break label_37;
}
}
@@ -1519,7 +1516,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[55] = jj_gen;
+ jj_la1[54] = jj_gen;
break label_38;
}
jj_consume_token(S);
@@ -1540,7 +1537,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[56] = jj_gen;
+ jj_la1[55] = jj_gen;
break label_39;
}
jj_consume_token(S);
@@ -1559,7 +1556,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[57] = jj_gen;
+ jj_la1[56] = jj_gen;
break label_40;
}
jj_consume_token(S);
@@ -1578,7 +1575,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[58] = jj_gen;
+ jj_la1[57] = jj_gen;
break label_41;
}
jj_consume_token(S);
@@ -1606,7 +1603,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[59] = jj_gen;
+ jj_la1[58] = jj_gen;
break label_42;
}
jj_consume_token(S);
@@ -1636,59 +1633,24 @@ char connector = ' ';
;
break;
default:
- jj_la1[60] = jj_gen;
+ jj_la1[59] = jj_gen;
break label_43;
}
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IF_SYM:
- ifDirective();
- break;
- default:
- jj_la1[61] = jj_gen;
- if (jj_2_2(5)) {
- listModifyDirective();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCLUDE_SYM:
- includeDirective();
- break;
- case MEDIA_SYM:
- media();
- break;
- case EXTEND_SYM:
- extendDirective();
- break;
- case EACH_SYM:
- eachDirective();
- break;
- case VARIABLE:
- variable();
- break;
- default:
- jj_la1[62] = jj_gen;
- if (jj_2_3(3)) {
- microsoftExtension();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACKET:
- case ANY:
- case PARENT:
- case DOT:
- case COLON:
- case INTERPOLATION:
- case DEBUG_SYM:
- case WARN_SYM:
- case IDENT:
- case HASH:
- styleRuleOrDeclarationOrNestedProperties();
- break;
- default:
- jj_la1[63] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- }
+ if (jj_2_2(5)) {
+ ifContentStatement();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case MICROSOFT_RULE:
+ microsoftExtension();
+ break;
+ default:
+ jj_la1[60] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
}
}
@@ -1700,7 +1662,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[64] = jj_gen;
+ jj_la1[61] = jj_gen;
break label_44;
}
jj_consume_token(S);
@@ -1737,7 +1699,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[65] = jj_gen;
+ jj_la1[62] = jj_gen;
break label_45;
}
jj_consume_token(COMMA);
@@ -1748,7 +1710,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[66] = jj_gen;
+ jj_la1[63] = jj_gen;
break label_46;
}
jj_consume_token(S);
@@ -1771,7 +1733,7 @@ char connector = ' ';
selector = simple_selector(null, ' ');
label_47:
while (true) {
- if (jj_2_4(2)) {
+ if (jj_2_3(2)) {
;
} else {
break label_47;
@@ -1786,7 +1748,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[67] = jj_gen;
+ jj_la1[64] = jj_gen;
break label_48;
}
jj_consume_token(S);
@@ -1841,7 +1803,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[68] = jj_gen;
+ jj_la1[65] = jj_gen;
break label_49;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1858,7 +1820,7 @@ char connector = ' ';
cond = pseudo(cond);
break;
default:
- jj_la1[69] = jj_gen;
+ jj_la1[66] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1875,7 +1837,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[70] = jj_gen;
+ jj_la1[67] = jj_gen;
break label_50;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1889,7 +1851,7 @@ char connector = ' ';
cond = pseudo(cond);
break;
default:
- jj_la1[71] = jj_gen;
+ jj_la1[68] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1907,7 +1869,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[72] = jj_gen;
+ jj_la1[69] = jj_gen;
break label_51;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1924,7 +1886,7 @@ char connector = ' ';
cond = pseudo(cond);
break;
default:
- jj_la1[73] = jj_gen;
+ jj_la1[70] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1942,7 +1904,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[74] = jj_gen;
+ jj_la1[71] = jj_gen;
break label_52;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1959,7 +1921,7 @@ char connector = ' ';
cond = pseudo(cond);
break;
default:
- jj_la1[75] = jj_gen;
+ jj_la1[72] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1977,7 +1939,7 @@ char connector = ' ';
;
break;
default:
- jj_la1[76] = jj_gen;
+ jj_la1[73] = jj_gen;
break label_53;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -1994,14 +1956,14 @@ char connector = ' ';
cond = pseudo(cond);
break;
default:
- jj_la1[77] = jj_gen;
+ jj_la1[74] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
default:
- jj_la1[78] = jj_gen;
+ jj_la1[75] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2053,7 +2015,7 @@ String s = ".";
s += t.image;
break;
default:
- jj_la1[79] = jj_gen;
+ jj_la1[76] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2063,7 +2025,7 @@ String s = ".";
;
break;
default:
- jj_la1[80] = jj_gen;
+ jj_la1[77] = jj_gen;
break label_54;
}
}
@@ -2095,7 +2057,7 @@ String s = ".";
s += t.image;
break;
default:
- jj_la1[81] = jj_gen;
+ jj_la1[78] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2105,7 +2067,7 @@ String s = ".";
;
break;
default:
- jj_la1[82] = jj_gen;
+ jj_la1[79] = jj_gen;
break label_55;
}
}
@@ -2120,7 +2082,7 @@ String s = ".";
{if (true) return "&";}
break;
default:
- jj_la1[83] = jj_gen;
+ jj_la1[80] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2143,7 +2105,7 @@ String s = ".";
;
break;
default:
- jj_la1[84] = jj_gen;
+ jj_la1[81] = jj_gen;
break label_56;
}
jj_consume_token(S);
@@ -2156,7 +2118,7 @@ String s = ".";
;
break;
default:
- jj_la1[85] = jj_gen;
+ jj_la1[82] = jj_gen;
break label_57;
}
jj_consume_token(S);
@@ -2194,7 +2156,7 @@ String s = ".";
cases = 6;
break;
default:
- jj_la1[86] = jj_gen;
+ jj_la1[83] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2205,7 +2167,7 @@ String s = ".";
;
break;
default:
- jj_la1[87] = jj_gen;
+ jj_la1[84] = jj_gen;
break label_58;
}
jj_consume_token(S);
@@ -2220,7 +2182,7 @@ String s = ".";
attValue = val.image;
break;
default:
- jj_la1[88] = jj_gen;
+ jj_la1[85] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2231,14 +2193,14 @@ String s = ".";
;
break;
default:
- jj_la1[89] = jj_gen;
+ jj_la1[86] = jj_gen;
break label_59;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[90] = jj_gen;
+ jj_la1[87] = jj_gen;
;
}
jj_consume_token(RBRACKET);
@@ -2294,7 +2256,7 @@ boolean isPseudoElement = false;
isPseudoElement=true;
break;
default:
- jj_la1[91] = jj_gen;
+ jj_la1[88] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -2327,7 +2289,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[92] = jj_gen;
+ jj_la1[89] = jj_gen;
break label_60;
}
jj_consume_token(S);
@@ -2345,7 +2307,7 @@ boolean isPseudoElement = false;
}
break;
default:
- jj_la1[93] = jj_gen;
+ jj_la1[90] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2382,7 +2344,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[94] = jj_gen;
+ jj_la1[91] = jj_gen;
break label_61;
}
jj_consume_token(S);
@@ -2393,7 +2355,7 @@ boolean isPseudoElement = false;
guarded = guarded();
break;
default:
- jj_la1[95] = jj_gen;
+ jj_la1[92] = jj_gen;
;
}
label_62:
@@ -2406,7 +2368,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[96] = jj_gen;
+ jj_la1[93] = jj_gen;
break label_63;
}
jj_consume_token(S);
@@ -2416,7 +2378,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[97] = jj_gen;
+ jj_la1[94] = jj_gen;
break label_62;
}
}
@@ -2448,6 +2410,58 @@ boolean isPseudoElement = false;
}
}
+ final public void controlDirective() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case IF_SYM:
+ ifDirective();
+ break;
+ case EACH_SYM:
+ eachDirective();
+ break;
+ default:
+ jj_la1[95] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
+ final public void ifContentStatement() throws ParseException {
+ if (jj_2_4(5)) {
+ listModifyDirective();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case EXTEND_SYM:
+ extendDirective();
+ break;
+ case VARIABLE:
+ variable();
+ break;
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case DEBUG_SYM:
+ case WARN_SYM:
+ case IDENT:
+ case HASH:
+ styleRuleOrDeclarationOrNestedProperties();
+ break;
+ default:
+ jj_la1[96] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
final public void ifDirective() throws ParseException {
Token n = null;
String evaluator = "";
@@ -2477,7 +2491,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[98] = jj_gen;
+ jj_la1[97] = jj_gen;
break label_64;
}
}
@@ -2489,7 +2503,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[99] = jj_gen;
+ jj_la1[98] = jj_gen;
break label_65;
}
jj_consume_token(S);
@@ -2516,39 +2530,10 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[100] = jj_gen;
+ jj_la1[99] = jj_gen;
break label_66;
}
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCLUDE_SYM:
- includeDirective();
- break;
- case MEDIA_SYM:
- media();
- break;
- case EXTEND_SYM:
- extendDirective();
- break;
- case VARIABLE:
- variable();
- break;
- case LBRACKET:
- case ANY:
- case PARENT:
- case DOT:
- case COLON:
- case INTERPOLATION:
- case DEBUG_SYM:
- case WARN_SYM:
- case IDENT:
- case HASH:
- styleRuleOrDeclarationOrNestedProperties();
- break;
- default:
- jj_la1[101] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ ifContentStatement();
}
jj_consume_token(RBRACE);
label_67:
@@ -2558,7 +2543,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[102] = jj_gen;
+ jj_la1[100] = jj_gen;
break label_67;
}
jj_consume_token(S);
@@ -2570,7 +2555,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[103] = jj_gen;
+ jj_la1[101] = jj_gen;
break label_68;
}
elseDirective();
@@ -2589,7 +2574,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[104] = jj_gen;
+ jj_la1[102] = jj_gen;
break label_69;
}
jj_consume_token(S);
@@ -2599,6 +2584,8 @@ boolean isPseudoElement = false;
jj_consume_token(IF);
label_70:
while (true) {
+ n = booleanExpressionToken();
+ evaluator += n.image;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case S:
case EQ:
@@ -2620,15 +2607,13 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[105] = jj_gen;
+ jj_la1[103] = jj_gen;
break label_70;
}
- n = booleanExpressionToken();
- if(n != null) evaluator += n.image;
}
break;
default:
- jj_la1[106] = jj_gen;
+ jj_la1[104] = jj_gen;
;
}
jj_consume_token(LBRACE);
@@ -2639,7 +2624,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[107] = jj_gen;
+ jj_la1[105] = jj_gen;
break label_71;
}
jj_consume_token(S);
@@ -2666,39 +2651,10 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[108] = jj_gen;
+ jj_la1[106] = jj_gen;
break label_72;
}
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCLUDE_SYM:
- includeDirective();
- break;
- case MEDIA_SYM:
- media();
- break;
- case EXTEND_SYM:
- extendDirective();
- break;
- case VARIABLE:
- variable();
- break;
- case LBRACKET:
- case ANY:
- case PARENT:
- case DOT:
- case COLON:
- case INTERPOLATION:
- case DEBUG_SYM:
- case WARN_SYM:
- case IDENT:
- case HASH:
- styleRuleOrDeclarationOrNestedProperties();
- break;
- default:
- jj_la1[109] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ ifContentStatement();
}
jj_consume_token(RBRACE);
label_73:
@@ -2708,7 +2664,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[110] = jj_gen;
+ jj_la1[107] = jj_gen;
break label_73;
}
jj_consume_token(S);
@@ -2770,7 +2726,7 @@ boolean isPseudoElement = false;
n = jj_consume_token(NOT_EQ);
break;
default:
- jj_la1[111] = jj_gen;
+ jj_la1[108] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2790,7 +2746,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[112] = jj_gen;
+ jj_la1[109] = jj_gen;
break label_74;
}
jj_consume_token(S);
@@ -2803,7 +2759,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[113] = jj_gen;
+ jj_la1[110] = jj_gen;
break label_75;
}
jj_consume_token(S);
@@ -2816,7 +2772,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[114] = jj_gen;
+ jj_la1[111] = jj_gen;
break label_76;
}
jj_consume_token(S);
@@ -2831,7 +2787,7 @@ boolean isPseudoElement = false;
documentHandler.startEachDirective(var.image, listVariable);
break;
default:
- jj_la1[115] = jj_gen;
+ jj_la1[112] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2843,7 +2799,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[116] = jj_gen;
+ jj_la1[113] = jj_gen;
break label_77;
}
jj_consume_token(S);
@@ -2868,47 +2824,10 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[117] = jj_gen;
+ jj_la1[114] = jj_gen;
break label_78;
}
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCLUDE_SYM:
- includeDirective();
- break;
- default:
- jj_la1[118] = jj_gen;
- if (jj_2_5(5)) {
- listModifyDirective();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case MEDIA_SYM:
- media();
- break;
- case EXTEND_SYM:
- extendDirective();
- break;
- case VARIABLE:
- variable();
- break;
- case LBRACKET:
- case ANY:
- case PARENT:
- case DOT:
- case COLON:
- case INTERPOLATION:
- case DEBUG_SYM:
- case WARN_SYM:
- case IDENT:
- case HASH:
- styleRuleOrDeclarationOrNestedProperties();
- break;
- default:
- jj_la1[119] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- }
+ ifContentStatement();
}
jj_consume_token(RBRACE);
label_79:
@@ -2918,7 +2837,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[120] = jj_gen;
+ jj_la1[115] = jj_gen;
break label_79;
}
jj_consume_token(S);
@@ -2937,7 +2856,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[121] = jj_gen;
+ jj_la1[116] = jj_gen;
break label_80;
}
jj_consume_token(S);
@@ -2950,7 +2869,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[122] = jj_gen;
+ jj_la1[117] = jj_gen;
break label_81;
}
jj_consume_token(COMMA);
@@ -2961,7 +2880,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[123] = jj_gen;
+ jj_la1[118] = jj_gen;
break label_82;
}
jj_consume_token(S);
@@ -2975,7 +2894,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[124] = jj_gen;
+ jj_la1[119] = jj_gen;
break label_83;
}
jj_consume_token(S);
@@ -2997,7 +2916,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[125] = jj_gen;
+ jj_la1[120] = jj_gen;
break label_84;
}
jj_consume_token(S);
@@ -3017,14 +2936,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[126] = jj_gen;
+ jj_la1[121] = jj_gen;
break label_85;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[127] = jj_gen;
+ jj_la1[122] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3036,7 +2955,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[128] = jj_gen;
+ jj_la1[123] = jj_gen;
break label_86;
}
jj_consume_token(S);
@@ -3066,57 +2985,27 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[129] = jj_gen;
+ jj_la1[124] = jj_gen;
break label_87;
}
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCLUDE_SYM:
- includeDirective();
- break;
- case MEDIA_SYM:
- media();
- break;
- default:
- jj_la1[130] = jj_gen;
- if (jj_2_6(5)) {
- listModifyDirective();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IF_SYM:
- ifDirective();
- break;
- case EACH_SYM:
- eachDirective();
- break;
- case EXTEND_SYM:
- extendDirective();
- break;
- case VARIABLE:
- variable();
- break;
- 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 FONT_FACE_SYM:
- fontFace();
- break;
- case PAGE_SYM:
- page();
- break;
- default:
- jj_la1[131] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ if (jj_2_5(5)) {
+ ifContentStatement();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case FONT_FACE_SYM:
+ fontFace();
+ break;
+ case PAGE_SYM:
+ page();
+ break;
+ default:
+ jj_la1[125] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
}
}
@@ -3128,7 +3017,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[132] = jj_gen;
+ jj_la1[126] = jj_gen;
break label_88;
}
jj_consume_token(S);
@@ -3148,7 +3037,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[133] = jj_gen;
+ jj_la1[127] = jj_gen;
break label_89;
}
jj_consume_token(COMMA);
@@ -3159,7 +3048,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[134] = jj_gen;
+ jj_la1[128] = jj_gen;
break label_90;
}
jj_consume_token(S);
@@ -3208,7 +3097,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[135] = jj_gen;
+ jj_la1[129] = jj_gen;
break label_91;
}
jj_consume_token(S);
@@ -3217,7 +3106,7 @@ boolean isPseudoElement = false;
prev = first;
label_92:
while (true) {
- if (jj_2_7(3)) {
+ if (jj_2_6(3)) {
;
} else {
break label_92;
@@ -3232,14 +3121,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[136] = jj_gen;
+ jj_la1[130] = jj_gen;
break label_93;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[137] = jj_gen;
+ jj_la1[131] = jj_gen;
;
}
prev = nonVariableTerm(prev);
@@ -3251,13 +3140,13 @@ boolean isPseudoElement = false;
prev, variable.image);
break;
default:
- jj_la1[138] = jj_gen;
+ jj_la1[132] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[139] = jj_gen;
+ jj_la1[133] = jj_gen;
;
}
VariableNode arg = new VariableNode(name, first, false);
@@ -3307,7 +3196,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[140] = jj_gen;
+ jj_la1[134] = jj_gen;
break label_94;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3320,14 +3209,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[141] = jj_gen;
+ jj_la1[135] = jj_gen;
break label_95;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[142] = jj_gen;
+ jj_la1[136] = jj_gen;
;
}
next = term(prev);
@@ -3340,7 +3229,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[143] = jj_gen;
+ jj_la1[137] = jj_gen;
break label_96;
}
jj_consume_token(COMMA);
@@ -3351,7 +3240,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[144] = jj_gen;
+ jj_la1[138] = jj_gen;
break label_97;
}
jj_consume_token(S);
@@ -3393,7 +3282,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[145] = jj_gen;
+ jj_la1[139] = jj_gen;
break label_98;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3406,14 +3295,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[146] = jj_gen;
+ jj_la1[140] = jj_gen;
break label_99;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[147] = jj_gen;
+ jj_la1[141] = jj_gen;
;
}
next = term(prev);
@@ -3435,7 +3324,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[148] = jj_gen;
+ jj_la1[142] = jj_gen;
break label_100;
}
jj_consume_token(S);
@@ -3457,7 +3346,7 @@ boolean isPseudoElement = false;
jj_consume_token(RPARAN);
break;
default:
- jj_la1[149] = jj_gen;
+ jj_la1[143] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3471,7 +3360,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[150] = jj_gen;
+ jj_la1[144] = jj_gen;
break label_102;
}
jj_consume_token(S);
@@ -3481,7 +3370,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[151] = jj_gen;
+ jj_la1[145] = jj_gen;
break label_101;
}
}
@@ -3496,11 +3385,11 @@ boolean isPseudoElement = false;
}
final public void listModifyDirective() throws ParseException {
- if (jj_2_8(5)) {
+ if (jj_2_7(5)) {
removeDirective();
- } else if (jj_2_9(5)) {
+ } else if (jj_2_8(5)) {
appendDirective();
- } else if (jj_2_10(5)) {
+ } else if (jj_2_9(5)) {
containsDirective();
} else {
jj_consume_token(-1);
@@ -3526,7 +3415,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[152] = jj_gen;
+ jj_la1[146] = jj_gen;
break label_103;
}
jj_consume_token(S);
@@ -3539,7 +3428,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[153] = jj_gen;
+ jj_la1[147] = jj_gen;
break label_104;
}
jj_consume_token(S);
@@ -3552,7 +3441,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[154] = jj_gen;
+ jj_la1[148] = jj_gen;
break label_105;
}
jj_consume_token(S);
@@ -3563,7 +3452,7 @@ boolean isPseudoElement = false;
jj_consume_token(RPARAN);
break;
default:
- jj_la1[155] = jj_gen;
+ jj_la1[149] = jj_gen;
;
}
jj_consume_token(COMMA);
@@ -3574,7 +3463,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[156] = jj_gen;
+ jj_la1[150] = jj_gen;
break label_106;
}
jj_consume_token(S);
@@ -3590,7 +3479,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[157] = jj_gen;
+ jj_la1[151] = jj_gen;
break label_107;
}
jj_consume_token(S);
@@ -3604,14 +3493,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[158] = jj_gen;
+ jj_la1[152] = jj_gen;
break label_108;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[159] = jj_gen;
+ jj_la1[153] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -3622,7 +3511,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[160] = jj_gen;
+ jj_la1[154] = jj_gen;
break label_109;
}
jj_consume_token(S);
@@ -3635,7 +3524,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[161] = jj_gen;
+ jj_la1[155] = jj_gen;
break label_110;
}
jj_consume_token(S);
@@ -3661,7 +3550,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[162] = jj_gen;
+ jj_la1[156] = jj_gen;
break label_111;
}
jj_consume_token(S);
@@ -3674,7 +3563,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[163] = jj_gen;
+ jj_la1[157] = jj_gen;
break label_112;
}
jj_consume_token(S);
@@ -3687,7 +3576,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[164] = jj_gen;
+ jj_la1[158] = jj_gen;
break label_113;
}
jj_consume_token(S);
@@ -3698,7 +3587,7 @@ boolean isPseudoElement = false;
jj_consume_token(RPARAN);
break;
default:
- jj_la1[165] = jj_gen;
+ jj_la1[159] = jj_gen;
;
}
jj_consume_token(COMMA);
@@ -3709,7 +3598,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[166] = jj_gen;
+ jj_la1[160] = jj_gen;
break label_114;
}
jj_consume_token(S);
@@ -3725,7 +3614,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[167] = jj_gen;
+ jj_la1[161] = jj_gen;
break label_115;
}
jj_consume_token(S);
@@ -3739,14 +3628,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[168] = jj_gen;
+ jj_la1[162] = jj_gen;
break label_116;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[169] = jj_gen;
+ jj_la1[163] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -3757,7 +3646,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[170] = jj_gen;
+ jj_la1[164] = jj_gen;
break label_117;
}
jj_consume_token(S);
@@ -3770,7 +3659,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[171] = jj_gen;
+ jj_la1[165] = jj_gen;
break label_118;
}
jj_consume_token(S);
@@ -3796,7 +3685,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[172] = jj_gen;
+ jj_la1[166] = jj_gen;
break label_119;
}
jj_consume_token(S);
@@ -3809,7 +3698,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[173] = jj_gen;
+ jj_la1[167] = jj_gen;
break label_120;
}
jj_consume_token(S);
@@ -3822,7 +3711,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[174] = jj_gen;
+ jj_la1[168] = jj_gen;
break label_121;
}
jj_consume_token(S);
@@ -3833,7 +3722,7 @@ boolean isPseudoElement = false;
jj_consume_token(RPARAN);
break;
default:
- jj_la1[175] = jj_gen;
+ jj_la1[169] = jj_gen;
;
}
jj_consume_token(COMMA);
@@ -3844,7 +3733,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[176] = jj_gen;
+ jj_la1[170] = jj_gen;
break label_122;
}
jj_consume_token(S);
@@ -3860,7 +3749,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[177] = jj_gen;
+ jj_la1[171] = jj_gen;
break label_123;
}
jj_consume_token(S);
@@ -3874,14 +3763,14 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[178] = jj_gen;
+ jj_la1[172] = jj_gen;
break label_124;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[179] = jj_gen;
+ jj_la1[173] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -3892,7 +3781,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[180] = jj_gen;
+ jj_la1[174] = jj_gen;
break label_125;
}
jj_consume_token(S);
@@ -3905,7 +3794,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[181] = jj_gen;
+ jj_la1[175] = jj_gen;
break label_126;
}
jj_consume_token(S);
@@ -3992,6 +3881,21 @@ boolean isPseudoElement = false;
throw new Error("Missing return statement in function");
}
+ final public void debuggingDirective() throws ParseException {
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case DEBUG_SYM:
+ debugDirective();
+ break;
+ case WARN_SYM:
+ warnDirective();
+ break;
+ default:
+ jj_la1[176] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+
final public void debugDirective() throws ParseException {
jj_consume_token(DEBUG_SYM);
String content = skipStatementUntilSemiColon();
@@ -4004,7 +3908,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[182] = jj_gen;
+ jj_la1[177] = jj_gen;
break label_127;
}
jj_consume_token(S);
@@ -4023,7 +3927,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[183] = jj_gen;
+ jj_la1[178] = jj_gen;
break label_128;
}
jj_consume_token(S);
@@ -4050,7 +3954,7 @@ boolean isPseudoElement = false;
exclusive = false;
break;
default:
- jj_la1[184] = jj_gen;
+ jj_la1[179] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4062,7 +3966,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[185] = jj_gen;
+ jj_la1[180] = jj_gen;
break label_129;
}
jj_consume_token(S);
@@ -4091,7 +3995,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[186] = jj_gen;
+ jj_la1[181] = jj_gen;
break label_130;
}
jj_consume_token(S);
@@ -4107,7 +4011,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[187] = jj_gen;
+ jj_la1[182] = jj_gen;
break label_132;
}
jj_consume_token(S);
@@ -4117,7 +4021,7 @@ boolean isPseudoElement = false;
;
break;
default:
- jj_la1[188] = jj_gen;
+ jj_la1[183] = jj_gen;
break label_131;
}
}
@@ -4152,7 +4056,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[189] = jj_gen;
+ jj_la1[184] = jj_gen;
break label_133;
}
jj_consume_token(S);
@@ -4165,7 +4069,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[190] = jj_gen;
+ jj_la1[185] = jj_gen;
break label_134;
}
jj_consume_token(S);
@@ -4176,7 +4080,7 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[191] = jj_gen;
+ jj_la1[186] = jj_gen;
;
}
label_135:
@@ -4186,7 +4090,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[192] = jj_gen;
+ jj_la1[187] = jj_gen;
break label_135;
}
jj_consume_token(SEMICOLON);
@@ -4197,7 +4101,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[193] = jj_gen;
+ jj_la1[188] = jj_gen;
break label_136;
}
jj_consume_token(S);
@@ -4207,7 +4111,7 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[194] = jj_gen;
+ jj_la1[189] = jj_gen;
;
}
}
@@ -4220,7 +4124,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[195] = jj_gen;
+ jj_la1[190] = jj_gen;
break label_137;
}
jj_consume_token(S);
@@ -4232,21 +4136,19 @@ LexicalUnit exp;
*/
final public void styleRuleOrDeclarationOrNestedProperties() throws ParseException {
try {
- if (jj_2_11(5)) {
+ if (jj_2_10(5)) {
styleRule();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DEBUG_SYM:
- debugDirective();
- break;
case WARN_SYM:
- warnDirective();
+ debuggingDirective();
break;
case IDENT:
declarationOrNestedProperties();
break;
default:
- jj_la1[196] = jj_gen;
+ jj_la1[191] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4297,7 +4199,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[197] = jj_gen;
+ jj_la1[192] = jj_gen;
break label_138;
}
jj_consume_token(S);
@@ -4337,7 +4239,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[198] = jj_gen;
+ jj_la1[193] = jj_gen;
;
}
Token next = getToken(1);
@@ -4362,7 +4264,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[199] = jj_gen;
+ jj_la1[194] = jj_gen;
break label_139;
}
jj_consume_token(S);
@@ -4373,7 +4275,7 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[200] = jj_gen;
+ jj_la1[195] = jj_gen;
;
}
label_140:
@@ -4383,7 +4285,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[201] = jj_gen;
+ jj_la1[196] = jj_gen;
break label_140;
}
jj_consume_token(SEMICOLON);
@@ -4394,7 +4296,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[202] = jj_gen;
+ jj_la1[197] = jj_gen;
break label_141;
}
jj_consume_token(S);
@@ -4404,7 +4306,7 @@ LexicalUnit exp;
declaration();
break;
default:
- jj_la1[203] = jj_gen;
+ jj_la1[198] = jj_gen;
;
}
}
@@ -4416,7 +4318,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[204] = jj_gen;
+ jj_la1[199] = jj_gen;
break label_142;
}
jj_consume_token(S);
@@ -4424,7 +4326,7 @@ LexicalUnit exp;
documentHandler.endNestedProperties(name);
break;
default:
- jj_la1[205] = jj_gen;
+ jj_la1[200] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4481,7 +4383,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[206] = jj_gen;
+ jj_la1[201] = jj_gen;
break label_143;
}
jj_consume_token(S);
@@ -4492,7 +4394,7 @@ LexicalUnit exp;
important = prio();
break;
default:
- jj_la1[207] = jj_gen;
+ jj_la1[202] = jj_gen;
;
}
documentHandler.property(name, exp, important);
@@ -4542,7 +4444,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[208] = jj_gen;
+ jj_la1[203] = jj_gen;
break label_144;
}
jj_consume_token(S);
@@ -4560,7 +4462,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[209] = jj_gen;
+ jj_la1[204] = jj_gen;
break label_145;
}
jj_consume_token(S);
@@ -4584,7 +4486,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[210] = jj_gen;
+ jj_la1[205] = jj_gen;
break label_146;
}
jj_consume_token(S);
@@ -4602,7 +4504,7 @@ LexicalUnit exp;
;
break;
default:
- jj_la1[211] = jj_gen;
+ jj_la1[206] = jj_gen;
break label_147;
}
jj_consume_token(S);
@@ -4612,7 +4514,7 @@ LexicalUnit exp;
prev);}
break;
default:
- jj_la1[212] = jj_gen;
+ jj_la1[207] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4629,7 +4531,7 @@ LexicalUnit exp;
res = first;
label_148:
while (true) {
- if (jj_2_12(2)) {
+ if (jj_2_11(2)) {
;
} else {
break label_148;
@@ -4640,7 +4542,7 @@ LexicalUnit exp;
res = operator(res);
break;
default:
- jj_la1[213] = jj_gen;
+ jj_la1[208] = jj_gen;
;
}
res = term(res);
@@ -4663,7 +4565,7 @@ LexicalUnit exp;
{if (true) return '+';}
break;
default:
- jj_la1[214] = jj_gen;
+ jj_la1[209] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4711,7 +4613,7 @@ LexicalUnit exp;
result = variableTerm(prev);
break;
default:
- jj_la1[215] = jj_gen;
+ jj_la1[210] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4762,7 +4664,7 @@ LexicalUnitImpl result = null;
op = unaryOperator();
break;
default:
- jj_la1[216] = jj_gen;
+ jj_la1[211] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4867,7 +4769,7 @@ LexicalUnitImpl result = null;
result = function(op, prev);
break;
default:
- jj_la1[217] = jj_gen;
+ jj_la1[212] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4894,7 +4796,7 @@ LexicalUnitImpl result = null;
s+=".";
break;
default:
- jj_la1[218] = jj_gen;
+ jj_la1[213] = jj_gen;
;
}
n = jj_consume_token(IDENT);
@@ -4941,13 +4843,13 @@ LexicalUnitImpl result = null;
result = unicode(prev);
break;
default:
- jj_la1[219] = jj_gen;
+ jj_la1[214] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[220] = jj_gen;
+ jj_la1[215] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4958,7 +4860,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[221] = jj_gen;
+ jj_la1[216] = jj_gen;
break label_149;
}
jj_consume_token(S);
@@ -4982,7 +4884,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[222] = jj_gen;
+ jj_la1[217] = jj_gen;
break label_150;
}
jj_consume_token(S);
@@ -5025,7 +4927,7 @@ LexicalUnitImpl result = null;
params = expr();
break;
default:
- jj_la1[223] = jj_gen;
+ jj_la1[218] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -5503,7 +5405,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[224] = jj_gen;
+ jj_la1[219] = jj_gen;
break label_151;
}
jj_consume_token(S);
@@ -5513,10 +5415,8 @@ LexicalUnitImpl result = null;
importDeclaration();
break;
case DEBUG_SYM:
- debugDirective();
- break;
case WARN_SYM:
- warnDirective();
+ debuggingDirective();
break;
case LBRACKET:
case ANY:
@@ -5538,7 +5438,7 @@ LexicalUnitImpl result = null;
fontFace();
break;
default:
- jj_la1[225] = jj_gen;
+ jj_la1[220] = jj_gen;
ret = skipStatement();
if ((ret == null) || (ret.length() == 0)) {
{if (true) return;}
@@ -5560,7 +5460,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[226] = jj_gen;
+ jj_la1[221] = jj_gen;
break label_152;
}
jj_consume_token(S);
@@ -5576,7 +5476,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[227] = jj_gen;
+ jj_la1[222] = jj_gen;
break label_153;
}
jj_consume_token(S);
@@ -5592,7 +5492,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[228] = jj_gen;
+ jj_la1[223] = jj_gen;
break label_154;
}
jj_consume_token(S);
@@ -5602,7 +5502,7 @@ LexicalUnitImpl result = null;
declaration();
break;
default:
- jj_la1[229] = jj_gen;
+ jj_la1[224] = jj_gen;
;
}
label_155:
@@ -5612,7 +5512,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[230] = jj_gen;
+ jj_la1[225] = jj_gen;
break label_155;
}
jj_consume_token(SEMICOLON);
@@ -5623,7 +5523,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[231] = jj_gen;
+ jj_la1[226] = jj_gen;
break label_156;
}
jj_consume_token(S);
@@ -5633,7 +5533,7 @@ LexicalUnitImpl result = null;
declaration();
break;
default:
- jj_la1[232] = jj_gen;
+ jj_la1[227] = jj_gen;
;
}
}
@@ -5649,7 +5549,7 @@ LexicalUnitImpl result = null;
;
break;
default:
- jj_la1[233] = jj_gen;
+ jj_la1[228] = jj_gen;
break label_157;
}
jj_consume_token(S);
@@ -5739,15 +5639,26 @@ LexicalUnitImpl result = null;
finally { jj_save(10, xla); }
}
- private boolean jj_2_12(int xla) {
- jj_la = xla; jj_lastpos = jj_scanpos = token;
- try { return !jj_3_12(); }
- catch(LookaheadSuccess ls) { return true; }
- finally { jj_save(11, xla); }
+ private boolean jj_3_10() {
+ if (jj_3R_167()) return true;
+ return false;
}
- private boolean jj_3R_231() {
- if (jj_3R_253()) return true;
+ private boolean jj_3_5() {
+ if (jj_3R_159()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_195() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_10()) {
+ jj_scanpos = xsp;
+ if (jj_3R_246()) {
+ jj_scanpos = xsp;
+ if (jj_3R_247()) return true;
+ }
+ }
return false;
}
@@ -5757,34 +5668,36 @@ LexicalUnitImpl result = null;
}
private boolean jj_3R_230() {
- if (jj_3R_252()) return true;
+ if (jj_3R_261()) return true;
return false;
}
- private boolean jj_3_11() {
- if (jj_3R_167()) return true;
+ private boolean jj_3R_277() {
+ if (jj_3R_243()) return true;
return false;
}
- private boolean jj_3_4() {
+ private boolean jj_3R_174() {
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ private boolean jj_3_3() {
if (jj_3R_160()) return true;
if (jj_3R_161()) return true;
return false;
}
- private boolean jj_3R_257() {
+ private boolean jj_3R_255() {
+ if (jj_scan_token(FUNCTION)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3_11()) {
- jj_scanpos = xsp;
- if (jj_3R_272()) {
- jj_scanpos = xsp;
- if (jj_3R_273()) {
- jj_scanpos = xsp;
- if (jj_3R_274()) return true;
- }
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ xsp = jj_scanpos;
+ if (jj_3R_277()) jj_scanpos = xsp;
+ if (jj_scan_token(RPARAN)) return true;
return false;
}
@@ -5799,17 +5712,12 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3_5() {
- if (jj_3R_158()) return true;
- return false;
- }
-
private boolean jj_3R_227() {
if (jj_3R_161()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3_4()) { jj_scanpos = xsp; break; }
+ if (jj_3_3()) { jj_scanpos = xsp; break; }
}
while (true) {
xsp = jj_scanpos;
@@ -5818,55 +5726,32 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_262() {
- if (jj_3R_271()) return true;
- return false;
- }
-
- private boolean jj_3R_246() {
- 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_262()) jj_scanpos = xsp;
- if (jj_scan_token(RPARAN)) return true;
+ private boolean jj_3R_173() {
+ if (jj_3R_194()) return true;
return false;
}
- private boolean jj_3R_182() {
- if (jj_3R_227()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_228()) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_229() {
+ if (jj_3R_260()) return true;
return false;
}
private boolean jj_3R_226() {
- if (jj_3R_250()) return true;
- return false;
- }
-
- private boolean jj_3_2() {
- if (jj_3R_158()) return true;
+ if (jj_3R_259()) return true;
return false;
}
private boolean jj_3R_225() {
- if (jj_3R_249()) return true;
+ if (jj_3R_258()) return true;
return false;
}
private boolean jj_3R_224() {
- if (jj_3R_248()) return true;
+ if (jj_3R_257()) return true;
return false;
}
- private boolean jj_3R_255() {
+ private boolean jj_3R_296() {
if (jj_scan_token(EACH_SYM)) return true;
Token xsp;
while (true) {
@@ -5882,84 +5767,71 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_270() {
- if (jj_scan_token(SEMICOLON)) return true;
+ private boolean jj_3R_186() {
+ if (jj_3R_227()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_228()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_183() {
+ private boolean jj_3R_241() {
+ if (jj_scan_token(SEMICOLON)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_229()) {
- jj_scanpos = xsp;
- if (jj_3_2()) {
- jj_scanpos = xsp;
- if (jj_3R_230()) {
- jj_scanpos = xsp;
- if (jj_3R_231()) {
- jj_scanpos = xsp;
- if (jj_3R_232()) {
- jj_scanpos = xsp;
- if (jj_3R_233()) {
- jj_scanpos = xsp;
- if (jj_3R_234()) {
- jj_scanpos = xsp;
- if (jj_3_3()) {
- jj_scanpos = xsp;
- if (jj_3R_235()) return true;
- }
- }
- }
- }
- }
- }
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_229() {
- if (jj_3R_251()) return true;
+ private boolean jj_3R_172() {
+ if (jj_3R_193()) return true;
return false;
}
- private boolean jj_3R_254() {
+ private boolean jj_3R_193() {
if (jj_scan_token(EXTEND_SYM)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
- if (jj_3R_182()) return true;
- if (jj_3R_270()) return true;
+ if (jj_3R_186()) return true;
+ if (jj_3R_241()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_270()) { jj_scanpos = xsp; break; }
+ if (jj_3R_241()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_167() {
- if (jj_3R_182()) return true;
- if (jj_scan_token(LBRACE)) return true;
+ private boolean jj_3R_171() {
+ if (jj_3R_192()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_187() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3_2()) {
+ jj_scanpos = xsp;
+ if (jj_3R_229()) {
+ jj_scanpos = xsp;
+ if (jj_3R_230()) return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_183()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(RBRACE)) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_247() {
+ private boolean jj_3_2() {
+ if (jj_3R_159()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_256() {
if (jj_scan_token(DOT)) return true;
return false;
}
@@ -5967,12 +5839,12 @@ LexicalUnitImpl result = null;
private boolean jj_3R_223() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_247()) jj_scanpos = xsp;
+ if (jj_3R_256()) jj_scanpos = xsp;
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_282() {
+ private boolean jj_3R_352() {
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(75)) {
@@ -6027,9 +5899,48 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_285() {
- if (jj_scan_token(FUNCTION)) return true;
+ private boolean jj_3R_222() {
+ if (jj_scan_token(STRING)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_221() {
+ if (jj_3R_255()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_185() {
Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_222()) {
+ jj_scanpos = xsp;
+ if (jj_3R_223()) {
+ jj_scanpos = xsp;
+ if (jj_3R_224()) {
+ jj_scanpos = xsp;
+ if (jj_3R_225()) {
+ jj_scanpos = xsp;
+ if (jj_3R_226()) return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_167() {
+ if (jj_3R_186()) return true;
+ if (jj_scan_token(LBRACE)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_187()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
@@ -6037,8 +5948,13 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_283() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_170() {
+ if (jj_3R_191()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_264() {
+ if (jj_scan_token(FUNCTION)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -6047,12 +5963,27 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_222() {
- if (jj_scan_token(STRING)) return true;
+ private boolean jj_3R_220() {
+ if (jj_scan_token(DIMEN)) return true;
return false;
}
- private boolean jj_3R_258() {
+ private boolean jj_3R_219() {
+ if (jj_scan_token(KHZ)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_262() {
+ if (jj_scan_token(IDENT)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_242() {
if (jj_scan_token(VARIABLE)) return true;
Token xsp;
while (true) {
@@ -6062,130 +5993,236 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_221() {
- if (jj_3R_246()) return true;
+ private boolean jj_3R_218() {
+ if (jj_scan_token(HZ)) return true;
return false;
}
- private boolean jj_3R_181() {
+ private boolean jj_3R_245() {
+ if (jj_scan_token(SEMICOLON)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_222()) {
- jj_scanpos = xsp;
- if (jj_3R_223()) {
- jj_scanpos = xsp;
- if (jj_3R_224()) {
- jj_scanpos = xsp;
- if (jj_3R_225()) {
- jj_scanpos = xsp;
- if (jj_3R_226()) return true;
- }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ return false;
+ }
+
+ private boolean jj_3R_310() {
+ if (jj_scan_token(WARN_SYM)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ return false;
+ }
+
+ private boolean jj_3R_217() {
+ if (jj_scan_token(MS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_285() {
+ if (jj_3R_310()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_216() {
+ if (jj_scan_token(SECOND)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_215() {
+ if (jj_scan_token(GRAD)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_338() {
+ if (jj_3R_352()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_279() {
+ if (jj_3R_296()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_214() {
+ if (jj_scan_token(RAD)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_295() {
+ if (jj_scan_token(IF_SYM)) return true;
+ Token xsp;
+ if (jj_3R_338()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_338()) { jj_scanpos = xsp; break; }
}
+ if (jj_scan_token(LBRACE)) return true;
return false;
}
- private boolean jj_3R_220() {
- if (jj_scan_token(DIMEN)) return true;
+ private boolean jj_3R_309() {
+ if (jj_scan_token(DEBUG_SYM)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_195() {
+ private boolean jj_3R_307() {
if (jj_scan_token(S)) return true;
return false;
}
- private boolean jj_3R_219() {
- if (jj_scan_token(KHZ)) return true;
+ private boolean jj_3R_213() {
+ if (jj_scan_token(DEG)) return true;
return false;
}
- private boolean jj_3R_194() {
+ private boolean jj_3R_306() {
if (jj_scan_token(DOT)) return true;
return false;
}
- private boolean jj_3R_193() {
+ private boolean jj_3R_305() {
if (jj_scan_token(EQ)) return true;
return false;
}
- private boolean jj_3R_192() {
+ private boolean jj_3R_304() {
if (jj_scan_token(RPARAN)) return true;
return false;
}
- private boolean jj_3R_218() {
- if (jj_scan_token(HZ)) return true;
+ private boolean jj_3R_212() {
+ if (jj_scan_token(EXS)) return true;
return false;
}
- private boolean jj_3R_191() {
+ private boolean jj_3R_303() {
if (jj_scan_token(FUNCTION)) return true;
return false;
}
- private boolean jj_3R_190() {
+ private boolean jj_3R_302() {
if (jj_scan_token(COLON)) return true;
return false;
}
- private boolean jj_3R_290() {
- if (jj_scan_token(WARN_SYM)) return true;
+ private boolean jj_3R_301() {
+ if (jj_scan_token(INTERPOLATION)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_211() {
+ if (jj_scan_token(EMS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_300() {
+ if (jj_scan_token(COMMA)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_159() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3_4()) {
+ jj_scanpos = xsp;
+ if (jj_3R_170()) {
+ jj_scanpos = xsp;
+ if (jj_3R_171()) {
+ jj_scanpos = xsp;
+ if (jj_3R_172()) {
+ jj_scanpos = xsp;
+ if (jj_3R_173()) {
+ jj_scanpos = xsp;
+ if (jj_3R_174()) return true;
+ }
+ }
+ }
+ }
}
return false;
}
- private boolean jj_3R_189() {
- if (jj_scan_token(INTERPOLATION)) return true;
+ private boolean jj_3_4() {
+ if (jj_3R_158()) return true;
return false;
}
- private boolean jj_3R_217() {
- if (jj_scan_token(MS)) return true;
+ private boolean jj_3R_299() {
+ if (jj_scan_token(STRING)) return true;
return false;
}
- private boolean jj_3R_188() {
+ private boolean jj_3R_244() {
+ if (jj_3R_271()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_272() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_284()) {
+ jj_scanpos = xsp;
+ if (jj_3R_285()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_284() {
+ if (jj_3R_309()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_298() {
if (jj_scan_token(NUMBER)) return true;
return false;
}
- private boolean jj_3R_263() {
- if (jj_3R_282()) return true;
+ private boolean jj_3R_210() {
+ if (jj_scan_token(PX)) return true;
return false;
}
- private boolean jj_3R_187() {
+ private boolean jj_3R_297() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_170() {
+ private boolean jj_3R_280() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_187()) {
+ if (jj_3R_297()) {
jj_scanpos = xsp;
- if (jj_3R_188()) {
+ if (jj_3R_298()) {
jj_scanpos = xsp;
- if (jj_3R_189()) {
+ if (jj_3R_299()) {
jj_scanpos = xsp;
- if (jj_3R_190()) {
+ if (jj_3R_300()) {
jj_scanpos = xsp;
- if (jj_3R_191()) {
+ if (jj_3R_301()) {
jj_scanpos = xsp;
- if (jj_3R_192()) {
+ if (jj_3R_302()) {
jj_scanpos = xsp;
- if (jj_3R_193()) {
+ if (jj_3R_303()) {
jj_scanpos = xsp;
- if (jj_3R_194()) {
+ if (jj_3R_304()) {
jj_scanpos = xsp;
- if (jj_3R_195()) return true;
+ if (jj_3R_305()) {
+ jj_scanpos = xsp;
+ if (jj_3R_306()) {
+ jj_scanpos = xsp;
+ if (jj_3R_307()) return true;
+ }
+ }
}
}
}
@@ -6197,44 +6234,37 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_216() {
- if (jj_scan_token(SECOND)) return true;
+ private boolean jj_3R_209() {
+ if (jj_scan_token(IN)) return true;
return false;
}
- private boolean jj_3R_251() {
- if (jj_scan_token(IF_SYM)) return true;
+ private boolean jj_3R_260() {
Token xsp;
- if (jj_3R_263()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_263()) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3R_278()) {
+ jj_scanpos = xsp;
+ if (jj_3R_279()) return true;
}
- if (jj_scan_token(LBRACE)) return true;
return false;
}
- private boolean jj_3R_215() {
- if (jj_scan_token(GRAD)) return true;
+ private boolean jj_3R_278() {
+ if (jj_3R_295()) return true;
return false;
}
- private boolean jj_3R_214() {
- if (jj_scan_token(RAD)) return true;
+ private boolean jj_3R_208() {
+ if (jj_scan_token(PC)) return true;
return false;
}
- private boolean jj_3R_289() {
- if (jj_scan_token(DEBUG_SYM)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
+ private boolean jj_3R_207() {
+ if (jj_scan_token(MM)) return true;
return false;
}
- private boolean jj_3R_159() {
+ private boolean jj_3R_261() {
if (jj_scan_token(MICROSOFT_RULE)) return true;
Token xsp;
while (true) {
@@ -6242,52 +6272,52 @@ LexicalUnitImpl result = null;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(COLON)) return true;
- if (jj_3R_170()) return true;
+ if (jj_3R_280()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_170()) { jj_scanpos = xsp; break; }
+ if (jj_3R_280()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_213() {
- if (jj_scan_token(DEG)) return true;
+ private boolean jj_3R_206() {
+ if (jj_scan_token(CM)) return true;
return false;
}
- private boolean jj_3R_241() {
+ private boolean jj_3R_250() {
if (jj_scan_token(SIBLING)) return true;
return false;
}
- private boolean jj_3R_240() {
+ private boolean jj_3R_249() {
if (jj_scan_token(PRECEDES)) return true;
return false;
}
- private boolean jj_3R_212() {
- if (jj_scan_token(EXS)) return true;
+ private boolean jj_3R_205() {
+ if (jj_scan_token(PT)) return true;
return false;
}
- private boolean jj_3R_239() {
+ private boolean jj_3R_248() {
if (jj_scan_token(PLUS)) return true;
return false;
}
- private boolean jj_3R_211() {
- if (jj_scan_token(EMS)) return true;
+ private boolean jj_3R_204() {
+ if (jj_scan_token(PERCENTAGE)) return true;
return false;
}
private boolean jj_3R_196() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_239()) {
+ if (jj_3R_248()) {
jj_scanpos = xsp;
- if (jj_3R_240()) {
+ if (jj_3R_249()) {
jj_scanpos = xsp;
- if (jj_3R_241()) return true;
+ if (jj_3R_250()) return true;
}
}
while (true) {
@@ -6297,12 +6327,17 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_210() {
- if (jj_scan_token(PX)) return true;
+ private boolean jj_3R_190() {
+ if (jj_3R_233()) return true;
return false;
}
- private boolean jj_3R_173() {
+ private boolean jj_3R_203() {
+ if (jj_scan_token(NUMBER)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_177() {
if (jj_scan_token(SIBLING)) return true;
Token xsp;
while (true) {
@@ -6312,7 +6347,12 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_172() {
+ private boolean jj_3R_202() {
+ if (jj_3R_254()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_176() {
if (jj_scan_token(PRECEDES)) return true;
Token xsp;
while (true) {
@@ -6322,12 +6362,7 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_209() {
- if (jj_scan_token(IN)) return true;
- return false;
- }
-
- private boolean jj_3R_174() {
+ private boolean jj_3R_178() {
if (jj_scan_token(S)) return true;
Token xsp;
xsp = jj_scanpos;
@@ -6338,20 +6373,20 @@ LexicalUnitImpl result = null;
private boolean jj_3R_160() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_171()) {
+ if (jj_3R_175()) {
jj_scanpos = xsp;
- if (jj_3R_172()) {
+ if (jj_3R_176()) {
jj_scanpos = xsp;
- if (jj_3R_173()) {
+ if (jj_3R_177()) {
jj_scanpos = xsp;
- if (jj_3R_174()) return true;
+ if (jj_3R_178()) return true;
}
}
}
return false;
}
- private boolean jj_3R_171() {
+ private boolean jj_3R_175() {
if (jj_scan_token(PLUS)) return true;
Token xsp;
while (true) {
@@ -6361,59 +6396,7 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_208() {
- if (jj_scan_token(PC)) return true;
- return false;
- }
-
- private boolean jj_3R_207() {
- if (jj_scan_token(MM)) return true;
- return false;
- }
-
- private boolean jj_3R_206() {
- if (jj_scan_token(CM)) return true;
- return false;
- }
-
- private boolean jj_3R_205() {
- if (jj_scan_token(PT)) return true;
- return false;
- }
-
- private boolean jj_3R_256() {
- if (jj_3R_258()) return true;
- if (jj_scan_token(COLON)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (jj_3R_271()) return true;
- return false;
- }
-
- private boolean jj_3R_204() {
- if (jj_scan_token(PERCENTAGE)) return true;
- return false;
- }
-
- private boolean jj_3R_186() {
- if (jj_3R_238()) return true;
- return false;
- }
-
- private boolean jj_3R_203() {
- if (jj_scan_token(NUMBER)) return true;
- return false;
- }
-
- private boolean jj_3R_202() {
- if (jj_3R_245()) return true;
- return false;
- }
-
- private boolean jj_3R_180() {
+ private boolean jj_3R_184() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_202()) jj_scanpos = xsp;
@@ -6479,9 +6462,9 @@ LexicalUnitImpl result = null;
private boolean jj_3R_163() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_180()) {
+ if (jj_3R_184()) {
jj_scanpos = xsp;
- if (jj_3R_181()) return true;
+ if (jj_3R_185()) return true;
}
while (true) {
xsp = jj_scanpos;
@@ -6490,83 +6473,102 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_248() {
- if (jj_scan_token(HASH)) return true;
- return false;
- }
-
- private boolean jj_3R_238() {
- if (jj_3R_258()) return true;
+ private boolean jj_3R_194() {
+ if (jj_3R_242()) 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_243()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_244()) jj_scanpos = xsp;
+ if (jj_3R_245()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_245()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_198() {
+ private boolean jj_3R_257() {
if (jj_scan_token(HASH)) return true;
return false;
}
- private boolean jj_3R_305() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_233() {
+ if (jj_3R_242()) return true;
return false;
}
- private boolean jj_3R_185() {
+ private boolean jj_3R_189() {
if (jj_3R_163()) return true;
return false;
}
- private boolean jj_3R_249() {
- if (jj_scan_token(URL)) return true;
- return false;
- }
-
private boolean jj_3R_169() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_185()) {
+ if (jj_3R_189()) {
jj_scanpos = xsp;
- if (jj_3R_186()) return true;
+ if (jj_3R_190()) return true;
}
return false;
}
- private boolean jj_3R_306() {
- if (jj_scan_token(FUNCTION)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
+ private boolean jj_3R_258() {
+ if (jj_scan_token(URL)) return true;
return false;
}
private boolean jj_3R_168() {
- if (jj_3R_184()) return true;
+ if (jj_3R_188()) return true;
return false;
}
- private boolean jj_3R_261() {
+ private boolean jj_3R_198() {
+ if (jj_scan_token(HASH)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_327() {
+ if (jj_scan_token(IDENT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_276() {
if (jj_scan_token(PLUS)) return true;
return false;
}
- private boolean jj_3R_245() {
+ private boolean jj_3R_254() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_260()) {
+ if (jj_3R_275()) {
jj_scanpos = xsp;
- if (jj_3R_261()) return true;
+ if (jj_3R_276()) return true;
}
return false;
}
- private boolean jj_3R_260() {
+ private boolean jj_3R_275() {
if (jj_scan_token(MINUS)) return true;
return false;
}
- private boolean jj_3_12() {
+ private boolean jj_3R_328() {
+ if (jj_scan_token(FUNCTION)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
+ return false;
+ }
+
+ private boolean jj_3_11() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_168()) jj_scanpos = xsp;
@@ -6574,36 +6576,112 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_271() {
+ private boolean jj_3R_283() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(99)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(10)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(96)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(22)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(14)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(114)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(100)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(94)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(18)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(12)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(95)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(41)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(72)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(97)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(76)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(70)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(110)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(74)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(23)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(20)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(24)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(25)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(21)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(115)) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_243() {
if (jj_3R_169()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3_12()) { jj_scanpos = xsp; break; }
+ if (jj_3_11()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_304() {
- if (jj_scan_token(COLON)) return true;
+ private boolean jj_3R_259() {
+ if (jj_scan_token(UNICODERANGE)) return true;
return false;
}
- private boolean jj_3R_250() {
- if (jj_scan_token(UNICODERANGE)) return true;
+ private boolean jj_3R_232() {
+ if (jj_scan_token(COMMA)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_200() {
+ private boolean jj_3R_326() {
if (jj_scan_token(COLON)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_304()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_305()) {
- jj_scanpos = xsp;
- if (jj_3R_306()) return true;
- }
return false;
}
@@ -6628,8 +6706,18 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_237() {
- if (jj_scan_token(COMMA)) return true;
+ private boolean jj_3R_188() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_231()) {
+ jj_scanpos = xsp;
+ if (jj_3R_232()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_231() {
+ if (jj_scan_token(DIV)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -6638,23 +6726,36 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3_10() {
+ private boolean jj_3R_200() {
+ if (jj_scan_token(COLON)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_326()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_327()) {
+ jj_scanpos = xsp;
+ if (jj_3R_328()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_9() {
if (jj_3R_166()) return true;
return false;
}
- private boolean jj_3R_184() {
+ private boolean jj_3R_271() {
+ if (jj_scan_token(GUARDED_SYM)) return true;
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_236()) {
- jj_scanpos = xsp;
- if (jj_3R_237()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_236() {
- if (jj_scan_token(DIV)) return true;
+ private boolean jj_3R_339() {
+ if (jj_scan_token(IMPORTANT_SYM)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
@@ -6663,8 +6764,8 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_266() {
- if (jj_3R_284()) return true;
+ private boolean jj_3R_236() {
+ if (jj_3R_263()) return true;
return false;
}
@@ -6689,96 +6790,129 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3_9() {
+ private boolean jj_3_8() {
if (jj_3R_165()) return true;
return false;
}
- private boolean jj_3R_327() {
+ private boolean jj_3R_238() {
+ if (jj_scan_token(SEMICOLON)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_308() {
+ if (jj_scan_token(COLON)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_281() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_308()) jj_scanpos = xsp;
+ if (jj_3R_169()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_270() {
+ if (jj_3R_283()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_165() {
+ if (jj_scan_token(VARIABLE)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(COLON)) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(APPEND)) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
+ return false;
+ }
+
+ private boolean jj_3R_351() {
if (jj_scan_token(STRING)) return true;
return false;
}
- private boolean jj_3R_325() {
+ private boolean jj_3R_349() {
if (jj_scan_token(STARMATCH)) return true;
return false;
}
- private boolean jj_3R_326() {
+ private boolean jj_3R_350() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_324() {
+ private boolean jj_3R_348() {
if (jj_scan_token(DOLLARMATCH)) return true;
return false;
}
- private boolean jj_3R_268() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_323() {
+ private boolean jj_3R_347() {
if (jj_scan_token(CARETMATCH)) return true;
return false;
}
- private boolean jj_3R_322() {
+ private boolean jj_3R_346() {
if (jj_scan_token(DASHMATCH)) return true;
return false;
}
- private boolean jj_3R_321() {
+ private boolean jj_3R_345() {
if (jj_scan_token(INCLUDES)) return true;
return false;
}
- private boolean jj_3R_276() {
+ private boolean jj_3R_289() {
if (jj_scan_token(INTERPOLATION)) return true;
return false;
}
- private boolean jj_3R_320() {
+ private boolean jj_3R_344() {
if (jj_scan_token(EQ)) return true;
return false;
}
- private boolean jj_3R_165() {
- if (jj_scan_token(VARIABLE)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(COLON)) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(APPEND)) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
+ private boolean jj_3R_269() {
+ if (jj_3R_167()) return true;
return false;
}
- private boolean jj_3R_311() {
+ private boolean jj_3R_333() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_320()) {
+ if (jj_3R_344()) {
jj_scanpos = xsp;
- if (jj_3R_321()) {
+ if (jj_3R_345()) {
jj_scanpos = xsp;
- if (jj_3R_322()) {
+ if (jj_3R_346()) {
jj_scanpos = xsp;
- if (jj_3R_323()) {
+ if (jj_3R_347()) {
jj_scanpos = xsp;
- if (jj_3R_324()) {
+ if (jj_3R_348()) {
jj_scanpos = xsp;
- if (jj_3R_325()) return true;
+ if (jj_3R_349()) return true;
}
}
}
@@ -6789,9 +6923,9 @@ LexicalUnitImpl result = null;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_326()) {
+ if (jj_3R_350()) {
jj_scanpos = xsp;
- if (jj_3R_327()) return true;
+ if (jj_3R_351()) return true;
}
while (true) {
xsp = jj_scanpos;
@@ -6800,6 +6934,35 @@ LexicalUnitImpl result = null;
return false;
}
+ private boolean jj_3R_340() {
+ if (jj_3R_262()) return true;
+ if (jj_scan_token(COLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_235() {
+ if (jj_3R_242()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_158() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_7()) {
+ jj_scanpos = xsp;
+ if (jj_3_8()) {
+ jj_scanpos = xsp;
+ if (jj_3_9()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3_7() {
+ if (jj_3R_164()) return true;
+ return false;
+ }
+
private boolean jj_3R_201() {
if (jj_scan_token(LBRACKET)) return true;
Token xsp;
@@ -6813,494 +6976,550 @@ LexicalUnitImpl result = null;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_3R_311()) jj_scanpos = xsp;
+ if (jj_3R_333()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
- private boolean jj_3R_235() {
- if (jj_3R_257()) return true;
+ private boolean jj_3R_341() {
+ if (jj_3R_340()) return true;
return false;
}
- private boolean jj_3R_288() {
- if (jj_scan_token(COMMA)) return true;
+ private boolean jj_3R_343() {
+ if (jj_scan_token(INTERPOLATION)) return true;
return false;
}
- private boolean jj_3R_287() {
- if (jj_scan_token(IDENT)) return true;
+ private boolean jj_3R_267() {
+ if (jj_scan_token(COMMA)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ if (jj_3R_266()) return true;
return false;
}
- private boolean jj_3R_319() {
+ private boolean jj_3R_263() {
if (jj_scan_token(INTERPOLATION)) return true;
return false;
}
- private boolean jj_3R_265() {
- if (jj_3R_258()) return true;
+ private boolean jj_3R_266() {
+ if (jj_scan_token(IDENT)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_244() {
+ private boolean jj_3R_237() {
+ if (jj_3R_264()) return true;
+ if (jj_3R_265()) return true;
+ if (jj_scan_token(RPARAN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_253() {
if (jj_scan_token(PARENT)) return true;
return false;
}
- private boolean jj_3R_158() {
+ private boolean jj_3R_252() {
+ if (jj_scan_token(ANY)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_234() {
+ if (jj_3R_262()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_240() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3_8()) {
+ if (jj_3R_268()) {
jj_scanpos = xsp;
- if (jj_3_9()) {
+ if (jj_3R_269()) {
jj_scanpos = xsp;
- if (jj_3_10()) return true;
+ if (jj_3R_270()) return true;
}
}
return false;
}
- private boolean jj_3_8() {
- if (jj_3R_164()) return true;
+ private boolean jj_3R_268() {
+ if (jj_3R_272()) return true;
return false;
}
- private boolean jj_3R_243() {
- if (jj_scan_token(ANY)) return true;
+ private boolean jj_3R_191() {
+ if (jj_scan_token(INCLUDE_SYM)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_234()) {
+ jj_scanpos = xsp;
+ if (jj_3R_235()) {
+ jj_scanpos = xsp;
+ if (jj_3R_236()) {
+ jj_scanpos = xsp;
+ if (jj_3R_237()) return true;
+ }
+ }
+ }
+ if (jj_3R_238()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_238()) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_269() {
- if (jj_3R_287()) return true;
+ private boolean jj_3R_239() {
+ if (jj_3R_266()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_288()) { jj_scanpos = xsp; break; }
+ if (jj_3R_267()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_259() {
+ private boolean jj_3R_274() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_275()) {
+ if (jj_3R_288()) {
jj_scanpos = xsp;
- if (jj_3R_276()) return true;
+ if (jj_3R_289()) return true;
}
return false;
}
- private boolean jj_3R_275() {
+ private boolean jj_3R_288() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_284() {
- if (jj_scan_token(INTERPOLATION)) return true;
+ private boolean jj_3R_313() {
+ if (jj_scan_token(SEMICOLON)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_341()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_197() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_242()) {
+ if (jj_3R_251()) {
jj_scanpos = xsp;
- if (jj_3R_243()) {
+ if (jj_3R_252()) {
jj_scanpos = xsp;
- if (jj_3R_244()) return true;
+ if (jj_3R_253()) return true;
}
}
return false;
}
- private boolean jj_3R_242() {
+ private boolean jj_3R_251() {
Token xsp;
- if (jj_3R_259()) return true;
+ if (jj_3R_274()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_259()) { jj_scanpos = xsp; break; }
+ if (jj_3R_274()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_267() {
- if (jj_3R_285()) return true;
- if (jj_3R_286()) return true;
+ private boolean jj_3R_282() {
+ if (jj_scan_token(COMMA)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (jj_3R_169()) return true;
return false;
}
- private boolean jj_3R_264() {
- if (jj_3R_283()) return true;
+ private boolean jj_3R_337() {
+ if (jj_3R_200()) return true;
return false;
}
- private boolean jj_3R_252() {
- if (jj_scan_token(INCLUDE_SYM)) return true;
+ private boolean jj_3R_265() {
+ if (jj_3R_169()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- xsp = jj_scanpos;
- if (jj_3R_264()) {
- jj_scanpos = xsp;
- if (jj_3R_265()) {
- jj_scanpos = xsp;
- if (jj_3R_266()) {
- jj_scanpos = xsp;
- if (jj_3R_267()) return true;
- }
- }
+ if (jj_3R_281()) { jj_scanpos = xsp; break; }
}
- if (jj_3R_268()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_268()) { jj_scanpos = xsp; break; }
+ if (jj_3R_282()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_315() {
- if (jj_3R_200()) return true;
+ private boolean jj_3R_162() {
+ if (jj_scan_token(COMMA)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_318() {
+ private boolean jj_3R_342() {
if (jj_scan_token(IDENT)) return true;
return false;
}
- private boolean jj_3R_299() {
+ private boolean jj_3R_321() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_318()) {
+ if (jj_3R_342()) {
jj_scanpos = xsp;
- if (jj_3R_319()) return true;
+ if (jj_3R_343()) return true;
}
return false;
}
- private boolean jj_3R_313() {
+ private boolean jj_3R_335() {
if (jj_3R_199()) return true;
return false;
}
- private boolean jj_3_3() {
- if (jj_3R_159()) return true;
- return false;
- }
-
- private boolean jj_3R_310() {
+ private boolean jj_3R_332() {
if (jj_3R_200()) return true;
return false;
}
- private boolean jj_3R_308() {
+ private boolean jj_3R_330() {
if (jj_3R_199()) return true;
return false;
}
- private boolean jj_3R_298() {
+ private boolean jj_3R_320() {
if (jj_3R_200()) return true;
return false;
}
- private boolean jj_3R_253() {
- if (jj_scan_token(MEDIA_SYM)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- if (jj_3R_269()) return true;
- if (jj_scan_token(LBRACE)) return true;
+ private boolean jj_3R_312() {
+ if (jj_3R_340()) return true;
return false;
}
private boolean jj_3R_199() {
if (jj_scan_token(DOT)) return true;
Token xsp;
- if (jj_3R_299()) return true;
+ if (jj_3R_321()) return true;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_299()) { jj_scanpos = xsp; break; }
+ if (jj_3R_321()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_303() {
+ private boolean jj_3R_325() {
if (jj_3R_200()) return true;
return false;
}
- private boolean jj_3R_301() {
+ private boolean jj_3R_323() {
if (jj_3R_199()) return true;
return false;
}
- private boolean jj_3R_286() {
- if (jj_3R_169()) return true;
+ private boolean jj_3R_192() {
+ if (jj_scan_token(MEDIA_SYM)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ if (jj_3R_239()) return true;
+ if (jj_scan_token(LBRACE)) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_240()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_162() {
- if (jj_scan_token(COMMA)) return true;
+ private boolean jj_3R_287() {
+ if (jj_scan_token(LBRACE)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
}
+ xsp = jj_scanpos;
+ if (jj_3R_312()) jj_scanpos = xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_313()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
+ }
return false;
}
- private boolean jj_3R_234() {
- if (jj_3R_256()) return true;
+ private boolean jj_3_6() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_162()) jj_scanpos = xsp;
+ if (jj_3R_163()) return true;
return false;
}
- private boolean jj_3R_314() {
+ private boolean jj_3R_311() {
+ if (jj_3R_339()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_247() {
+ if (jj_3R_273()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_336() {
if (jj_3R_201()) return true;
return false;
}
- private boolean jj_3R_312() {
+ private boolean jj_3R_334() {
if (jj_3R_198()) return true;
return false;
}
- private boolean jj_3R_281() {
+ private boolean jj_3R_294() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_312()) {
+ if (jj_3R_334()) {
jj_scanpos = xsp;
- if (jj_3R_313()) {
+ if (jj_3R_335()) {
jj_scanpos = xsp;
- if (jj_3R_314()) {
+ if (jj_3R_336()) {
jj_scanpos = xsp;
- if (jj_3R_315()) return true;
+ if (jj_3R_337()) return true;
}
}
}
return false;
}
- private boolean jj_3R_274() {
- if (jj_3R_291()) return true;
- return false;
- }
-
- private boolean jj_3R_307() {
+ private boolean jj_3R_329() {
if (jj_3R_198()) return true;
return false;
}
- private boolean jj_3R_280() {
+ private boolean jj_3R_293() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_307()) {
+ if (jj_3R_329()) {
jj_scanpos = xsp;
- if (jj_3R_308()) {
+ if (jj_3R_330()) {
jj_scanpos = xsp;
- if (jj_3R_309()) {
+ if (jj_3R_331()) {
jj_scanpos = xsp;
- if (jj_3R_310()) return true;
+ if (jj_3R_332()) return true;
}
}
}
return false;
}
- private boolean jj_3R_295() {
+ private boolean jj_3R_317() {
if (jj_3R_200()) return true;
return false;
}
- private boolean jj_3_7() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_162()) jj_scanpos = xsp;
- if (jj_3R_163()) return true;
- return false;
- }
-
- private boolean jj_3R_309() {
+ private boolean jj_3R_331() {
if (jj_3R_201()) return true;
return false;
}
- private boolean jj_3R_300() {
+ private boolean jj_3R_322() {
if (jj_3R_198()) return true;
return false;
}
- private boolean jj_3R_279() {
+ private boolean jj_3R_292() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_300()) {
+ if (jj_3R_322()) {
jj_scanpos = xsp;
- if (jj_3R_301()) {
+ if (jj_3R_323()) {
jj_scanpos = xsp;
- if (jj_3R_302()) {
+ if (jj_3R_324()) {
jj_scanpos = xsp;
- if (jj_3R_303()) return true;
+ if (jj_3R_325()) return true;
}
}
}
return false;
}
- private boolean jj_3R_297() {
+ private boolean jj_3R_319() {
if (jj_3R_201()) return true;
return false;
}
- private boolean jj_3R_302() {
- if (jj_3R_201()) return true;
+ private boolean jj_3R_286() {
+ if (jj_3R_243()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_311()) jj_scanpos = xsp;
return false;
}
- private boolean jj_3R_317() {
- if (jj_scan_token(LBRACE)) return true;
+ private boolean jj_3R_324() {
+ if (jj_3R_201()) return true;
return false;
}
- private boolean jj_3R_296() {
+ private boolean jj_3R_318() {
if (jj_3R_199()) return true;
return false;
}
- private boolean jj_3R_293() {
+ private boolean jj_3R_315() {
if (jj_3R_199()) return true;
return false;
}
- private boolean jj_3R_278() {
+ private boolean jj_3R_291() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_296()) {
+ if (jj_3R_318()) {
jj_scanpos = xsp;
- if (jj_3R_297()) {
+ if (jj_3R_319()) {
jj_scanpos = xsp;
- if (jj_3R_298()) return true;
+ if (jj_3R_320()) return true;
}
}
return false;
}
- private boolean jj_3R_233() {
- if (jj_3R_255()) return true;
+ private boolean jj_3R_273() {
+ if (jj_3R_262()) 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_286()) {
+ jj_scanpos = xsp;
+ if (jj_3R_287()) return true;
+ }
return false;
}
- private boolean jj_3R_273() {
- if (jj_3R_290()) return true;
+ private boolean jj_3R_246() {
+ if (jj_3R_272()) return true;
return false;
}
- private boolean jj_3R_179() {
+ private boolean jj_3R_183() {
if (jj_3R_201()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_281()) { jj_scanpos = xsp; break; }
+ if (jj_3R_294()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_178() {
+ private boolean jj_3R_182() {
if (jj_3R_200()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_280()) { jj_scanpos = xsp; break; }
+ if (jj_3R_293()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_316() {
- if (jj_3R_271()) return true;
- return false;
- }
-
- private boolean jj_3R_294() {
if (jj_3R_201()) return true;
return false;
}
- private boolean jj_3R_177() {
+ private boolean jj_3R_181() {
if (jj_3R_199()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_279()) { jj_scanpos = xsp; break; }
+ if (jj_3R_292()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_292() {
+ private boolean jj_3R_314() {
if (jj_3R_198()) return true;
return false;
}
- private boolean jj_3R_176() {
- if (jj_3R_198()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_278()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_277() {
+ private boolean jj_3R_290() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_292()) {
+ if (jj_3R_314()) {
jj_scanpos = xsp;
- if (jj_3R_293()) {
+ if (jj_3R_315()) {
jj_scanpos = xsp;
- if (jj_3R_294()) {
+ if (jj_3R_316()) {
jj_scanpos = xsp;
- if (jj_3R_295()) return true;
+ if (jj_3R_317()) return true;
}
}
}
return false;
}
- private boolean jj_3_6() {
- if (jj_3R_158()) return true;
- return false;
- }
-
- private boolean jj_3R_175() {
- if (jj_3R_197()) return true;
+ private boolean jj_3R_180() {
+ if (jj_3R_198()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_277()) { jj_scanpos = xsp; break; }
+ if (jj_3R_291()) { jj_scanpos = xsp; break; }
}
return false;
}
- private boolean jj_3R_291() {
- if (jj_3R_283()) return true;
- if (jj_scan_token(COLON)) return true;
+ private boolean jj_3R_179() {
+ if (jj_3R_197()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) { jj_scanpos = xsp; break; }
- }
- xsp = jj_scanpos;
- if (jj_3R_316()) {
- jj_scanpos = xsp;
- if (jj_3R_317()) return true;
+ if (jj_3R_290()) { jj_scanpos = xsp; break; }
}
return false;
}
@@ -7308,15 +7527,15 @@ LexicalUnitImpl result = null;
private boolean jj_3R_161() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_175()) {
+ if (jj_3R_179()) {
jj_scanpos = xsp;
- if (jj_3R_176()) {
+ if (jj_3R_180()) {
jj_scanpos = xsp;
- if (jj_3R_177()) {
+ if (jj_3R_181()) {
jj_scanpos = xsp;
- if (jj_3R_178()) {
+ if (jj_3R_182()) {
jj_scanpos = xsp;
- if (jj_3R_179()) return true;
+ if (jj_3R_183()) return true;
}
}
}
@@ -7324,16 +7543,6 @@ LexicalUnitImpl result = null;
return false;
}
- private boolean jj_3R_232() {
- if (jj_3R_254()) return true;
- return false;
- }
-
- private boolean jj_3R_272() {
- if (jj_3R_289()) return true;
- return false;
- }
-
/** Generated Token Manager. */
public ParserTokenManager token_source;
/** Current token. */
@@ -7344,7 +7553,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[234];
+ final private int[] jj_la1 = new int[229];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -7356,18 +7565,18 @@ LexicalUnitImpl result = null;
jj_la1_init_3();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x0,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x80002,0x80002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x4d380002,0x2,0xd0000000,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0xd0000000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,};
+ jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0xd0000000,0xc00,0x2,0xc00,0x2,0x0,0x2,0x0,0x2,0x2,0x2,0xd3f45400,0xd3f45400,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x3f45400,0x2,0x2,0x2,0x3100000,0x2,0x3100000,0x3100002,0x2,0x480002,0x480002,0x2,0x2,0x2,0x2,0x2,0xd0000000,0x0,0x2,0x400000,0x2,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0xd0000000,0x0,0x0,0x0,0x0,0xc0000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x0,0xd0000000,0x4d380002,0x2,0xd0000000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0xd0000000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0xd0000000,0x0,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x2,0x0,0x2,0x2,0x2,0x400000,0x2,0x2,0x0,0x2,0x2,0x0,0x2,0x2,0x2,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x8400000,0x8400000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0xd0000000,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000381,0x6000381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x56400181,0x40000000,0x10400000,0x6000181,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x6400181,0x6400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x6400181,0x6400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x6400181,0x400000,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56400181,0x400000,0x56000181,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56600181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000381,0x6000381,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x185,0x185,0x0,0x0,0x0,0x0,0x0,0x56400181,0x50000000,0x0,0x0,0x0,0x0,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x181,0x100,0x100,0x100,0x100,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x50000000,0x6400181,0x7e,0x0,0x6400181,0x0,0x80000000,0x0,0x7e,0x0,0x0,0x6400181,0x0,0x7e,0x0,0x0,0x0,0x0,0x0,0x6400181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x56400181,0x50000000,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x81,0x0,0x80,0x0,0x0,0x81,0x0,0x80,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0xc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1,0x0,0x0,0x1,0x0,0x6000181,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x800,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x0,0x80000801,0x20000080,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x980,0x0,0xa0000881,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x80000000,0x20000881,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0xa0000880,0x0,0x0,0x0,0x0,0x440,0x0,0x80,0x0,0x0,0x0,0xe00015c0,0xe00015c0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0xc0001540,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x0,0x0,0x0,0xa0000889,0x8,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x0,0x0,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000000,0x20000080,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x80,0x0,0x20,0x0,0x0,0x0,0xa0000881,0x980,0x0,0xa0000881,0x0,0x0,0x0,0x980,0x10,0x0,0xa0000881,0x0,0x980,0x0,0x0,0x0,0x880,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0xa0000881,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x3ffffdc0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x0,0x0,0x880,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x80,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,0x3ffffdc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffdc0,0x0,0x1ffff100,0x0,0x200004c0,0x3ffff5c0,0x0,0x0,0x3ffffdc0,0x0,0xe0000080,0x0,0x0,0x0,0x80,0x0,0x0,0x80,0x0,};
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_3 = new int[] {0x1,0x8,0x8,0x0,0x8,0x0,0x0,0x0,0x6,0x8,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc401f,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x6,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x0,0x44000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x44000,0x0,0x40000,0x0,0x4000,0x44000,0x0,0x0,0x44000,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
- final private JJCalls[] jj_2_rtns = new JJCalls[12];
+ final private JJCalls[] jj_2_rtns = new JJCalls[11];
private boolean jj_rescan = false;
private int jj_gc = 0;
@@ -7377,7 +7586,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 234; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 229; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7387,7 +7596,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 234; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 229; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7397,7 +7606,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 234; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 229; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7407,7 +7616,7 @@ LexicalUnitImpl result = null;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 234; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 229; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -7524,7 +7733,7 @@ LexicalUnitImpl result = null;
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 234; i++) {
+ for (int i = 0; i < 229; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
@@ -7569,7 +7778,7 @@ LexicalUnitImpl result = null;
private void jj_rescan_token() {
jj_rescan = true;
- for (int i = 0; i < 12; i++) {
+ for (int i = 0; i < 11; i++) {
try {
JJCalls p = jj_2_rtns[i];
do {
@@ -7587,7 +7796,6 @@ LexicalUnitImpl result = null;
case 8: jj_3_9(); break;
case 9: jj_3_10(); break;
case 10: jj_3_11(); break;
- case 11: jj_3_12(); break;
}
}
p = p.next;
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
index efd1ce2857..8d7cc4c32d 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
@@ -743,7 +743,7 @@ void afterImportDeclaration() :
}
{
(
- ( (LOOKAHEAD(5)listModifyDirective()|variable()) | debugDirective() | warnDirective() | ifDirective()|mixinDirective()| eachDirective() | includeDirective() | styleRule() | media()| page() | fontFace()
+ ( LOOKAHEAD(5)listModifyDirective() | variable() | debuggingDirective() | mixinDirective() | controlDirective() | includeDirective() | styleRule() | media() | page() | fontFace()
| { l = getLocator(); } ret=skipStatement()
{
if ((ret == null) || (ret.length() == 0)) {
@@ -821,7 +821,7 @@ void media() :
<MEDIA_SYM> ( <S> )*
mediaStatement(ml)
{ start = true; documentHandler.startMedia(ml); }
- <LBRACE> ( <S> )* ( debugDirective() | warnDirective() | styleRule() | skipUnknownRule() )* <RBRACE> ( <S> )*
+ <LBRACE> ( <S> )* ( debuggingDirective() | styleRule() | skipUnknownRule() )* <RBRACE> ( <S> )*
} catch (ParseException e) {
reportError(getLocator(), e);
skipStatement();
@@ -1007,10 +1007,13 @@ void microsoftExtension() :
}
{
+ // This is not really taking the syntax of filter rules into account
n = < MICROSOFT_RULE > (< S >)* { name = n.image; }
< COLON >
((n = < IDENT > { value += n.image; })
| (n = < NUMBER > { value += n.image; })
+ | (n = < STRING > { value += n.image; })
+ | (n = < COMMA > { value += n.image; })
| (n = < INTERPOLATION > { value += n.image; })
| (n = < COLON > { value += n.image; })
| (n = < FUNCTION > { value += n.image; })
@@ -1063,7 +1066,7 @@ void styleRule() :
start = true;
documentHandler.startSelector(l);
}
- ( ifDirective() | LOOKAHEAD(5)listModifyDirective() | includeDirective() | media() | extendDirective()| eachDirective() | variable() | LOOKAHEAD(3) microsoftExtension()| styleRuleOrDeclarationOrNestedProperties())*
+ ( LOOKAHEAD(5)ifContentStatement() | controlDirective() | microsoftExtension() )*
<RBRACE> (<S>)*
} catch (ThrowedParseException e) {
if (errorHandler != null) {
@@ -1392,6 +1395,18 @@ void variable() :
}
}
+void controlDirective() :
+{}
+{
+ ifDirective() | eachDirective()
+}
+
+void ifContentStatement() :
+{}
+{
+ LOOKAHEAD(5)listModifyDirective() | includeDirective() | media() | extendDirective() | variable() | styleRuleOrDeclarationOrNestedProperties()
+}
+
void ifDirective() :
{
Token n = null;
@@ -1404,7 +1419,7 @@ void ifDirective() :
{ documentHandler.startIfElseDirective();
documentHandler.ifDirective(evaluator);
}
- ( includeDirective() | media() | extendDirective()| variable() | styleRuleOrDeclarationOrNestedProperties())*
+ ( ifContentStatement() )*
< RBRACE >(< S >)*
(elseDirective())*
{ documentHandler.endIfElseDirective(); }
@@ -1417,12 +1432,12 @@ void elseDirective() :
}
{
< ELSE_SYM >(< S >)*
- ( < IF > (n = booleanExpressionToken() { if(n != null) evaluator += n.image; })*)?
+ ( < IF > ( n = booleanExpressionToken() { evaluator += n.image; } )+ )?
< LBRACE >(< S >)*
{ if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); }
else{ documentHandler.elseDirective(); }
}
- ( includeDirective() | media() | extendDirective()| variable() | styleRuleOrDeclarationOrNestedProperties())*
+ ( ifContentStatement() )*
< RBRACE >(< S >)*
}
@@ -1470,7 +1485,7 @@ void eachDirective() :
{documentHandler.startEachDirective(var.image, listVariable);}
)
< LBRACE >(< S >)*
- ( includeDirective() | LOOKAHEAD(5)listModifyDirective() | media() | extendDirective()| variable() | styleRuleOrDeclarationOrNestedProperties())*
+ ( ifContentStatement() )*
< RBRACE >(< S >)*
{ documentHandler.endEachDirective();}
}
@@ -1502,7 +1517,7 @@ void mixinDirective() :
|(name = functionName()
args = arglist()) <RPARAN> (<S>)*) <LBRACE> (<S>)*
{documentHandler.startMixinDirective(name, args);}
- ( includeDirective() | media() | LOOKAHEAD(5)listModifyDirective() | ifDirective() | eachDirective() | extendDirective()| variable() | styleRuleOrDeclarationOrNestedProperties() | fontFace() | page())*
+ ( LOOKAHEAD(5)ifContentStatement() | controlDirective() | fontFace() | page())*
<RBRACE>(<S>)*
{documentHandler.endMixinDirective(name, args);}
}
@@ -1720,6 +1735,12 @@ Node returnDirective() :
{return null;}
}
+void debuggingDirective() :
+{}
+{
+ debugDirective() | warnDirective()
+}
+
void debugDirective() :
{}
{
@@ -1835,7 +1856,7 @@ void styleRuleOrDeclarationOrNestedProperties() :
{
try {
// differentiate between the colon of a pseudo and the colon of nested properties and the colon of a simple property
- (LOOKAHEAD(5) styleRule() | debugDirective() | warnDirective() | declarationOrNestedProperties())
+ (LOOKAHEAD(5) styleRule() | debuggingDirective() | declarationOrNestedProperties())
} catch (JumpException e) {
skipAfterExpression();
// reportWarningSkipText(getLocator(), skipAfterExpression());
@@ -2705,8 +2726,7 @@ void _parseRule() :
}
{
( <S> )*
- ( importDeclaration() | debugDirective() | warnDirective() | styleRule() | media() | page()
- | fontFace() | ret=skipStatement()
+ ( importDeclaration() | debuggingDirective() | styleRule() | media() | page() | fontFace() | ret=skipStatement()
{
if ((ret == null) || (ret.length() == 0)) {
return;
diff --git a/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css b/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css
index 18bc34ca6c..af614316c9 100644
--- a/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css
+++ b/theme-compiler/tests/resources/automatic/css/microsoft-extensions.css
@@ -1,6 +1,7 @@
.v-ie6 .v-shadow-window {
background: #000000;
filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5 ) alpha(opacity = 20);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
margin-top: 2px;
margin-left: 2px;
} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss b/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss
index 69670969de..e08f3f07a3 100644
--- a/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss
+++ b/theme-compiler/tests/resources/automatic/scss/microsoft-extensions.scss
@@ -1,6 +1,7 @@
.v-ie6 .v-shadow-window {
background: #000000;
filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=5 ) alpha(opacity = 20);
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
margin-top: 2px;
margin-left: 2px;
}
diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html
new file mode 100644
index 0000000000..a4e36b6f44
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="http://localhost:9999/" />
+<title>ButtonWithShortcutNotRendered</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ButtonWithShortcutNotRendered</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonWithShortcutNotRendered?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonWithShortcutNotRendered::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VSplitPanelVertical[0]/VScrollTable[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]</td>
+ <td>190,7</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>button-initial</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonWithShortcutNotRendered</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>button-with-caption</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java
new file mode 100644
index 0000000000..b01e0a85d0
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/button/ButtonWithShortcutNotRendered.java
@@ -0,0 +1,170 @@
+package com.vaadin.tests.components.button;
+
+import com.vaadin.annotations.PreserveOnRefresh;
+import com.vaadin.data.Item;
+import com.vaadin.data.Property;
+import com.vaadin.data.util.HierarchicalContainer;
+import com.vaadin.event.ShortcutAction.KeyCode;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.shared.ui.MarginInfo;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.DefaultFieldFactory;
+import com.vaadin.ui.Field;
+import com.vaadin.ui.Form;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Table;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.VerticalSplitPanel;
+
+@PreserveOnRefresh
+@SuppressWarnings("deprecation")
+public class ButtonWithShortcutNotRendered extends AbstractTestUI {
+
+ @Override
+ protected String getTestDescription() {
+ return "Button with shortcut broken if the shortcut is rendered before the button";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 9825;
+ }
+
+ Button defaultButton;
+ Button otherButton;
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void setup(VaadinRequest request) {
+ getLayout().setWidth(100, Unit.PERCENTAGE);
+ getLayout().setHeight(null);
+ getLayout().setMargin(new MarginInfo(true, false, false, false));
+
+ HierarchicalContainer container = new HierarchicalContainer();
+ container.addContainerProperty("t1", String.class, "");
+ container.addContainerProperty("t2", String.class, "");
+
+ Item item = container.addItem("r1");
+ item.getItemProperty("t1").setValue("Row1 t1");
+ item.getItemProperty("t2").setValue("Row1 t2");
+
+ item = container.addItem("r2");
+ item.getItemProperty("t1").setValue("Row2 t1");
+ item.getItemProperty("t2").setValue("Row2 t2");
+
+ MyForm form = new MyForm();
+ MyTable table = new MyTable(form, container);
+
+ VerticalSplitPanel splitPanel = new VerticalSplitPanel();
+ splitPanel.setWidth(100, Unit.PERCENTAGE);
+ splitPanel.setHeight(400, Unit.PIXELS);
+ splitPanel.setFirstComponent(table);
+ splitPanel.setSecondComponent(form);
+ splitPanel.setSplitPosition(50, Unit.PERCENTAGE);
+
+ addComponent(splitPanel);
+ }
+
+ public class MyTable extends Table {
+ final MyForm form;
+
+ public MyTable(MyForm pform, HierarchicalContainer container) {
+ form = pform;
+ setContainerDataSource(container);
+ setSelectable(true);
+ setImmediate(true);
+ setWidth(100, Unit.PERCENTAGE);
+ setHeight(null);
+
+ addValueChangeListener(new Property.ValueChangeListener() {
+
+ public void valueChange(
+ com.vaadin.data.Property.ValueChangeEvent event) {
+ final Item item = getItem(getValue());
+ form.setItemDataSource(item);
+ }
+
+ });
+ }
+ }
+
+ public class MyForm extends Form implements ClickListener {
+ final GridLayout layout;
+
+ @SuppressWarnings("unchecked")
+ public MyForm() {
+ setWidth(100, Unit.PERCENTAGE);
+ setHeight(null);
+ setImmediate(true);
+
+ setFormFieldFactory(new DefaultFieldFactory() {
+
+ @Override
+ public TextField createField(Item item, Object propertyId,
+ Component uiContext) {
+ TextField t = new TextField();
+ t.setWidth(100, Unit.PERCENTAGE);
+ t.setHeight(null);
+ t.setCaption((String) propertyId);
+ t.setImmediate(false);
+ return t;
+ }
+ });
+
+ layout = new GridLayout(2, 1);
+ layout.setWidth(100, Unit.PERCENTAGE);
+ layout.setHeight(null);
+ layout.setColumnExpandRatio(0, 0.5f);
+ layout.setColumnExpandRatio(1, 0.5f);
+ layout.setMargin(true);
+ layout.setSpacing(true);
+ setLayout(layout);
+
+ HorizontalLayout footer = new HorizontalLayout();
+ footer.setSpacing(true);
+ footer.setMargin(false);
+ footer.setVisible(false);
+ setFooter(footer);
+
+ defaultButton = new Button("Default Button", this);
+ defaultButton.setClickShortcut(KeyCode.ENTER);
+ footer.addComponent(defaultButton);
+
+ otherButton = new Button("Other button", this);
+ footer.addComponent(otherButton);
+ }
+
+ @Override
+ public void setItemDataSource(Item newDataSource) {
+ if (newDataSource != null) {
+ super.setItemDataSource(newDataSource);
+ layout.setVisible(true);
+ getFooter().setVisible(true);
+ } else {
+ super.setItemDataSource(null);
+ layout.setVisible(false);
+ getFooter().setVisible(false);
+ }
+ }
+
+ @Override
+ @SuppressWarnings("rawtypes")
+ protected void attachField(Object propertyId, Field field) {
+ if (propertyId.equals("t1")) {
+ layout.addComponent(field, 0, 0);
+ } else if (propertyId.equals("t2")) {
+ layout.addComponent(field, 1, 0);
+ }
+ }
+
+ public void buttonClick(ClickEvent event) {
+ // NOP
+ }
+
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.html b/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.html
new file mode 100644
index 0000000000..81676f6599
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="http://localhost:8068/" />
+<title>ClickingWhilePopupOpen</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">ClickingWhilePopupOpen</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/ClickingWhilePopupOpen?restartApplication&amp;debug</td>
+ <td></td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runClickingWhilePopupOpen::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupView[0]</td>
+ <td>132,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runClickingWhilePopupOpen::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[0]/VPopupView[0]</td>
+ <td>132,7</td>
+</tr>
+<tr>
+ <td>assertTextNotPresent</td>
+ <td>IllegalStateException: Cannot set a new parent without first clearing the old parent</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.java b/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.java
new file mode 100644
index 0000000000..239c774180
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/popupview/ClickingWhilePopupOpen.java
@@ -0,0 +1,26 @@
+package com.vaadin.tests.components.popupview;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.PopupView;
+
+public class ClickingWhilePopupOpen extends TestBase {
+
+ @Override
+ protected void setup() {
+ Label popup = new Label("Popup");
+ popup.setSizeUndefined();
+ addComponent(new PopupView("Click here to open the popup", popup));
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Clicking the popup view when the popup is already open throws a client-side IllegalStateException";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 8786;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html
new file mode 100644
index 0000000000..27805ef61e
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>base_theme_test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">base_theme_test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/ThemeTestUI?restartApplication&amp;theme=base</td>
+ <td></td>
+</tr>
+<tr>
+ <td>setSpeed</td>
+ <td>150</td>
+ <td>150</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>labels</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td>
+ <td>31,8</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>buttons</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td>
+ <td>27,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>embedded</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td>
+ <td>33,24</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield0']/button</td>
+ <td>11,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-first-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td>
+ <td>402,158</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield1']/button</td>
+ <td>14,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-second-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield2']/button</td>
+ <td>9,16</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-third-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield3']/button</td>
+ <td>9,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-fourth-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td>
+ <td>35,2</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>textfields</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td>
+ <td>27,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select0']/div</td>
+ <td>9,11</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-first-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select1']/div</td>
+ <td>10,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-second-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select6']/div</td>
+ <td>7,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-third-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select7']/div</td>
+ <td>7,12</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-fourth-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select8']/div</td>
+ <td>9,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td>
+ <td>20,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>sliders</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td>
+ <td>18,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td>
+ <td>518,136</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>uploads</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td>
+ <td>18,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>forms</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td>
+ <td>22,25</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables</td>
+</tr>
+<tr>
+ <td>contextmenu</td>
+ <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-contextmenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='table0']/div[1]/div[2]</td>
+ <td>12,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-collapsemenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td>
+ <td>28,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>trees</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td>
+ <td>52,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>treetable</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td>
+ <td>23,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>layouts</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td>
+ <td>24,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tabsheets</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td>
+ <td>24,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>accordions</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td>
+ <td>15,0</td>
+</tr>
+<!--Window and Notification screenshots-->
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton0']/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-default</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-light</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>11,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-black</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>8,5</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-dialog</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton4']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-opaque</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>10,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td>
+ <td>46,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt0']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-humanized</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>214,15</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-warning</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>172,13</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-error</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>318,11</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-tray</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>66,9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html
new file mode 100644
index 0000000000..754fadf3d6
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>chameleon_theme_test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">chameleon_theme_test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/ThemeTestUI?restartApplication&amp;theme=chameleon</td>
+ <td></td>
+</tr>
+<tr>
+ <td>setSpeed</td>
+ <td>150</td>
+ <td>150</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>labels</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td>
+ <td>31,8</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>buttons</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td>
+ <td>27,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>embedded</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td>
+ <td>33,24</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield0']/button</td>
+ <td>11,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-first-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td>
+ <td>402,158</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield1']/button</td>
+ <td>14,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-second-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield2']/button</td>
+ <td>9,16</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-third-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield3']/button</td>
+ <td>9,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-fourth-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td>
+ <td>35,2</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>textfields</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td>
+ <td>27,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select0']/div</td>
+ <td>9,11</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-first-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select1']/div</td>
+ <td>10,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-second-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select6']/div</td>
+ <td>7,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-third-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select7']/div</td>
+ <td>7,12</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-fourth-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select8']/div</td>
+ <td>9,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td>
+ <td>20,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>sliders</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td>
+ <td>18,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td>
+ <td>518,136</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>uploads</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td>
+ <td>18,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>forms</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td>
+ <td>22,25</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables</td>
+</tr>
+<tr>
+ <td>contextmenu</td>
+ <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-contextmenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='table0']/div[1]/div[2]</td>
+ <td>12,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-collapsemenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td>
+ <td>28,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>trees</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td>
+ <td>52,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>treetable</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td>
+ <td>23,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>layouts</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td>
+ <td>24,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tabsheets</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td>
+ <td>24,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>accordions</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td>
+ <td>15,0</td>
+</tr>
+<!--Window and Notification screenshots-->
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton0']/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-default</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-light</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>11,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-black</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>8,5</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-dialog</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton4']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-opaque</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>10,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td>
+ <td>46,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt0']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-humanized</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>214,15</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-warning</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>172,13</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-error</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>318,11</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-tray</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>66,9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html
new file mode 100644
index 0000000000..04778d76ba
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>liferay_theme_test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">liferay_theme_test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/ThemeTestUI?restartApplication&amp;theme=liferay</td>
+ <td></td>
+</tr>
+<tr>
+ <td>setSpeed</td>
+ <td>150</td>
+ <td>150</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>labels</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td>
+ <td>31,8</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>buttons</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td>
+ <td>27,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>embedded</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td>
+ <td>33,24</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield0']/button</td>
+ <td>11,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-first-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td>
+ <td>402,158</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield1']/button</td>
+ <td>14,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-second-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield2']/button</td>
+ <td>9,16</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-third-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield3']/button</td>
+ <td>9,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-fourth-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td>
+ <td>35,2</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>textfields</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td>
+ <td>27,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select0']/div</td>
+ <td>9,11</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-first-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select1']/div</td>
+ <td>10,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-second-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select6']/div</td>
+ <td>7,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-third-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select7']/div</td>
+ <td>7,12</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-fourth-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select8']/div</td>
+ <td>9,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td>
+ <td>20,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>sliders</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td>
+ <td>18,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td>
+ <td>518,136</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>uploads</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td>
+ <td>18,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>forms</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td>
+ <td>22,25</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables</td>
+</tr>
+<tr>
+ <td>contextmenu</td>
+ <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-contextmenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='table0']/div[1]/div[2]</td>
+ <td>12,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-collapsemenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td>
+ <td>28,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>trees</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td>
+ <td>52,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>treetable</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td>
+ <td>23,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>layouts</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td>
+ <td>24,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tabsheets</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td>
+ <td>24,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>accordions</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td>
+ <td>15,0</td>
+</tr>
+<!--Window and Notification screenshots-->
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton0']/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-default</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-light</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>11,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-black</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>8,5</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-dialog</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton4']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-opaque</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>10,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td>
+ <td>46,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt0']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-humanized</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>214,15</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-warning</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>172,13</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-error</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>318,11</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-tray</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>66,9</td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html
new file mode 100644
index 0000000000..725d5bda74
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html
@@ -0,0 +1,432 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>runo_theme_test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">runo_theme_test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/ThemeTestUI?restartApplication&amp;theme=runo</td>
+ <td></td>
+</tr>
+<tr>
+ <td>setSpeed</td>
+ <td>150</td>
+ <td>150</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>labels</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[2]/div/div/div</td>
+ <td>31,8</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>buttons</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[3]/div/div/div</td>
+ <td>27,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>embedded</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[4]/div/div</td>
+ <td>33,24</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield0']/button</td>
+ <td>11,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-first-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[2]/div/div[3]/div/div</td>
+ <td>402,158</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield1']/button</td>
+ <td>14,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-second-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield2']/button</td>
+ <td>9,16</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-third-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='datefield3']/button</td>
+ <td>9,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>dates-fourth-popup</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[5]/div/div/div</td>
+ <td>35,2</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>textfields</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[6]/div/div/div</td>
+ <td>27,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select0']/div</td>
+ <td>9,11</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-first-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select1']/div</td>
+ <td>10,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-second-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select6']/div</td>
+ <td>7,13</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-third-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select7']/div</td>
+ <td>7,12</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>selects-fourth-open</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='select8']/div</td>
+ <td>9,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[7]/div/div/div</td>
+ <td>20,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>sliders</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[8]/div/div/div</td>
+ <td>18,5</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VVerticalLayout[0]</td>
+ <td>518,136</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>uploads</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[9]/div/div/div</td>
+ <td>18,10</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>forms</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[10]/div/div</td>
+ <td>22,25</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables</td>
+</tr>
+<tr>
+ <td>contextmenu</td>
+ <td>//div[@id='table0']/div[2]/div[1]/table/tbody/tr[2]/td[1]/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-contextmenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='table0']/div[1]/div[2]</td>
+ <td>12,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tables-collapsemenu</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[11]/div/div/div</td>
+ <td>28,3</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>trees</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[12]/div/div</td>
+ <td>52,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>treetable</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[13]/div/div</td>
+ <td>23,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>layouts</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[14]/div/div/div</td>
+ <td>24,1</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>tabsheets</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[15]/div/div/div</td>
+ <td>24,9</td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>accordions</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[16]/div/div/div</td>
+ <td>15,0</td>
+</tr>
+<!--Window and Notification screenshots-->
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton0']/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-default</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-light</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>11,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-black</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>8,5</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-dialog</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>9,6</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='windButton4']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>subwindow-opaque</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::/VWindow[0]/domChild[0]/domChild[0]/domChild[1]</td>
+ <td>10,7</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>//div[@id='testsampler']/div[1]/table/tbody/tr/td[17]/div/div</td>
+ <td>46,8</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt0']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-humanized</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>214,15</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt1']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-warning</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>172,13</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt2']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-error</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>318,11</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='notifButt3']/span/span</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>notification-tray</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runThemeTestUI::Root/VNotification[0]</td>
+ <td>66,9</td>
+</tr>
+</tbody></table>
+</body>
+</html>