summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebContent/VAADIN/themes/base/common/common.scss7
-rw-r--r--WebContent/VAADIN/themes/reindeer/tabsheet/tabsheet-minimal-style.scss12
-rw-r--r--client/src/com/vaadin/Vaadin.gwt.xml9
-rw-r--r--client/src/com/vaadin/client/ApplicationConnection.java148
-rw-r--r--client/src/com/vaadin/client/ConnectorMap.java4
-rw-r--r--client/src/com/vaadin/client/LayoutManager.java143
-rw-r--r--client/src/com/vaadin/client/LayoutManagerIE8.java5
-rw-r--r--client/src/com/vaadin/client/MeasuredSize.java18
-rw-r--r--client/src/com/vaadin/client/Profiler.java365
-rw-r--r--client/src/com/vaadin/client/VDebugConsole.java17
-rw-r--r--client/src/com/vaadin/client/WidgetSet.java4
-rw-r--r--client/src/com/vaadin/client/communication/JsonDecoder.java11
-rw-r--r--client/src/com/vaadin/client/ui/AbstractConnector.java29
-rw-r--r--client/src/com/vaadin/client/ui/VOverlay.java17
-rw-r--r--client/src/com/vaadin/client/ui/VUpload.java50
-rw-r--r--client/src/com/vaadin/client/ui/button/ButtonConnector.java2
-rw-r--r--client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java5
-rw-r--r--client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java54
-rw-r--r--client/src/com/vaadin/client/ui/link/LinkConnector.java17
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java32
-rw-r--r--server/src/com/vaadin/server/AbstractCommunicationManager.java17
-rw-r--r--server/src/com/vaadin/ui/AbstractComponent.java15
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java12
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java52
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java3534
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj73
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java85
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java2734
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/SCSSLexicalUnit.java3
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/parser/SCSSParseException.java34
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/FunctionNode.java6
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/MicrosoftRuleNode.java7
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/NestPropertiesNode.java7
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/RuleNode.java27
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/SimpleNode.java7
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/VariableNode.java8
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/tree/controldirective/IfNode.java9
-rw-r--r--theme-compiler/src/com/vaadin/sass/internal/util/StringUtil.java43
-rw-r--r--theme-compiler/tests/resources/automatic/css/expressions.css3
-rw-r--r--theme-compiler/tests/resources/automatic/css/mixin-multiple-params.css4
-rw-r--r--theme-compiler/tests/resources/automatic/css/negative-rem-value.css5
-rw-r--r--theme-compiler/tests/resources/automatic/css/selector-with-parenthesis.css5
-rw-r--r--theme-compiler/tests/resources/automatic/css/var-in-css-function.css4
-rw-r--r--theme-compiler/tests/resources/automatic/css/var-substring-match.css3
-rw-r--r--theme-compiler/tests/resources/automatic/scss/expressions.scss3
-rw-r--r--theme-compiler/tests/resources/automatic/scss/mixin-multiple-params.scss10
-rw-r--r--theme-compiler/tests/resources/automatic/scss/negative-rem-value.scss5
-rw-r--r--theme-compiler/tests/resources/automatic/scss/selector-with-parenthesis.scss11
-rw-r--r--theme-compiler/tests/resources/automatic/scss/var-in-css-function.scss15
-rw-r--r--theme-compiler/tests/resources/automatic/scss/var-substring-match.scss8
-rw-r--r--theme-compiler/tests/resources/basic/reindeer.css1
-rw-r--r--theme-compiler/tests/src/com/vaadin/sass/internal/util/StringUtilTest.java53
-rw-r--r--uitest/src/com/vaadin/tests/components/OutOfSyncTest.html38
-rw-r--r--uitest/src/com/vaadin/tests/components/OutOfSyncTest.java55
-rw-r--r--uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.html72
-rw-r--r--uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.java38
-rw-r--r--uitest/src/com/vaadin/tests/components/combobox/ComboBoxDataSourceChange.java4
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.html27
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.java44
-rw-r--r--uitest/src/com/vaadin/tests/components/table/SetDataSourceWithPropertyIds.java4
-rw-r--r--uitest/src/com/vaadin/tests/components/table/TableDragColumn.html4
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html10
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html12
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html10
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/reindeer_theme_test.html10
-rw-r--r--uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html10
-rw-r--r--uitest/src/com/vaadin/tests/components/upload/TestFileUpload.java21
-rw-r--r--uitest/src/com/vaadin/tests/overlays/OverlayTouchScrolling.java56
-rw-r--r--uitest/vaadin-server.xml4
69 files changed, 4212 insertions, 3959 deletions
diff --git a/WebContent/VAADIN/themes/base/common/common.scss b/WebContent/VAADIN/themes/base/common/common.scss
index fd4625606a..e7fdd3fe84 100644
--- a/WebContent/VAADIN/themes/base/common/common.scss
+++ b/WebContent/VAADIN/themes/base/common/common.scss
@@ -225,7 +225,12 @@ body &.v-app-loading {
/* Enable kinetic scrolling on Mobile Safari 6 */
.v-ios.v-sa6 & .v-scrollable {
- -webkit-overflow-scrolling: touch;
+ -webkit-overflow-scrolling: touch;
+}
+
+&.v-overlay-container {
+ width: 0;
+ height: 0;
}
} \ No newline at end of file
diff --git a/WebContent/VAADIN/themes/reindeer/tabsheet/tabsheet-minimal-style.scss b/WebContent/VAADIN/themes/reindeer/tabsheet/tabsheet-minimal-style.scss
index 989e1d3f5a..fe17d90e26 100644
--- a/WebContent/VAADIN/themes/reindeer/tabsheet/tabsheet-minimal-style.scss
+++ b/WebContent/VAADIN/themes/reindeer/tabsheet/tabsheet-minimal-style.scss
@@ -105,9 +105,15 @@
-moz-border-radius: 7px;
}
-.v-ie9 & .#{$primaryStyleName}-tabs-minimal .#{$primaryStyleName}-caption-close:only-child,
-.v-ie9 & .#{$primaryStyleName}-tabs-minimal .v-captiontext:first-child + .#{$primaryStyleName}-caption-close {
- margin-top: -14px;
+.v-ie9 & .#{$primaryStyleName}-tabs-minimal .#{$primaryStyleName}-tabitem .#{$primaryStyleName}-caption-close {
+ &, &:hover, &:active {
+
+ /* IE9 suffers from rounding subpixel values errors when measuring the tabs which makes the close button wrap. */
+ margin-left: 2.5px;
+
+ /* The close button is a pixel too high in IE9, adjust for that */
+ margin-top: 1px;
+ }
}
.#{$primaryStyleName}-tabs-minimal .#{$primaryStyleName}-caption-close:hover,
diff --git a/client/src/com/vaadin/Vaadin.gwt.xml b/client/src/com/vaadin/Vaadin.gwt.xml
index f7d1cf8410..dcc5b0d294 100644
--- a/client/src/com/vaadin/Vaadin.gwt.xml
+++ b/client/src/com/vaadin/Vaadin.gwt.xml
@@ -38,6 +38,15 @@
<when-type-assignable
class="com.vaadin.client.metadata.ConnectorBundleLoader" />
</generate-with>
+
+ <!-- Set vaadin.profiler to true to include profiling support in the module -->
+ <define-property name="vaadin.profiler" values="true,false" />
+ <set-property name="vaadin.profiler" value="false" />
+
+ <replace-with class="com.vaadin.client.Profiler.EnabledProfiler">
+ <when-type-is class="com.vaadin.client.Profiler" />
+ <when-property-is name="vaadin.profiler" value="true" />
+ </replace-with>
<!-- Use the new cross site linker to get a nocache.js without document.write -->
<add-linker name="xsiframe" />
diff --git a/client/src/com/vaadin/client/ApplicationConnection.java b/client/src/com/vaadin/client/ApplicationConnection.java
index 0171d541ea..44c7397655 100644
--- a/client/src/com/vaadin/client/ApplicationConnection.java
+++ b/client/src/com/vaadin/client/ApplicationConnection.java
@@ -1311,6 +1311,8 @@ public class ApplicationConnection {
return;
}
+ Profiler.reset();
+
VConsole.log("Handling message from server");
eventBus.fireEvent(new ResponseHandlingStartedEvent(this));
@@ -1384,8 +1386,7 @@ public class ApplicationConnection {
handleUIDLDuration.logDuration(" * Loading widgets completed",
10);
- MultiStepDuration updateDuration = new MultiStepDuration();
-
+ Profiler.enter("Handling locales");
if (json.containsKey("locales")) {
VConsole.log(" * Handling locales");
// Store locale data
@@ -1393,9 +1394,9 @@ public class ApplicationConnection {
.getJSValueMapArray("locales");
LocaleService.addLocales(valueMapArray);
}
+ Profiler.leave("Handling locales");
- updateDuration.logDuration(" * Handling locales completed", 10);
-
+ Profiler.enter("Handling meta information");
boolean repaintAll = false;
ValueMap meta = null;
if (json.containsKey("meta")) {
@@ -1422,9 +1423,7 @@ public class ApplicationConnection {
.getInt("interval");
}
}
-
- updateDuration.logDuration(
- " * Handling meta information completed", 10);
+ Profiler.leave("Handling meta information");
if (redirectTimer != null) {
redirectTimer.schedule(1000 * sessionExpirationInterval);
@@ -1432,34 +1431,21 @@ public class ApplicationConnection {
componentCaptionSizeChanges.clear();
- int startProcessing = updateDuration.elapsedMillis();
+ double processUidlStart = Duration.currentTimeMillis();
// Ensure that all connectors that we are about to update exist
Set<ServerConnector> createdConnectors = createConnectorsIfNeeded(json);
- updateDuration.logDuration(" * Creating connectors completed",
- 10);
-
// Update states, do not fire events
Collection<StateChangeEvent> pendingStateChangeEvents = updateConnectorState(
json, createdConnectors);
- updateDuration.logDuration(
- " * Update of connector states completed", 10);
-
// Update hierarchy, do not fire events
ConnectorHierarchyUpdateResult connectorHierarchyUpdateResult = updateConnectorHierarchy(json);
- updateDuration.logDuration(
- " * Update of connector hierarchy completed", 10);
-
// Fire hierarchy change events
sendHierarchyChangeEvents(connectorHierarchyUpdateResult.events);
- updateDuration.logDuration(
- " * Hierarchy state change event processing completed",
- 10);
-
updateCaptions(pendingStateChangeEvents,
connectorHierarchyUpdateResult.parentChanged);
@@ -1468,43 +1454,25 @@ public class ApplicationConnection {
// Fire state change events.
sendStateChangeEvents(pendingStateChangeEvents);
- updateDuration.logDuration(
- " * State change event processing completed", 10);
-
// Update of legacy (UIDL) style connectors
updateVaadin6StyleConnectors(json);
- updateDuration
- .logDuration(
- " * Vaadin 6 style connector updates (updateFromUidl) completed",
- 10);
-
// Handle any RPC invocations done on the server side
handleRpcInvocations(json);
- updateDuration.logDuration(
- " * Processing of RPC invocations completed", 10);
-
if (json.containsKey("dd")) {
// response contains data for drag and drop service
VDragAndDropManager.get().handleServerResponse(
json.getValueMap("dd"));
}
- updateDuration
- .logDuration(
- " * Processing of drag and drop server response completed",
- 10);
-
unregisterRemovedConnectors();
- updateDuration.logDuration(
- " * Unregistering of removed components completed", 10);
-
VConsole.log("handleUIDLMessage: "
- + (updateDuration.elapsedMillis() - startProcessing)
+ + (Duration.currentTimeMillis() - processUidlStart)
+ " ms");
+ Profiler.enter("Layout processing");
try {
LayoutManager layoutManager = getLayoutManager();
layoutManager.setEverythingNeedsMeasure();
@@ -1512,21 +1480,17 @@ public class ApplicationConnection {
} catch (final Throwable e) {
VConsole.error(e);
}
-
- updateDuration
- .logDuration(" * Layout processing completed", 10);
+ Profiler.leave("Layout processing");
if (ApplicationConfiguration.isDebugMode()) {
+ Profiler.enter("Dumping state changes to the console");
VConsole.log(" * Dumping state changes to the console");
VConsole.dirUIDL(json, ApplicationConnection.this);
-
- updateDuration
- .logDuration(
- " * Dumping state changes to the console completed",
- 10);
+ Profiler.leave("Dumping state changes to the console");
}
if (meta != null) {
+ Profiler.enter("Error handling");
if (meta.containsKey("appError")) {
ValueMap error = meta.getValueMap("appError");
@@ -1547,10 +1511,9 @@ public class ApplicationConnection {
validatingLayouts = false;
}
+ Profiler.leave("Error handling");
}
- updateDuration.logDuration(" * Error handling completed", 10);
-
// TODO build profiling for widget impl loading time
lastProcessingTime = (int) ((new Date().getTime()) - start
@@ -1564,11 +1527,18 @@ public class ApplicationConnection {
endRequest();
+ if (Profiler.isEnabled()) {
+ Profiler.logTimings();
+ Profiler.reset();
+ }
+
}
private void updateCaptions(
Collection<StateChangeEvent> pendingStateChangeEvents,
Collection<ServerConnector> parentChanged) {
+ Profiler.enter("updateCaptions");
+
/*
* Find all components that might need a caption update based on
* pending state and hierarchy changes
@@ -1589,15 +1559,21 @@ public class ApplicationConnection {
.delegateCaptionHandling()) {
ServerConnector parent = child.getParent();
if (parent instanceof HasComponentsConnector) {
+ Profiler.enter("HasComponentsConnector.updateCaption");
((HasComponentsConnector) parent)
.updateCaption((ComponentConnector) child);
+ Profiler.leave("HasComponentsConnector.updateCaption");
}
}
}
+
+ Profiler.leave("updateCaptions");
}
private void delegateToWidget(
Collection<StateChangeEvent> pendingStateChangeEvents) {
+ Profiler.enter("@DelegateToWidget");
+
VConsole.log(" * Running @DelegateToWidget");
for (StateChangeEvent sce : pendingStateChangeEvents) {
@@ -1618,12 +1594,16 @@ public class ApplicationConnection {
String method = property
.getDelegateToWidgetMethodName();
if (method != null) {
+ Profiler.enter("doDelegateToWidget");
doDelegateToWidget(component, property, method);
+ Profiler.leave("doDelegateToWidget");
}
}
}
}
+
+ Profiler.leave("@DelegateToWidget");
}
private void doDelegateToWidget(ComponentConnector component,
@@ -1661,6 +1641,7 @@ public class ApplicationConnection {
*/
private void sendStateChangeEvents(
Collection<StateChangeEvent> pendingStateChangeEvents) {
+ Profiler.enter("sendStateChangeEvents");
VConsole.log(" * Sending state change events");
for (StateChangeEvent sce : pendingStateChangeEvents) {
@@ -1671,9 +1652,12 @@ public class ApplicationConnection {
}
}
+ Profiler.leave("sendStateChangeEvents");
}
private void unregisterRemovedConnectors() {
+ Profiler.enter("unregisterRemovedConnectors");
+
int unregistered = 0;
JsArrayObject<ServerConnector> currentConnectors = connectorMap
.getConnectorsAsJsArray();
@@ -1703,6 +1687,7 @@ public class ApplicationConnection {
}
VConsole.log("* Unregistered " + unregistered + " connectors");
+ Profiler.leave("unregisterRemovedConnectors");
}
private Set<ServerConnector> createConnectorsIfNeeded(ValueMap json) {
@@ -1712,6 +1697,8 @@ public class ApplicationConnection {
return Collections.emptySet();
}
+ Profiler.enter("Creating connectors");
+
Set<ServerConnector> createdConnectors = new HashSet<ServerConnector>();
ValueMap types = json.getValueMap("types");
@@ -1733,7 +1720,10 @@ public class ApplicationConnection {
// Connector does not exist so we must create it
if (connectorClass != UIConnector.class) {
// create, initialize and register the paintable
+ Profiler.enter("ApplicationConnection.getConnector");
connector = getConnector(connectorId, connectorType);
+ Profiler.leave("ApplicationConnection.getConnector");
+
createdConnectors.add(connector);
} else {
// First UIConnector update. Before this the
@@ -1750,10 +1740,15 @@ public class ApplicationConnection {
VConsole.error(e);
}
}
+
+ Profiler.leave("Creating connectors");
+
return createdConnectors;
}
private void updateVaadin6StyleConnectors(ValueMap json) {
+ Profiler.enter("updateVaadin6StyleConnectors");
+
JsArray<ValueMap> changes = json.getJSValueMapArray("changes");
int length = changes.length();
@@ -1768,8 +1763,19 @@ public class ApplicationConnection {
final ComponentConnector legacyConnector = (ComponentConnector) connectorMap
.getConnector(connectorId);
if (legacyConnector instanceof Paintable) {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "updateFromUIDL for "
+ + Util.getSimpleName(legacyConnector);
+ Profiler.enter(key);
+ }
+
((Paintable) legacyConnector).updateFromUIDL(uidl,
ApplicationConnection.this);
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} else if (legacyConnector == null) {
VConsole.error("Received update for "
+ uidl.getTag()
@@ -1785,6 +1791,8 @@ public class ApplicationConnection {
VConsole.error(e);
}
}
+
+ Profiler.leave("updateVaadin6StyleConnectors");
}
private void sendHierarchyChangeEvents(
@@ -1792,6 +1800,7 @@ public class ApplicationConnection {
if (pendingHierarchyChangeEvents.isEmpty()) {
return;
}
+ Profiler.enter("sendHierarchyChangeEvents");
VConsole.log(" * Sending hierarchy change events");
for (ConnectorHierarchyChangeEvent event : pendingHierarchyChangeEvents) {
@@ -1803,6 +1812,7 @@ public class ApplicationConnection {
}
}
+ Profiler.leave("sendHierarchyChangeEvents");
}
private void logHierarchyChange(ConnectorHierarchyChangeEvent event) {
@@ -1835,6 +1845,9 @@ public class ApplicationConnection {
if (!json.containsKey("state")) {
return events;
}
+
+ Profiler.enter("updateConnectorState");
+
HashSet<ServerConnector> remainingNewConnectors = new HashSet<ServerConnector>(
newConnectors);
@@ -1847,6 +1860,11 @@ public class ApplicationConnection {
ServerConnector connector = connectorMap
.getConnector(connectorId);
if (null != connector) {
+ Profiler.enter("updateConnectorState inner loop");
+ if (Profiler.isEnabled()) {
+ Profiler.enter("Decode connector state "
+ + Util.getSimpleName(connector));
+ }
JSONObject stateJson = new JSONObject(
states.getJavaScriptObject(connectorId));
@@ -1859,10 +1877,19 @@ public class ApplicationConnection {
}
SharedState state = connector.getState();
+
+ Profiler.enter("updateConnectorState decodeValue");
JsonDecoder.decodeValue(new Type(state.getClass()
.getName(), null), stateJson, state,
ApplicationConnection.this);
+ Profiler.leave("updateConnectorState decodeValue");
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave("Decode connector state "
+ + Util.getSimpleName(connector));
+ }
+ Profiler.enter("updateConnectorState create event");
FastStringSet changedProperties = FastStringSet
.create();
addJsonFields(stateJson, changedProperties, "");
@@ -1880,6 +1907,9 @@ public class ApplicationConnection {
connector, changedProperties);
events.add(event);
+ Profiler.leave("updateConnectorState create event");
+
+ Profiler.leave("updateConnectorState inner loop");
}
} catch (final Throwable e) {
VConsole.error(e);
@@ -1899,6 +1929,8 @@ public class ApplicationConnection {
}
+ Profiler.leave("updateConnectorState");
+
return events;
}
@@ -1906,9 +1938,11 @@ public class ApplicationConnection {
FastStringSet fields;
fields = allStateFieldsCache.get(type.getBaseTypeName());
if (fields == null) {
+ Profiler.enter("getAllStateFields create");
fields = FastStringSet.create();
addAllStateFields(type, fields, "");
allStateFieldsCache.put(type.getBaseTypeName(), fields);
+ Profiler.leave("getAllStateFields create");
}
return fields;
}
@@ -1994,6 +2028,8 @@ public class ApplicationConnection {
return result;
}
+ Profiler.enter("updateConnectorHierarchy");
+
FastStringSet maybeDetached = FastStringSet.create();
ValueMap hierarchies = json.getValueMap("hierarchy");
@@ -2113,6 +2149,8 @@ public class ApplicationConnection {
recursivelyDetach(removed, result.events);
}
+ Profiler.leave("updateConnectorHierarchy");
+
return result;
}
@@ -2200,6 +2238,8 @@ public class ApplicationConnection {
private void handleRpcInvocations(ValueMap json) {
if (json.containsKey("rpc")) {
+ Profiler.enter("handleRpcInvocations");
+
VConsole.log(" * Performing server to client RPC calls");
JSONArray rpcCalls = new JSONArray(
@@ -2215,8 +2255,9 @@ public class ApplicationConnection {
VConsole.error(e);
}
}
- }
+ Profiler.leave("handleRpcInvocations");
+ }
}
};
@@ -2864,12 +2905,15 @@ public class ApplicationConnection {
*/
private ServerConnector createAndRegisterConnector(String connectorId,
int connectorType) {
+ Profiler.enter("ApplicationConnection.createAndRegisterConnector");
+
// Create and register a new connector with the given type
ServerConnector p = widgetSet.createConnector(connectorType,
configuration);
connectorMap.registerConnector(connectorId, p);
p.doInit(connectorId, this);
+ Profiler.leave("ApplicationConnection.createAndRegisterConnector");
return p;
}
diff --git a/client/src/com/vaadin/client/ConnectorMap.java b/client/src/com/vaadin/client/ConnectorMap.java
index 50df65397f..5f6053dd32 100644
--- a/client/src/com/vaadin/client/ConnectorMap.java
+++ b/client/src/com/vaadin/client/ConnectorMap.java
@@ -120,13 +120,17 @@ public class ConnectorMap {
}
public void registerConnector(String id, ServerConnector connector) {
+ Profiler.enter("ConnectorMap.registerConnector");
ComponentDetail componentDetail = GWT.create(ComponentDetail.class);
idToComponentDetail.put(id, componentDetail);
componentDetail.setConnector(connector);
if (connector instanceof ComponentConnector) {
ComponentConnector pw = (ComponentConnector) connector;
+ Profiler.enter("ConnectorMap.setConnectorId");
setConnectorId(pw.getWidget().getElement(), id);
+ Profiler.leave("ConnectorMap.setConnectorId");
}
+ Profiler.leave("ConnectorMap.registerConnector");
}
private static native void setConnectorId(Element el, String id)
diff --git a/client/src/com/vaadin/client/LayoutManager.java b/client/src/com/vaadin/client/LayoutManager.java
index d3366e86f3..14b155c92f 100644
--- a/client/src/com/vaadin/client/LayoutManager.java
+++ b/client/src/com/vaadin/client/LayoutManager.java
@@ -259,6 +259,7 @@ public class LayoutManager {
private void doLayout() {
VConsole.log("Starting layout phase");
+ Profiler.enter("LayoutManager phase init");
FastStringMap<Integer> layoutCounts = FastStringMap.create();
@@ -293,27 +294,30 @@ public class LayoutManager {
measureNonConnectors();
- VConsole.log("Layout init in " + totalDuration.elapsedMillis() + " ms");
+ Profiler.leave("LayoutManager phase init");
while (true) {
- Duration passDuration = new Duration();
+ Profiler.enter("Layout pass");
passes++;
performBrowserLayoutHacks();
+ Profiler.enter("Layout measure connectors");
int measuredConnectorCount = measureConnectors(
currentDependencyTree, everythingNeedsMeasure);
+ Profiler.leave("Layout measure connectors");
+
everythingNeedsMeasure = false;
if (measuredConnectorCount == 0) {
VConsole.log("No more changes in pass " + passes);
+ Profiler.leave("Layout pass");
break;
}
- int measureTime = passDuration.elapsedMillis();
- VConsole.log(" Measured " + measuredConnectorCount
- + " elements in " + measureTime + " ms");
-
+ int firedListeners = 0;
if (!listenersToFire.isEmpty()) {
+ firedListeners = listenersToFire.size();
+ Profiler.enter("Layout fire resize events");
for (Element element : listenersToFire) {
Collection<ElementResizeListener> listeners = elementResizeListeners
.get(element);
@@ -325,23 +329,33 @@ public class LayoutManager {
element);
for (ElementResizeListener listener : array) {
try {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "ElementReizeListener.onElementReize for "
+ + Util.getSimpleName(listener);
+ Profiler.enter(key);
+ }
+
listener.onElementResize(event);
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} catch (RuntimeException e) {
VConsole.error(e);
}
}
}
}
- int measureListenerTime = passDuration.elapsedMillis();
- VConsole.log(" Fired resize listeners for "
- + listenersToFire.size() + " elements in "
- + (measureListenerTime - measureTime) + " ms");
- measureTime = measuredConnectorCount;
listenersToFire.clear();
+
+ Profiler.leave("Layout fire resize events");
}
+ Profiler.enter("LayoutManager handle ManagedLayout");
+
FastStringSet updatedSet = FastStringSet.create();
+ int layoutCount = 0;
while (currentDependencyTree.hasHorizontalConnectorToLayout()
|| currentDependencyTree.hasVerticaConnectorToLayout()) {
@@ -356,7 +370,19 @@ public class LayoutManager {
.markAsHorizontallyLayouted(layout);
DirectionalManagedLayout cl = (DirectionalManagedLayout) layout;
try {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "layoutHorizontally() for "
+ + Util.getSimpleName(cl);
+ Profiler.enter(key);
+ }
+
cl.layoutHorizontally();
+ layoutCount++;
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} catch (RuntimeException e) {
VConsole.error(e);
}
@@ -367,7 +393,18 @@ public class LayoutManager {
currentDependencyTree.markAsVerticallyLayouted(layout);
SimpleManagedLayout rr = (SimpleManagedLayout) layout;
try {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "layout() for " + Util.getSimpleName(rr);
+ Profiler.enter(key);
+ }
+
rr.layout();
+ layoutCount++;
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} catch (RuntimeException e) {
VConsole.error(e);
}
@@ -388,7 +425,19 @@ public class LayoutManager {
currentDependencyTree.markAsVerticallyLayouted(layout);
DirectionalManagedLayout cl = (DirectionalManagedLayout) layout;
try {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "layoutHorizontally() for "
+ + Util.getSimpleName(cl);
+ Profiler.enter(key);
+ }
+
cl.layoutVertically();
+ layoutCount++;
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} catch (RuntimeException e) {
VConsole.error(e);
}
@@ -399,7 +448,18 @@ public class LayoutManager {
currentDependencyTree.markAsVerticallyLayouted(layout);
SimpleManagedLayout rr = (SimpleManagedLayout) layout;
try {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "layout() for " + Util.getSimpleName(rr);
+ Profiler.enter(key);
+ }
+
rr.layout();
+ layoutCount++;
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
} catch (RuntimeException e) {
VConsole.error(e);
}
@@ -411,14 +471,14 @@ public class LayoutManager {
}
}
+ Profiler.leave("LayoutManager handle ManagedLayout");
+
if (debugLogging) {
JsArrayString changedCids = updatedSet.dump();
StringBuilder b = new StringBuilder(" ");
b.append(changedCids.length());
- b.append(" requestLayout invocations in ");
- b.append(passDuration.elapsedMillis() - measureTime);
- b.append(" ms");
+ b.append(" requestLayout invocations ");
if (changedCids.length() < 30) {
for (int i = 0; i < changedCids.length(); i++) {
if (i != 0) {
@@ -439,8 +499,12 @@ public class LayoutManager {
VConsole.log(b.toString());
}
- VConsole.log("Pass " + passes + " completed in "
- + passDuration.elapsedMillis() + " ms");
+ Profiler.leave("Layout pass");
+
+ VConsole.log("Pass " + passes + " measured "
+ + measuredConnectorCount + " elements, fired "
+ + firedListeners + " listeners and did " + layoutCount
+ + " layouts.");
if (passes > 100) {
VConsole.log(LOOP_ABORT_MESSAGE);
@@ -455,23 +519,30 @@ public class LayoutManager {
}
}
- int postLayoutStart = totalDuration.elapsedMillis();
+ Profiler.enter("layout PostLayoutListener");
JsArrayObject<ComponentConnector> componentConnectors = connectorMap
.getComponentConnectorsAsJsArray();
int size = componentConnectors.size();
for (int i = 0; i < size; i++) {
ComponentConnector connector = componentConnectors.get(i);
if (connector instanceof PostLayoutListener) {
+ String key = null;
+ if (Profiler.isEnabled()) {
+ key = "layout PostLayoutListener for "
+ + Util.getSimpleName(connector);
+ Profiler.enter(key);
+ }
+
((PostLayoutListener) connector).postLayout();
+
+ if (Profiler.isEnabled()) {
+ Profiler.leave(key);
+ }
}
}
- int postLayoutDone = totalDuration.elapsedMillis();
- VConsole.log("Invoke post layout listeners in "
- + (postLayoutDone - postLayoutStart) + " ms");
+ Profiler.leave("layout PostLayoutListener");
cleanMeasuredSizes();
- int cleaningTime = (totalDuration.elapsedMillis() - postLayoutDone);
- VConsole.log("Cleaned old measured sizes in " + cleaningTime + "ms");
VConsole.log("Total layout phase time: "
+ totalDuration.elapsedMillis() + "ms");
@@ -485,13 +556,12 @@ public class LayoutManager {
private int measureConnectors(LayoutDependencyTree layoutDependencyTree,
boolean measureAll) {
+ Profiler.enter("Layout overflow fix handling");
JsArrayString pendingOverflowConnectorsIds = pendingOverflowFixes
.dump();
int pendingOverflowCount = pendingOverflowConnectorsIds.length();
ConnectorMap connectorMap = ConnectorMap.get(connection);
if (pendingOverflowCount > 0) {
- Duration duration = new Duration();
-
HashMap<Element, String> originalOverflows = new HashMap<Element, String>();
FastStringSet delayedOverflowFixes = FastStringSet.create();
@@ -523,6 +593,7 @@ public class LayoutManager {
+ Util.getConnectorString(componentConnector
.getParent()));
}
+ Profiler.enter("Overflow fix apply");
Element parentElement = componentConnector.getWidget()
.getElement().getParentElement();
@@ -537,6 +608,7 @@ public class LayoutManager {
}
style.setOverflow(Overflow.HIDDEN);
+ Profiler.leave("Overflow fix apply");
}
pendingOverflowFixes.removeAll(delayedOverflowFixes);
@@ -544,6 +616,7 @@ public class LayoutManager {
JsArrayString remainingOverflowFixIds = pendingOverflowFixes.dump();
int remainingCount = remainingOverflowFixIds.length();
+ Profiler.enter("Overflow fix reflow");
// Then ensure all scrolling elements are reflowed by measuring
for (int i = 0; i < remainingCount; i++) {
ComponentConnector componentConnector = (ComponentConnector) connectorMap
@@ -551,7 +624,9 @@ public class LayoutManager {
componentConnector.getWidget().getElement().getParentElement()
.getOffsetHeight();
}
+ Profiler.leave("Overflow fix reflow");
+ Profiler.enter("Overflow fix restore");
// Finally restore old overflow value and update bookkeeping
for (int i = 0; i < remainingCount; i++) {
String connectorId = remainingOverflowFixIds.get(i);
@@ -564,15 +639,19 @@ public class LayoutManager {
layoutDependencyTree.setNeedsMeasure(connectorId, true);
}
+ Profiler.leave("Overflow fix restore");
+
if (!pendingOverflowFixes.isEmpty()) {
VConsole.log("Did overflow fix for " + remainingCount
- + " elements in " + duration.elapsedMillis() + " ms");
+ + " elements");
}
pendingOverflowFixes = delayedOverflowFixes;
}
+ Profiler.leave("Layout overflow fix handling");
int measureCount = 0;
if (measureAll) {
+ Profiler.enter("Layout measureAll");
JsArrayObject<ComponentConnector> allConnectors = connectorMap
.getComponentConnectorsAsJsArray();
int size = allConnectors.size();
@@ -596,8 +675,11 @@ public class LayoutManager {
.getConnectorId(), false);
}
measureCount += connectorCount;
+
+ Profiler.leave("Layout measureAll");
}
+ Profiler.enter("Layout measure from tree");
while (layoutDependencyTree.hasConnectorsToMeasure()) {
JsArrayString measureTargets = layoutDependencyTree
.getMeasureTargetsJsArray();
@@ -613,10 +695,13 @@ public class LayoutManager {
layoutDependencyTree.setNeedsMeasure(connectorId, false);
}
}
+ Profiler.leave("Layout measure from tree");
+
return measureCount;
}
private void measureConnector(ComponentConnector connector) {
+ Profiler.enter("LayoutManager.measureConnector");
Element element = connector.getWidget().getElement();
MeasuredSize measuredSize = getMeasuredSize(connector);
MeasureResult measureResult = measuredAndUpdate(element, measuredSize);
@@ -625,10 +710,12 @@ public class LayoutManager {
onConnectorChange(connector, measureResult.isWidthChanged(),
measureResult.isHeightChanged());
}
+ Profiler.leave("LayoutManager.measureConnector");
}
private void onConnectorChange(ComponentConnector connector,
boolean widthChanged, boolean heightChanged) {
+ Profiler.enter("LayoutManager.onConnectorChange");
setNeedsOverflowFix(connector);
if (heightChanged) {
currentDependencyTree.markHeightAsChanged(connector);
@@ -636,6 +723,7 @@ public class LayoutManager {
if (widthChanged) {
currentDependencyTree.markWidthAsChanged(connector);
}
+ Profiler.leave("LayoutManager.onConnectorChange");
}
private void setNeedsOverflowFix(ComponentConnector connector) {
@@ -651,9 +739,11 @@ public class LayoutManager {
}
private void measureNonConnectors() {
+ Profiler.enter("LayoutManager.measureNonConenctors");
for (Element element : measuredNonConnectorElements) {
measuredAndUpdate(element, getMeasuredSize(element, null));
}
+ Profiler.leave("LayoutManager.measureNonConenctors");
VConsole.log("Measured " + measuredNonConnectorElements.size()
+ " non connector elements");
}
@@ -673,6 +763,8 @@ public class LayoutManager {
boolean widthChanged, boolean heightChanged) {
assert widthChanged || heightChanged;
+ Profiler.enter("LayoutManager.notifyListenersAndDepdendents");
+
MeasuredSize measuredSize = getMeasuredSize(element, nullSize);
JsArrayString dependents = measuredSize.getDependents();
for (int i = 0; i < dependents.length(); i++) {
@@ -689,6 +781,7 @@ public class LayoutManager {
if (elementResizeListeners.containsKey(element)) {
listenersToFire.add(element);
}
+ Profiler.leave("LayoutManager.notifyListenersAndDepdendents");
}
private static boolean isManagedLayout(ComponentConnector connector) {
diff --git a/client/src/com/vaadin/client/LayoutManagerIE8.java b/client/src/com/vaadin/client/LayoutManagerIE8.java
index b352e14dc6..a692f126a2 100644
--- a/client/src/com/vaadin/client/LayoutManagerIE8.java
+++ b/client/src/com/vaadin/client/LayoutManagerIE8.java
@@ -61,6 +61,7 @@ public class LayoutManagerIE8 extends LayoutManager {
@Override
protected void cleanMeasuredSizes() {
+ Profiler.enter("LayoutManager.cleanMeasuredSizes");
Document document = RootPanel.get().getElement().getOwnerDocument();
Iterator<Element> i = measuredSizes.keySet().iterator();
@@ -70,15 +71,19 @@ public class LayoutManagerIE8 extends LayoutManager {
i.remove();
}
}
+
+ Profiler.leave("LayoutManager.cleanMeasuredSizes");
}
@Override
protected void performBrowserLayoutHacks() {
+ Profiler.enter("LayoutManagerIE8.performBrowserLayoutHacks");
/*
* Fixes IE8 issues where IE8 sometimes forgets to update the size of
* the containing element. To force a reflow by modifying the magical
* zoom property.
*/
Util.forceIE8Redraw(RootPanel.get().getElement());
+ Profiler.leave("LayoutManagerIE8.performBrowserLayoutHacks");
}
}
diff --git a/client/src/com/vaadin/client/MeasuredSize.java b/client/src/com/vaadin/client/MeasuredSize.java
index e0928a1702..51da8570e6 100644
--- a/client/src/com/vaadin/client/MeasuredSize.java
+++ b/client/src/com/vaadin/client/MeasuredSize.java
@@ -185,11 +185,18 @@ public class MeasuredSize {
}
public MeasureResult measure(Element element) {
+ Profiler.enter("MeasuredSize.measure");
boolean heightChanged = false;
boolean widthChanged = false;
+ Profiler.enter("new ComputedStyle");
ComputedStyle computedStyle = new ComputedStyle(element);
int[] paddings = computedStyle.getPadding();
+ // Some browsers do not reflow until accessing data from the computed
+ // style object
+ Profiler.leave("new ComputedStyle");
+
+ Profiler.enter("Measure paddings");
if (!heightChanged && hasHeightChanged(this.paddings, paddings)) {
debugSizeChange(element, "Height (padding)", this.paddings,
paddings);
@@ -200,7 +207,9 @@ public class MeasuredSize {
widthChanged = true;
}
this.paddings = paddings;
+ Profiler.leave("Measure paddings");
+ Profiler.enter("Measure margins");
int[] margins = computedStyle.getMargin();
if (!heightChanged && hasHeightChanged(this.margins, margins)) {
debugSizeChange(element, "Height (margins)", this.margins, margins);
@@ -211,7 +220,9 @@ public class MeasuredSize {
widthChanged = true;
}
this.margins = margins;
+ Profiler.leave("Measure margins");
+ Profiler.enter("Measure borders");
int[] borders = computedStyle.getBorder();
if (!heightChanged && hasHeightChanged(this.borders, borders)) {
debugSizeChange(element, "Height (borders)", this.borders, borders);
@@ -222,7 +233,9 @@ public class MeasuredSize {
widthChanged = true;
}
this.borders = borders;
+ Profiler.leave("Measure borders");
+ Profiler.enter("Measure height");
int requiredHeight = Util.getRequiredHeight(element);
int marginHeight = sumHeights(margins);
int oldHeight = height;
@@ -231,13 +244,18 @@ public class MeasuredSize {
debugSizeChange(element, "Height (outer)", oldHeight, height);
heightChanged = true;
}
+ Profiler.leave("Measure height");
+ Profiler.enter("Measure width");
int requiredWidth = Util.getRequiredWidth(element);
int marginWidth = sumWidths(margins);
if (setOuterWidth(requiredWidth + marginWidth)) {
debugSizeChange(element, "Width (outer)", oldWidth, width);
widthChanged = true;
}
+ Profiler.leave("Measure width");
+
+ Profiler.leave("MeasuredSize.measure");
return new MeasureResult(widthChanged, heightChanged);
}
diff --git a/client/src/com/vaadin/client/Profiler.java b/client/src/com/vaadin/client/Profiler.java
new file mode 100644
index 0000000000..be26da859f
--- /dev/null
+++ b/client/src/com/vaadin/client/Profiler.java
@@ -0,0 +1,365 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.client;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.Map;
+
+import com.google.gwt.core.client.Duration;
+import com.google.gwt.core.client.JavaScriptObject;
+import com.google.gwt.core.client.JsArray;
+import com.google.gwt.core.shared.GWT;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Lightweight profiling tool that can be used to collect profiling data with
+ * zero overhead unless enabled. To enable profiling, add
+ * <code>&lt;set-property name="vaadin.profiler" value="true" /&gt;</code> to
+ * your .gwt.xml file.
+ *
+ * @author Vaadin Ltd
+ * @since 7.0.0
+ */
+public class Profiler {
+ /**
+ * Class to include using deferred binding to enable the profiling.
+ *
+ * @author Vaadin Ltd
+ * @since 7.0.0
+ */
+ public static class EnabledProfiler extends Profiler {
+ @Override
+ protected boolean isImplEnabled() {
+ return true;
+ }
+ }
+
+ private static JsArray<ProfilerEvent> events;
+
+ private static final class ProfilerEvent extends JavaScriptObject {
+ protected ProfilerEvent() {
+ // JSO constructor
+ }
+
+ public native String getName()
+ /*-{
+ return this.name;
+ }-*/;
+
+ private native double getRawTime()
+ /*-{
+ return this.time;
+ }-*/;
+
+ private boolean isStart() {
+ return getRawTime() <= 0;
+ }
+ }
+
+ private static class Node {
+
+ private final String name;
+ private final LinkedHashMap<String, Node> children = new LinkedHashMap<String, Node>();
+ private double time = 0;
+ private int count = 0;
+
+ public Node(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Node addEvent(ProfilerEvent event) {
+ Node child = children.get(event.getName());
+ if (child == null) {
+ child = new Node(event.getName());
+ children.put(event.getName(), child);
+ }
+ child.time += event.getRawTime();
+ child.count++;
+ return child;
+ }
+
+ public void registerEnd(ProfilerEvent event) {
+ time += event.getRawTime();
+ }
+
+ public double getTimeSpent() {
+ return time;
+ }
+
+ public int getCount() {
+ return count;
+ }
+
+ public double getOwnTime() {
+ double time = getTimeSpent();
+ for (Node node : children.values()) {
+ time -= node.getTimeSpent();
+ }
+ return time;
+ }
+
+ public Widget buildTree() {
+ String message = getStringRepresentation("");
+
+ if (getName() == null || !children.isEmpty()) {
+ SimpleTree tree = new SimpleTree(message);
+ for (Node node : children.values()) {
+ Widget child = node.buildTree();
+ tree.add(child);
+ }
+ return tree;
+ } else {
+ return new Label(message);
+ }
+ }
+
+ public void buildRecursiveString(StringBuilder builder, String prefix) {
+ if (getName() != null) {
+ String msg = getStringRepresentation(prefix);
+ builder.append(msg + '\n');
+ }
+ String childPrefix = prefix + "*";
+ for (Node node : children.values()) {
+ node.buildRecursiveString(builder, childPrefix);
+ }
+ }
+
+ private String getStringRepresentation(String prefix) {
+ if (getName() == null) {
+ return "";
+ }
+ String msg = prefix + " " + getName() + " in " + getTimeSpent()
+ + " ms.";
+ if (getCount() > 1) {
+ msg += " Invoked "
+ + getCount()
+ + " times ("
+ + roundToSignificantFigures(getTimeSpent() / getCount())
+ + " ms per time).";
+ }
+ if (!children.isEmpty()) {
+ double ownTime = getOwnTime();
+ msg += " " + ownTime + " ms spent in own code";
+ if (getCount() > 1) {
+ msg += " ("
+ + roundToSignificantFigures(ownTime / getCount())
+ + " ms per time)";
+ }
+ msg += '.';
+ }
+ return msg;
+ }
+
+ public static double roundToSignificantFigures(double num) {
+ // Number of significant digits
+ int n = 3;
+ if (num == 0) {
+ return 0;
+ }
+
+ final double d = Math.ceil(Math.log10(num < 0 ? -num : num));
+ final int power = n - (int) d;
+
+ final double magnitude = Math.pow(10, power);
+ final long shifted = Math.round(num * magnitude);
+ return shifted / magnitude;
+ }
+
+ public void sumUpTotals(Map<String, Node> totals) {
+ String name = getName();
+ if (name != null) {
+ Node totalNode = totals.get(name);
+ if (totalNode == null) {
+ totalNode = new Node(name);
+ totals.put(name, totalNode);
+ }
+
+ totalNode.time += getOwnTime();
+ totalNode.count += getCount();
+ }
+ for (Node node : children.values()) {
+ node.sumUpTotals(totals);
+ }
+ }
+ }
+
+ /**
+ * Checks whether the profiling gathering is enabled.
+ *
+ * @return <code>true</code> if the profiling is enabled, else
+ * <code>false</code>
+ */
+ public static boolean isEnabled() {
+ // This will be fully inlined by the compiler
+ Profiler create = GWT.create(Profiler.class);
+ return create.isImplEnabled();
+ }
+
+ /**
+ * Enters a named block. There should always be a matching invocation of
+ * {@link #leave(String)} when leaving the block. Calls to this method will
+ * be removed by the compiler unless profiling is enabled.
+ *
+ * @param name
+ * the name of the entered block
+ */
+ public static void enter(String name) {
+ if (isEnabled()) {
+ pushEvent(events, name, -Duration.currentTimeMillis());
+ }
+ }
+
+ /**
+ * Leaves a named block. There should always be a matching invocation of
+ * {@link #enter(String)} when entering the block. Calls to this method will
+ * be removed by the compiler unless profiling is enabled.
+ *
+ * @param name
+ * the name of the left block
+ */
+ public static void leave(String name) {
+ if (isEnabled()) {
+ pushEvent(events, name, Duration.currentTimeMillis());
+ }
+ }
+
+ private static native final void pushEvent(JsArray<ProfilerEvent> target,
+ String name, double time)
+ /*-{
+ target[target.length] = {name: name, time: time};
+ }-*/;
+
+ /**
+ * Resets the collected profiler data. Calls to this method will be removed
+ * by the compiler unless profiling is enabled.
+ */
+ public static void reset() {
+ if (isEnabled()) {
+ events = JavaScriptObject.createArray().cast();
+ }
+ }
+
+ /**
+ * Outputs the gathered profiling data to the debug console.
+ */
+ public static void logTimings() {
+ if (!isEnabled()) {
+ VConsole.log("Profiler is not enabled, no data has been collected.");
+ return;
+ }
+
+ LinkedList<Node> stack = new LinkedList<Node>();
+ Node rootNode = new Node(null);
+ stack.add(rootNode);
+ for (int i = 0; i < events.length(); i++) {
+ ProfilerEvent event = events.get(i);
+ if (event.isStart()) {
+ Node stackTop = stack.getLast().addEvent(event);
+ stack.add(stackTop);
+ } else {
+ Node stackTop = stack.removeLast();
+ if (stackTop == null) {
+ VConsole.error("Leaving " + event.getName()
+ + " that was never entered.");
+ return;
+ }
+ if (!stackTop.getName().equals(event.getName())) {
+ VConsole.error("Invalid profiling event order, leaving "
+ + event.getName() + " but " + stackTop.getName()
+ + " was expected");
+ return;
+ }
+ stackTop.registerEnd(event);
+ }
+ }
+
+ if (stack.size() != 1) {
+ VConsole.log("Not all nodes are left, the last node is "
+ + stack.getLast().getName());
+ return;
+ }
+
+ StringBuilder stringBuilder = new StringBuilder();
+ rootNode.buildRecursiveString(stringBuilder, "");
+ Console implementation = VConsole.getImplementation();
+ if (implementation instanceof VDebugConsole) {
+ VDebugConsole console = (VDebugConsole) implementation;
+
+ SimpleTree tree = (SimpleTree) stack.getFirst().buildTree();
+ tree.setText("Profiler data");
+
+ console.showTree(tree, stringBuilder.toString());
+ } else {
+ VConsole.log(stringBuilder.toString());
+ }
+
+ Map<String, Node> totals = new HashMap<String, Node>();
+ rootNode.sumUpTotals(totals);
+
+ ArrayList<Node> totalList = new ArrayList<Node>(totals.values());
+ Collections.sort(totalList, new Comparator<Node>() {
+ @Override
+ public int compare(Node o1, Node o2) {
+ return (int) (o2.getTimeSpent() - o1.getTimeSpent());
+ }
+ });
+
+ double total = 0;
+ double top20total = 0;
+ for (int i = 0; i < totalList.size(); i++) {
+ Node node = totalList.get(i);
+ double timeSpent = node.getTimeSpent();
+ total += timeSpent;
+ if (i < 20) {
+ top20total += timeSpent;
+ }
+ }
+
+ VConsole.log("Largest individual contributors using " + top20total
+ + " ms out of " + total + " ms");
+ for (int i = 0; i < 20 && i < totalList.size(); i++) {
+ Node node = totalList.get(i);
+ double timeSpent = node.getTimeSpent();
+ total += timeSpent;
+ VConsole.log(" * " + node.getName() + ": " + timeSpent + " ms in "
+ + node.getCount() + " invokations.");
+ }
+
+ }
+
+ /**
+ * Overridden in {@link EnabledProfiler} to make {@link #isEnabled()} return
+ * true if GWT.create returns that class.
+ *
+ * @return <code>true</code> if the profiling is enabled, else
+ * <code>false</code>
+ */
+ protected boolean isImplEnabled() {
+ return false;
+ }
+
+}
diff --git a/client/src/com/vaadin/client/VDebugConsole.java b/client/src/com/vaadin/client/VDebugConsole.java
index 2739273fce..ee7505876d 100644
--- a/client/src/com/vaadin/client/VDebugConsole.java
+++ b/client/src/com/vaadin/client/VDebugConsole.java
@@ -513,6 +513,23 @@ public class VDebugConsole extends VOverlay implements Console {
// consoleLog(u.getChildrenAsXML());
}
+ /**
+ * Adds a {@link SimpleTree} to the console and prints a string
+ * representation of the tree structure to the text console.
+ *
+ * @param tree
+ * the simple tree to display in the console window
+ * @param stringRepresentation
+ * the string representation of the tree to output to the text
+ * console
+ */
+ public void showTree(SimpleTree tree, String stringRepresentation) {
+ if (panel.isAttached()) {
+ panel.add(tree);
+ }
+ consoleLog(stringRepresentation);
+ }
+
private static native void consoleDir(ValueMap u)
/*-{
if($wnd.console && $wnd.console.log) {
diff --git a/client/src/com/vaadin/client/WidgetSet.java b/client/src/com/vaadin/client/WidgetSet.java
index 8efdd1dee4..34e18a5e4e 100644
--- a/client/src/com/vaadin/client/WidgetSet.java
+++ b/client/src/com/vaadin/client/WidgetSet.java
@@ -47,6 +47,7 @@ public class WidgetSet {
* some hacks. Extra instantiation code is needed if client side
* connector has no "native" counterpart on client side.
*/
+ Profiler.enter("WidgetSet.createConnector");
Class<? extends ServerConnector> classType = resolveInheritedConnectorType(
conf, tag);
@@ -56,6 +57,7 @@ public class WidgetSet {
UnknownComponentConnector c = GWT
.create(UnknownComponentConnector.class);
c.setServerSideClassName(serverSideName);
+ Profiler.leave("WidgetSet.createConnector");
return c;
} else {
/*
@@ -68,8 +70,10 @@ public class WidgetSet {
((HasJavaScriptConnectorHelper) connector)
.getJavascriptConnectorHelper().setTag(tag);
}
+ Profiler.leave("WidgetSet.createConnector");
return connector;
} catch (NoDataException e) {
+ Profiler.leave("WidgetSet.createConnector");
throw new IllegalStateException(
"There is no information about "
+ classType
diff --git a/client/src/com/vaadin/client/communication/JsonDecoder.java b/client/src/com/vaadin/client/communication/JsonDecoder.java
index d4d71b3bc4..e1ee1fd7b7 100644
--- a/client/src/com/vaadin/client/communication/JsonDecoder.java
+++ b/client/src/com/vaadin/client/communication/JsonDecoder.java
@@ -32,6 +32,7 @@ import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.ConnectorMap;
import com.vaadin.client.FastStringSet;
import com.vaadin.client.JsArrayObject;
+import com.vaadin.client.Profiler;
import com.vaadin.client.metadata.NoDataException;
import com.vaadin.client.metadata.Property;
import com.vaadin.client.metadata.Type;
@@ -128,20 +129,24 @@ public class JsonDecoder {
private static Object decodeObject(Type type, JSONValue jsonValue,
Object target, ApplicationConnection connection) {
+ Profiler.enter("JsonDecoder.decodeObject");
JSONSerializer<Object> serializer = (JSONSerializer<Object>) type
.findSerializer();
if (serializer != null) {
if (target != null && serializer instanceof DiffJSONSerializer<?>) {
DiffJSONSerializer<Object> diffSerializer = (DiffJSONSerializer<Object>) serializer;
diffSerializer.update(target, type, jsonValue, connection);
+ Profiler.leave("JsonDecoder.decodeObject");
return target;
} else {
Object object = serializer.deserialize(type, jsonValue,
connection);
+ Profiler.leave("JsonDecoder.decodeObject");
return object;
}
} else {
try {
+ Profiler.enter("JsonDecoder.decodeObject meta data processing");
JsArrayObject<Property> properties = type
.getPropertiesAsArray();
if (target == null) {
@@ -167,12 +172,18 @@ public class JsonDecoder {
propertyReference = null;
}
+ Profiler.leave("JsonDecoder.decodeObject meta data processing");
Object decodedValue = decodeValue(propertyType,
encodedPropertyValue, propertyReference, connection);
+ Profiler.enter("JsonDecoder.decodeObject meta data processing");
property.setValue(target, decodedValue);
}
+ Profiler.leave("JsonDecoder.decodeObject meta data processing");
+ Profiler.leave("JsonDecoder.decodeObject");
return target;
} catch (NoDataException e) {
+ Profiler.leave("JsonDecoder.decodeObject meta data processing");
+ Profiler.leave("JsonDecoder.decodeObject");
throw new RuntimeException("Can not deserialize "
+ type.getSignature(), e);
}
diff --git a/client/src/com/vaadin/client/ui/AbstractConnector.java b/client/src/com/vaadin/client/ui/AbstractConnector.java
index f9c74cc5c9..32f5370dc3 100644
--- a/client/src/com/vaadin/client/ui/AbstractConnector.java
+++ b/client/src/com/vaadin/client/ui/AbstractConnector.java
@@ -18,9 +18,7 @@ package com.vaadin.client.ui;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import com.google.gwt.core.client.JsArrayString;
@@ -29,6 +27,7 @@ import com.google.gwt.event.shared.HandlerManager;
import com.google.web.bindery.event.shared.HandlerRegistration;
import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.FastStringMap;
+import com.vaadin.client.Profiler;
import com.vaadin.client.ServerConnector;
import com.vaadin.client.Util;
import com.vaadin.client.VConsole;
@@ -110,11 +109,19 @@ public abstract class AbstractConnector implements ServerConnector,
@Override
public final void doInit(String connectorId,
ApplicationConnection connection) {
+ Profiler.enter("AbstractConnector.doInit");
this.connection = connection;
id = connectorId;
addStateChangeHandler(this);
+ if (Profiler.isEnabled()) {
+ Profiler.enter("AbstractConnector.init " + Util.getSimpleName(this));
+ }
init();
+ if (Profiler.isEnabled()) {
+ Profiler.leave("AbstractConnector.init " + Util.getSimpleName(this));
+ }
+ Profiler.leave("AbstractConnector.doInit");
}
/**
@@ -200,6 +207,12 @@ public abstract class AbstractConnector implements ServerConnector,
@Override
public void fireEvent(GwtEvent<?> event) {
+ String profilerKey = null;
+ if (Profiler.isEnabled()) {
+ profilerKey = "Fire " + Util.getSimpleName(event) + " for "
+ + Util.getSimpleName(this);
+ Profiler.enter(profilerKey);
+ }
if (handlerManager != null) {
handlerManager.fireEvent(event);
}
@@ -214,6 +227,10 @@ public abstract class AbstractConnector implements ServerConnector,
}
}
}
+ if (Profiler.isEnabled()) {
+ Profiler.leave(profilerKey);
+ }
+
}
protected HandlerManager ensureHandlerManager() {
@@ -263,6 +280,7 @@ public abstract class AbstractConnector implements ServerConnector,
@Override
public void onStateChanged(StateChangeEvent stateChangeEvent) {
+ Profiler.enter("AbstractConnector.onStateChanged");
if (debugLogging) {
VConsole.log("State change event for "
+ Util.getConnectorString(stateChangeEvent.getConnector())
@@ -270,6 +288,7 @@ public abstract class AbstractConnector implements ServerConnector,
}
updateEnabledState(isEnabled());
+ Profiler.leave("AbstractConnector.onStateChanged");
}
/*
@@ -296,7 +315,9 @@ public abstract class AbstractConnector implements ServerConnector,
@Override
public SharedState getState() {
if (state == null) {
+ Profiler.enter("AbstractConnector.createState()");
state = createState();
+ Profiler.leave("AbstractConnector.createState()");
}
return state;
@@ -394,10 +415,6 @@ public abstract class AbstractConnector implements ServerConnector,
* {@link com.vaadin.terminal.AbstractClientConnector#setResource(String, com.vaadin.terminal.Resource)}
* with the same key. <code>null</code> is returned if no corresponding
* resource is found.
- * <p>
- * To get an event when a resource changes, you can use
- * {@link #addStateChangeHandler(String, StateChangeHandler)} with
- * <code>resources.[key]</code> as the property name.
*
* @param key
* a string identifying the resource.
diff --git a/client/src/com/vaadin/client/ui/VOverlay.java b/client/src/com/vaadin/client/ui/VOverlay.java
index 83abccf2bb..d35201460e 100644
--- a/client/src/com/vaadin/client/ui/VOverlay.java
+++ b/client/src/com/vaadin/client/ui/VOverlay.java
@@ -112,21 +112,27 @@ public class VOverlay extends PopupPanel implements CloseHandler<PopupPanel> {
private static int topFix = -1;
- /*
+ /**
* Shadow element style. If an extending class wishes to use a different
* style of shadow, it can use setShadowStyle(String) to give the shadow
* element a new style name.
*/
public static final String CLASSNAME_SHADOW = "v-shadow";
+ /**
+ * Style name for the overlay container element (see
+ * {@link #getOverlayContainer()}
+ */
+ public static final String CLASSNAME_CONTAINER = "v-overlay-container";
+
/*
* The shadow element for this overlay.
*/
private Element shadow;
/*
- * Creator of VOverlow (widget that made the instance, not the layout
- * parent)
+ * The creator of this VOverlay (the widget that made the instance, not the
+ * layout parent)
*/
private Widget owner;
@@ -650,7 +656,7 @@ public class VOverlay extends PopupPanel implements CloseHandler<PopupPanel> {
if (ac == null) {
// could not figure out which one we belong to, styling will
// probably fail
- VConsole.error("Could not determin ApplicationConnection for Overlay. Overlay will be attached directly to the root panel");
+ VConsole.error("Could not determine ApplicationConnection for Overlay. Overlay will be attached directly to the root panel");
return RootPanel.get().getElement();
} else {
return getOverlayContainer(ac);
@@ -676,7 +682,8 @@ public class VOverlay extends PopupPanel implements CloseHandler<PopupPanel> {
container.setId(id);
String styles = ac.getUIConnector().getWidget().getParent()
.getStyleName();
- container.setClassName(styles);
+ container.addClassName(styles);
+ container.addClassName(CLASSNAME_CONTAINER);
RootPanel.get().getElement().appendChild(container);
}
return container;
diff --git a/client/src/com/vaadin/client/ui/VUpload.java b/client/src/com/vaadin/client/ui/VUpload.java
index f639e8f090..866a6ca4cf 100644
--- a/client/src/com/vaadin/client/ui/VUpload.java
+++ b/client/src/com/vaadin/client/ui/VUpload.java
@@ -18,6 +18,7 @@ package com.vaadin.client.ui;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.FormElement;
@@ -257,6 +258,32 @@ public class VUpload extends SimplePanel {
});
}
+ ScheduledCommand startUploadCmd = new ScheduledCommand() {
+
+ @Override
+ public void execute() {
+ element.submit();
+ submitted = true;
+
+ disableUpload();
+
+ /*
+ * Visit server a moment after upload has started to see possible
+ * changes from UploadStarted event. Will be cleared on complete.
+ */
+ t = new Timer() {
+ @Override
+ public void run() {
+ VConsole.log("Visiting server to see if upload started event changed UI.");
+ client.updateVariable(paintableId, "pollForStart",
+ nextUploadId, true);
+ }
+ };
+ t.schedule(800);
+ }
+
+ };
+
/** For internal use only. May be removed or replaced in the future. */
public void submit() {
if (fu.getFilename().length() == 0 || submitted || !enabled) {
@@ -267,25 +294,10 @@ public class VUpload extends SimplePanel {
// before upload
client.sendPendingVariableChanges();
- element.submit();
- submitted = true;
- VConsole.log("Submitted form");
-
- disableUpload();
-
- /*
- * Visit server a moment after upload has started to see possible
- * changes from UploadStarted event. Will be cleared on complete.
- */
- t = new Timer() {
- @Override
- public void run() {
- VConsole.log("Visiting server to see if upload started event changed UI.");
- client.updateVariable(paintableId, "pollForStart",
- nextUploadId, true);
- }
- };
- t.schedule(800);
+ // This is done as deferred because sendPendingVariableChanges is also
+ // deferred and we want to start the upload only after the changes have
+ // been sent to the server
+ Scheduler.get().scheduleDeferred(startUploadCmd);
}
@Override
diff --git a/client/src/com/vaadin/client/ui/button/ButtonConnector.java b/client/src/com/vaadin/client/ui/button/ButtonConnector.java
index 0439cd4fdc..9733d206c7 100644
--- a/client/src/com/vaadin/client/ui/button/ButtonConnector.java
+++ b/client/src/com/vaadin/client/ui/button/ButtonConnector.java
@@ -77,7 +77,7 @@ public class ButtonConnector extends AbstractComponentConnector implements
}
});
- addStateChangeHandler("resources.icon", new StateChangeHandler() {
+ addStateChangeHandler("resources", new StateChangeHandler() {
@Override
public void onStateChanged(StateChangeEvent stateChangeEvent) {
if (getIcon() != null) {
diff --git a/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java b/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java
index 280e44a9b5..ffc146ad04 100644
--- a/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java
+++ b/client/src/com/vaadin/client/ui/dd/VDragAndDropManager.java
@@ -37,6 +37,7 @@ import com.google.gwt.user.client.ui.Widget;
import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.ComponentConnector;
import com.vaadin.client.MouseEventDetailsBuilder;
+import com.vaadin.client.Profiler;
import com.vaadin.client.UIDL;
import com.vaadin.client.Util;
import com.vaadin.client.VConsole;
@@ -659,6 +660,8 @@ public class VDragAndDropManager {
if (serverCallback == null) {
return;
}
+ Profiler.enter("VDragAndDropManager.handleServerResponse");
+
UIDL uidl = (UIDL) valueMap.cast();
int visitId = uidl.getIntAttribute("visitId");
@@ -668,6 +671,8 @@ public class VDragAndDropManager {
serverCallback = null;
}
runDeferredCommands();
+
+ Profiler.leave("VDragAndDropManager.handleServerResponse");
}
private void runDeferredCommands() {
diff --git a/client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java b/client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java
index 4c46846d14..2ce45623d0 100644
--- a/client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java
+++ b/client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java
@@ -410,41 +410,73 @@ public class LayoutDependencyTree {
public void setNeedsMeasure(ComponentConnector connector,
boolean needsMeasure) {
- setNeedsMeasure(connector.getConnectorId(), needsMeasure);
+ setNeedsHorizontalMeasure(connector, needsMeasure);
+ setNeedsVerticalMeasure(connector, needsMeasure);
}
public void setNeedsMeasure(String connectorId, boolean needsMeasure) {
- setNeedsHorizontalMeasure(connectorId, needsMeasure);
- setNeedsVerticalMeasure(connectorId, needsMeasure);
+ ComponentConnector connector = (ComponentConnector) ConnectorMap.get(
+ connection).getConnector(connectorId);
+ if (connector == null) {
+ return;
+ }
+
+ setNeedsMeasure(connector, needsMeasure);
}
public void setNeedsHorizontalMeasure(ComponentConnector connector,
boolean needsMeasure) {
- setNeedsHorizontalMeasure(connector.getConnectorId(), needsMeasure);
+ LayoutDependency dependency = getDependency(connector, HORIZONTAL);
+ dependency.setNeedsMeasure(needsMeasure);
}
public void setNeedsHorizontalMeasure(String connectorId,
boolean needsMeasure) {
- LayoutDependency dependency = getDependency(connectorId, HORIZONTAL);
- dependency.setNeedsMeasure(needsMeasure);
+ // Ensure connector exists
+ ComponentConnector connector = (ComponentConnector) ConnectorMap.get(
+ connection).getConnector(connectorId);
+ if (connector == null) {
+ return;
+ }
+
+ setNeedsHorizontalMeasure(connector, needsMeasure);
}
public void setNeedsVerticalMeasure(ComponentConnector connector,
boolean needsMeasure) {
- setNeedsVerticalMeasure(connector.getConnectorId(), needsMeasure);
+ LayoutDependency dependency = getDependency(connector, VERTICAL);
+ dependency.setNeedsMeasure(needsMeasure);
}
public void setNeedsVerticalMeasure(String connectorId, boolean needsMeasure) {
- LayoutDependency dependency = getDependency(connectorId, VERTICAL);
- dependency.setNeedsMeasure(needsMeasure);
+ // Ensure connector exists
+ ComponentConnector connector = (ComponentConnector) ConnectorMap.get(
+ connection).getConnector(connectorId);
+ if (connector == null) {
+ return;
+ }
+
+ setNeedsVerticalMeasure(connector, needsMeasure);
+ }
+
+ private LayoutDependency getDependency(ComponentConnector connector,
+ int direction) {
+ return getDependency(connector.getConnectorId(), connector, direction);
}
private LayoutDependency getDependency(String connectorId, int direction) {
+ return getDependency(connectorId, null, direction);
+ }
+
+ private LayoutDependency getDependency(String connectorId,
+ ComponentConnector connector, int direction) {
FastStringMap<LayoutDependency> dependencies = dependenciesInDirection[direction];
LayoutDependency dependency = dependencies.get(connectorId);
if (dependency == null) {
- ComponentConnector connector = (ComponentConnector) ConnectorMap
- .get(connection).getConnector(connectorId);
+ if (connector == null) {
+ connector = (ComponentConnector) ConnectorMap.get(connection)
+ .getConnector(connectorId);
+ }
dependency = new LayoutDependency(connector, direction);
dependencies.put(connectorId, dependency);
}
diff --git a/client/src/com/vaadin/client/ui/link/LinkConnector.java b/client/src/com/vaadin/client/ui/link/LinkConnector.java
index 59d24ce986..807a9bcc64 100644
--- a/client/src/com/vaadin/client/ui/link/LinkConnector.java
+++ b/client/src/com/vaadin/client/ui/link/LinkConnector.java
@@ -38,16 +38,13 @@ public class LinkConnector extends AbstractComponentConnector implements
@Override
protected void init() {
super.init();
- addStateChangeHandler("resources." + LinkConstants.HREF_RESOURCE,
- new StateChangeHandler() {
- @Override
- public void onStateChanged(StateChangeEvent stateChangeEvent) {
- getWidget().src = getResourceUrl(LinkConstants.HREF_RESOURCE);
- getWidget().anchor
- .setAttribute("href", getWidget().src);
-
- }
- });
+ addStateChangeHandler("resources", new StateChangeHandler() {
+ @Override
+ public void onStateChanged(StateChangeEvent stateChangeEvent) {
+ getWidget().src = getResourceUrl(LinkConstants.HREF_RESOURCE);
+ getWidget().anchor.setAttribute("href", getWidget().src);
+ }
+ });
}
@Override
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
index afe81c79a0..50de8e0936 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
@@ -23,6 +23,7 @@ import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.ComponentConnector;
import com.vaadin.client.ConnectorHierarchyChangeEvent;
import com.vaadin.client.LayoutManager;
+import com.vaadin.client.Profiler;
import com.vaadin.client.ServerConnector;
import com.vaadin.client.Util;
import com.vaadin.client.communication.StateChangeEvent;
@@ -197,6 +198,12 @@ public abstract class AbstractOrderedLayoutConnector extends
private boolean hasChildrenWithRelativeHeight = false;
/**
+ * Keep track of whether any child is middle aligned. Used to determine if
+ * measurements are needed to make middle aligned children work.
+ */
+ private boolean hasChildrenWithMiddleAlignment = false;
+
+ /**
* Keeps track of whether slots should be expanded based on available space.
*/
private boolean needsExpand = false;
@@ -275,6 +282,7 @@ public abstract class AbstractOrderedLayoutConnector extends
*/
@Override
public void onConnectorHierarchyChange(ConnectorHierarchyChangeEvent event) {
+ Profiler.enter("AOLC.onConnectorHierarchyChange");
List<ComponentConnector> previousChildren = event.getOldChildren();
int currentIndex = 0;
@@ -283,14 +291,22 @@ public abstract class AbstractOrderedLayoutConnector extends
layout.setSpacing(getState().spacing);
for (ComponentConnector child : getChildComponents()) {
+ Profiler.enter("AOLC.onConnectorHierarchyChange add children");
Slot slot = layout.getSlot(child.getWidget());
if (slot.getParent() != layout) {
+ Profiler.enter("AOLC.onConnectorHierarchyChange add state change handler");
child.addStateChangeHandler(childStateChangeHandler);
+ Profiler.leave("AOLC.onConnectorHierarchyChange add state change handler");
}
+ Profiler.enter("AOLC.onConnectorHierarchyChange addOrMoveSlot");
layout.addOrMoveSlot(slot, currentIndex++);
+ Profiler.leave("AOLC.onConnectorHierarchyChange addOrMoveSlot");
+
+ Profiler.leave("AOLC.onConnectorHierarchyChange add children");
}
for (ComponentConnector child : previousChildren) {
+ Profiler.enter("AOLC.onConnectorHierarchyChange remove children");
if (child.getParent() != this) {
Slot slot = layout.getSlot(child.getWidget());
slot.setWidgetResizeListener(null);
@@ -303,7 +319,9 @@ public abstract class AbstractOrderedLayoutConnector extends
child.removeStateChangeHandler(childStateChangeHandler);
layout.removeWidget(child.getWidget());
}
+ Profiler.leave("AOL.onConnectorHierarchyChange remove children");
}
+ Profiler.leave("AOLC.onConnectorHierarchyChange");
updateInternalState();
}
@@ -336,10 +354,12 @@ public abstract class AbstractOrderedLayoutConnector extends
if (processedResponseId == lastResponseId) {
return;
}
+ Profiler.enter("AOLC.updateInternalState");
// Remember that everything is updated for this response
processedResponseId = lastResponseId;
hasChildrenWithRelativeHeight = false;
+ hasChildrenWithMiddleAlignment = false;
needsExpand = getWidget().vertical ? !isUndefinedHeight()
: !isUndefinedWidth();
@@ -380,6 +400,10 @@ public abstract class AbstractOrderedLayoutConnector extends
getState().childData.get(child).alignmentBitmask);
slot.setAlignment(alignment);
+ if (alignment.isVerticalCenter()) {
+ hasChildrenWithMiddleAlignment = true;
+ }
+
double expandRatio = onlyZeroExpands ? 1 : getState().childData
.get(child).expandRatio;
@@ -411,6 +435,8 @@ public abstract class AbstractOrderedLayoutConnector extends
} else {
getWidget().clearExpand();
}
+
+ Profiler.leave("AOLC.updateInternalState");
}
/**
@@ -429,8 +455,10 @@ public abstract class AbstractOrderedLayoutConnector extends
return false;
}
- else if (!hasChildrenWithRelativeHeight) {
- // Already works if there are no relative heights
+ else if (!hasChildrenWithRelativeHeight
+ && !hasChildrenWithMiddleAlignment) {
+ // Already works if there are no relative heights or middle aligned
+ // children
return false;
}
diff --git a/server/src/com/vaadin/server/AbstractCommunicationManager.java b/server/src/com/vaadin/server/AbstractCommunicationManager.java
index c1c18901b4..cd7279e601 100644
--- a/server/src/com/vaadin/server/AbstractCommunicationManager.java
+++ b/server/src/com/vaadin/server/AbstractCommunicationManager.java
@@ -1780,11 +1780,18 @@ public abstract class AbstractCommunicationManager implements Serializable {
if (connectorTracker.getConnector(connectorId) == null
&& !connectorId
.equals(ApplicationConstants.DRAG_AND_DROP_CONNECTOR_ID)) {
- getLogger().log(
- Level.WARNING,
- "RPC call to " + interfaceName + "." + methodName
- + " received for connector " + connectorId
- + " but no such connector could be found");
+ getLogger()
+ .log(Level.WARNING,
+ "RPC call to "
+ + interfaceName
+ + "."
+ + methodName
+ + " received for connector "
+ + connectorId
+ + " but no such connector could be found. Resynchronizing client.");
+ // This is likely an out of sync issue (client tries to update a
+ // connector which is not present). Force resync.
+ connectorTracker.markAllConnectorsDirty();
return null;
}
diff --git a/server/src/com/vaadin/ui/AbstractComponent.java b/server/src/com/vaadin/ui/AbstractComponent.java
index 85c40e0d39..06060dbf91 100644
--- a/server/src/com/vaadin/ui/AbstractComponent.java
+++ b/server/src/com/vaadin/ui/AbstractComponent.java
@@ -122,7 +122,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
*/
@Override
public String getId() {
- return getState().id;
+ return getState(false).id;
}
/**
@@ -233,7 +233,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
*/
@Override
public String getCaption() {
- return getState().caption;
+ return getState(false).caption;
}
/**
@@ -363,7 +363,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
* interface.
*/
public boolean isImmediate() {
- return getState().immediate;
+ return getState(false).immediate;
}
/**
@@ -423,7 +423,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
*/
@Override
public String getDescription() {
- return getState().description;
+ return getState(false).description;
}
/**
@@ -532,7 +532,7 @@ public abstract class AbstractComponent extends AbstractClientConnector
*/
@Override
public boolean isReadOnly() {
- return getState().readOnly;
+ return getState(false).readOnly;
}
/*
@@ -622,6 +622,11 @@ public abstract class AbstractComponent extends AbstractClientConnector
}
@Override
+ protected AbstractComponentState getState(boolean markAsDirty) {
+ return (AbstractComponentState) super.getState(markAsDirty);
+ }
+
+ @Override
public void beforeClientResponse(boolean initial) {
super.beforeClientResponse(initial);
// TODO This logic should be on the client side and the state should
diff --git a/theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java b/theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java
index fd00dbff2c..64279ad1e7 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/ScssStylesheet.java
@@ -32,7 +32,9 @@ import org.w3c.css.sac.InputSource;
import com.vaadin.sass.internal.handler.SCSSDocumentHandler;
import com.vaadin.sass.internal.handler.SCSSDocumentHandlerImpl;
import com.vaadin.sass.internal.handler.SCSSErrorHandler;
+import com.vaadin.sass.internal.parser.ParseException;
import com.vaadin.sass.internal.parser.Parser;
+import com.vaadin.sass.internal.parser.SCSSParseException;
import com.vaadin.sass.internal.resolver.ScssStylesheetResolver;
import com.vaadin.sass.internal.resolver.VaadinResolver;
import com.vaadin.sass.internal.tree.BlockNode;
@@ -103,6 +105,7 @@ public class ScssStylesheet extends Node {
* imported children scss node will have the same encoding as their
* parent, ultimately the root scss file. The root scss node has this
* "encoding" parameter to be null. Its encoding is determined by the
+ *
* @charset declaration, the default one is ASCII.
*/
File file = new File(identifier);
@@ -120,7 +123,14 @@ public class ScssStylesheet extends Node {
Parser parser = new Parser();
parser.setErrorHandler(new SCSSErrorHandler());
parser.setDocumentHandler(handler);
- parser.parseStyleSheet(source);
+
+ try {
+ parser.parseStyleSheet(source);
+ } catch (ParseException e) {
+ // catch ParseException, re-throw a SCSSParseException which has
+ // file name info.
+ throw new SCSSParseException(e, identifier);
+ }
stylesheet.setCharset(parser.getInputSource().getEncoding());
return stylesheet;
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
index 3527a77642..7feeb6628a 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/LexicalUnitImpl.java
@@ -28,6 +28,7 @@ import java.io.Serializable;
import org.w3c.css.sac.LexicalUnit;
import com.vaadin.sass.internal.util.ColorUtil;
+import com.vaadin.sass.internal.util.DeepCopy;
/**
* @version $Revision: 1.3 $
@@ -154,6 +155,10 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
return "%";
case SAC_EM:
return "em";
+ case SCSSLexicalUnit.SAC_LEM:
+ return "lem";
+ case SCSSLexicalUnit.SAC_REM:
+ return "rem";
case SAC_EX:
return "ex";
case SAC_PIXEL:
@@ -267,6 +272,8 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
text = getFloatValue() + "";
break;
case LexicalUnit.SAC_EM:
+ case SCSSLexicalUnit.SAC_LEM:
+ case SCSSLexicalUnit.SAC_REM:
case LexicalUnit.SAC_EX:
case LexicalUnit.SAC_PIXEL:
case LexicalUnit.SAC_INCH:
@@ -380,23 +387,26 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
}
public void replaceValue(LexicalUnitImpl another) {
- type = another.getLexicalUnitType();
- i = another.getIntegerValue();
- f = another.getFloatValue();
- s = another.getStringValue();
- fname = another.getFunctionName();
- prev = another.getPreviousLexicalUnit();
- dimension = another.getDimension();
- sdimension = another.getSdimension();
- params = another.getParameters();
-
- LexicalUnitImpl finalNextInAnother = another;
+ // shouldn't modify 'another' directly, should only modify its copy.
+ LexicalUnitImpl deepCopyAnother = (LexicalUnitImpl) DeepCopy
+ .copy(another);
+ type = deepCopyAnother.getLexicalUnitType();
+ i = deepCopyAnother.getIntegerValue();
+ f = deepCopyAnother.getFloatValue();
+ s = deepCopyAnother.getStringValue();
+ fname = deepCopyAnother.getFunctionName();
+ prev = deepCopyAnother.getPreviousLexicalUnit();
+ dimension = deepCopyAnother.getDimension();
+ sdimension = deepCopyAnother.getSdimension();
+ params = deepCopyAnother.getParameters();
+
+ LexicalUnitImpl finalNextInAnother = deepCopyAnother;
while (finalNextInAnother.getNextLexicalUnit() != null) {
finalNextInAnother = finalNextInAnother.getNextLexicalUnit();
}
finalNextInAnother.setNextLexicalUnit(next);
- next = another.next;
+ next = deepCopyAnother.next;
}
public void setParameters(LexicalUnitImpl params) {
@@ -443,6 +453,18 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
return new LexicalUnitImpl(line, column, previous, SAC_EM, null, v);
}
+ static LexicalUnitImpl createLEM(int line, int column,
+ LexicalUnitImpl previous, float v) {
+ return new LexicalUnitImpl(line, column, previous,
+ SCSSLexicalUnit.SAC_LEM, null, v);
+ }
+
+ static LexicalUnitImpl createREM(int line, int column,
+ LexicalUnitImpl previous, float v) {
+ return new LexicalUnitImpl(line, column, previous,
+ SCSSLexicalUnit.SAC_REM, null, v);
+ }
+
static LexicalUnitImpl createEXS(int line, int column,
LexicalUnitImpl previous, float v) {
return new LexicalUnitImpl(line, column, previous, SAC_EX, null, v);
@@ -617,8 +639,7 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
@Override
public LexicalUnitImpl clone() {
- LexicalUnitImpl cloned = new LexicalUnitImpl(type, line, column,
- (LexicalUnitImpl) prev);
+ LexicalUnitImpl cloned = new LexicalUnitImpl(type, line, column, prev);
cloned.replaceValue(this);
return cloned;
}
@@ -636,8 +657,9 @@ public class LexicalUnitImpl implements LexicalUnit, SCSSLexicalUnit,
return i;
} else if (f != -1) {
return f;
- } else
+ } else {
return null;
+ }
}
public void setFunctionName(String functionName) {
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 9ae0d0ac8e..928c889956 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java
@@ -588,64 +588,68 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
Locator l;
label_7: while (true) {
;
- if (jj_2_1(5)) {
- listModifyDirective();
- } else {
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case VARIABLE:
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case DEBUG_SYM:
+ case WARN_SYM:
+ debuggingDirective();
+ break;
+ case MIXIN_SYM:
+ mixinDirective();
+ break;
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case IDENT:
+ case HASH:
+ styleRule();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case PAGE_SYM:
+ page();
+ break;
+ case FONT_FACE_SYM:
+ fontFace();
+ break;
+ case KEY_FRAME_SYM:
+ keyframes();
+ break;
+ default:
+ jj_la1[8] = jj_gen;
+ if (jj_2_1(2147483647)) {
variable();
- 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;
- case KEY_FRAME_SYM:
- keyframes();
- break;
- default:
- jj_la1[8] = jj_gen;
- l = getLocator();
- ret = skipStatement();
- if ((ret == null) || (ret.length() == 0)) {
- {
- if (true) {
- return;
+ } else {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case VARIABLE:
+ listModifyDirective();
+ break;
+ default:
+ jj_la1[9] = jj_gen;
+ l = getLocator();
+ ret = skipStatement();
+ if ((ret == null) || (ret.length() == 0)) {
+ {
+ if (true) {
+ return;
+ }
}
}
- }
- if (ret.charAt(0) == '@') {
- documentHandler.unrecognizedRule(ret);
- } else {
- reportWarningSkipText(l, ret);
+ if (ret.charAt(0) == '@') {
+ documentHandler.unrecognizedRule(ret);
+ } else {
+ reportWarningSkipText(l, ret);
+ }
}
}
}
@@ -657,7 +661,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[9] = jj_gen;
+ jj_la1[10] = jj_gen;
break label_8;
}
ignoreStatement();
@@ -667,7 +671,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[10] = jj_gen;
+ jj_la1[11] = jj_gen;
break label_9;
}
jj_consume_token(S);
@@ -688,7 +692,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
atRuleDeclaration();
break;
default:
- jj_la1[11] = jj_gen;
+ jj_la1[12] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -713,7 +717,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[12] = jj_gen;
+ jj_la1[13] = jj_gen;
break label_10;
}
jj_consume_token(S);
@@ -732,7 +736,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[13] = jj_gen;
+ jj_la1[14] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -742,7 +746,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[14] = jj_gen;
+ jj_la1[15] = jj_gen;
break label_11;
}
jj_consume_token(S);
@@ -752,7 +756,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
mediaStatement(ml);
break;
default:
- jj_la1[15] = jj_gen;
+ jj_la1[16] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
@@ -762,7 +766,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[16] = jj_gen;
+ jj_la1[17] = jj_gen;
break label_12;
}
jj_consume_token(S);
@@ -797,7 +801,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[17] = jj_gen;
+ jj_la1[18] = jj_gen;
break label_13;
}
jj_consume_token(S);
@@ -814,7 +818,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
animationname += n.image;
break;
default:
- jj_la1[18] = jj_gen;
+ jj_la1[19] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -824,7 +828,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[19] = jj_gen;
+ jj_la1[20] = jj_gen;
break label_14;
}
}
@@ -834,7 +838,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[20] = jj_gen;
+ jj_la1[21] = jj_gen;
break label_15;
}
jj_consume_token(S);
@@ -848,7 +852,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[21] = jj_gen;
+ jj_la1[22] = jj_gen;
break label_16;
}
jj_consume_token(S);
@@ -861,7 +865,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[22] = jj_gen;
+ jj_la1[23] = jj_gen;
break label_17;
}
keyframeSelector();
@@ -873,7 +877,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[23] = jj_gen;
+ jj_la1[24] = jj_gen;
break label_18;
}
jj_consume_token(S);
@@ -903,7 +907,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
n = jj_consume_token(PERCENTAGE);
break;
default:
- jj_la1[24] = jj_gen;
+ jj_la1[25] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -913,7 +917,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[25] = jj_gen;
+ jj_la1[26] = jj_gen;
break label_19;
}
jj_consume_token(S);
@@ -925,7 +929,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[26] = jj_gen;
+ jj_la1[27] = jj_gen;
break label_20;
}
jj_consume_token(S);
@@ -952,29 +956,41 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case HASH:
case MEDIA_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[27] = jj_gen;
+ jj_la1[28] = jj_gen;
break label_21;
}
- if (jj_2_2(5)) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case INCLUDE_SYM:
+ case DEBUG_SYM:
+ case WARN_SYM:
+ case EXTEND_SYM:
+ case IDENT:
+ case VARIABLE:
+ case HASH:
+ case MEDIA_SYM:
+ case KEY_FRAME_SYM:
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[28] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ break;
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case MICROSOFT_RULE:
+ microsoftExtension();
+ break;
+ default:
+ jj_la1[29] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
}
jj_consume_token(RBRACE);
@@ -984,7 +1000,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[29] = jj_gen;
+ jj_la1[30] = jj_gen;
break label_22;
}
jj_consume_token(S);
@@ -1026,7 +1042,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[30] = jj_gen;
+ jj_la1[31] = jj_gen;
break label_23;
}
jj_consume_token(S);
@@ -1041,7 +1057,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[31] = jj_gen;
+ jj_la1[32] = jj_gen;
break label_24;
}
jj_consume_token(S);
@@ -1086,7 +1102,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[32] = jj_gen;
+ jj_la1[33] = jj_gen;
break label_25;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -1132,7 +1148,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
skipUnknownRule();
break;
default:
- jj_la1[33] = jj_gen;
+ jj_la1[34] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1144,7 +1160,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[34] = jj_gen;
+ jj_la1[35] = jj_gen;
break label_26;
}
jj_consume_token(S);
@@ -1170,7 +1186,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[35] = jj_gen;
+ jj_la1[36] = jj_gen;
break label_27;
}
jj_consume_token(COMMA);
@@ -1180,7 +1196,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[36] = jj_gen;
+ jj_la1[37] = jj_gen;
break label_28;
}
jj_consume_token(S);
@@ -1204,7 +1220,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[37] = jj_gen;
+ jj_la1[38] = jj_gen;
break label_29;
}
jj_consume_token(S);
@@ -1234,7 +1250,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[38] = jj_gen;
+ jj_la1[39] = jj_gen;
break label_30;
}
jj_consume_token(S);
@@ -1248,14 +1264,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[39] = jj_gen;
+ jj_la1[40] = jj_gen;
break label_31;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[40] = jj_gen;
+ jj_la1[41] = jj_gen;
;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -1263,7 +1279,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
pseudo = pseudo_page();
break;
default:
- jj_la1[41] = jj_gen;
+ jj_la1[42] = jj_gen;
;
}
if (n != null) {
@@ -1276,7 +1292,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[42] = jj_gen;
+ jj_la1[43] = jj_gen;
break label_32;
}
jj_consume_token(S);
@@ -1289,7 +1305,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[43] = jj_gen;
+ jj_la1[44] = jj_gen;
;
}
label_33: while (true) {
@@ -1298,7 +1314,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[44] = jj_gen;
+ jj_la1[45] = jj_gen;
break label_33;
}
jj_consume_token(SEMICOLON);
@@ -1308,7 +1324,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[45] = jj_gen;
+ jj_la1[46] = jj_gen;
break label_34;
}
jj_consume_token(S);
@@ -1319,7 +1335,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[46] = jj_gen;
+ jj_la1[47] = jj_gen;
;
}
}
@@ -1330,7 +1346,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[47] = jj_gen;
+ jj_la1[48] = jj_gen;
break label_35;
}
jj_consume_token(S);
@@ -1363,7 +1379,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[48] = jj_gen;
+ jj_la1[49] = jj_gen;
break label_36;
}
jj_consume_token(S);
@@ -1386,7 +1402,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[49] = jj_gen;
+ jj_la1[50] = jj_gen;
break label_37;
}
jj_consume_token(S);
@@ -1398,7 +1414,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[50] = jj_gen;
+ jj_la1[51] = jj_gen;
break label_38;
}
jj_consume_token(S);
@@ -1411,7 +1427,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[51] = jj_gen;
+ jj_la1[52] = jj_gen;
;
}
label_39: while (true) {
@@ -1420,7 +1436,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[52] = jj_gen;
+ jj_la1[53] = jj_gen;
break label_39;
}
jj_consume_token(SEMICOLON);
@@ -1430,7 +1446,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[53] = jj_gen;
+ jj_la1[54] = jj_gen;
break label_40;
}
jj_consume_token(S);
@@ -1441,7 +1457,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[54] = jj_gen;
+ jj_la1[55] = jj_gen;
;
}
}
@@ -1452,7 +1468,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[55] = jj_gen;
+ jj_la1[56] = jj_gen;
break label_41;
}
jj_consume_token(S);
@@ -1564,7 +1580,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
n = jj_consume_token(UNKNOWN);
break;
default:
- jj_la1[56] = jj_gen;
+ jj_la1[57] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1593,7 +1609,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[57] = jj_gen;
+ jj_la1[58] = jj_gen;
break label_42;
}
jj_consume_token(S);
@@ -1612,7 +1628,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[58] = jj_gen;
+ jj_la1[59] = jj_gen;
break label_43;
}
jj_consume_token(S);
@@ -1631,7 +1647,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[59] = jj_gen;
+ jj_la1[60] = jj_gen;
break label_44;
}
jj_consume_token(S);
@@ -1662,7 +1678,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
connector = '~';
break;
default:
- jj_la1[60] = jj_gen;
+ jj_la1[61] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1672,14 +1688,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[61] = jj_gen;
+ jj_la1[62] = jj_gen;
break label_45;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[62] = jj_gen;
+ jj_la1[63] = jj_gen;
;
}
{
@@ -1689,7 +1705,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[63] = jj_gen;
+ jj_la1[64] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1708,7 +1724,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[64] = jj_gen;
+ jj_la1[65] = jj_gen;
break label_46;
}
jj_consume_token(S);
@@ -1764,7 +1780,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[65] = jj_gen;
+ jj_la1[66] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1783,7 +1799,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[66] = jj_gen;
+ jj_la1[67] = jj_gen;
break label_47;
}
}
@@ -1794,7 +1810,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[67] = jj_gen;
+ jj_la1[68] = jj_gen;
break label_48;
}
jj_consume_token(S);
@@ -1820,7 +1836,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
s += t.image;
break;
default:
- jj_la1[68] = jj_gen;
+ jj_la1[69] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1830,7 +1846,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[69] = jj_gen;
+ jj_la1[70] = jj_gen;
break label_49;
}
}
@@ -1840,7 +1856,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[70] = jj_gen;
+ jj_la1[71] = jj_gen;
break label_50;
}
jj_consume_token(S);
@@ -1862,7 +1878,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[71] = jj_gen;
+ jj_la1[72] = jj_gen;
break label_51;
}
jj_consume_token(S);
@@ -1884,7 +1900,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[72] = jj_gen;
+ jj_la1[73] = jj_gen;
break label_52;
}
jj_consume_token(S);
@@ -1916,7 +1932,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[73] = jj_gen;
+ jj_la1[74] = jj_gen;
break label_53;
}
jj_consume_token(S);
@@ -1943,29 +1959,41 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case HASH:
case MEDIA_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[74] = jj_gen;
+ jj_la1[75] = jj_gen;
break label_54;
}
- if (jj_2_3(5)) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case INCLUDE_SYM:
+ case DEBUG_SYM:
+ case WARN_SYM:
+ case EXTEND_SYM:
+ case IDENT:
+ case VARIABLE:
+ case HASH:
+ case MEDIA_SYM:
+ case KEY_FRAME_SYM:
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[75] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ break;
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case MICROSOFT_RULE:
+ microsoftExtension();
+ break;
+ default:
+ jj_la1[76] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
}
jj_consume_token(RBRACE);
@@ -1975,7 +2003,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[76] = jj_gen;
+ jj_la1[77] = jj_gen;
break label_55;
}
jj_consume_token(S);
@@ -2011,7 +2039,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[77] = jj_gen;
+ jj_la1[78] = jj_gen;
break label_56;
}
jj_consume_token(COMMA);
@@ -2021,7 +2049,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[78] = jj_gen;
+ jj_la1[79] = jj_gen;
break label_57;
}
jj_consume_token(S);
@@ -2048,7 +2076,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
try {
selector = simple_selector(null, ' ');
label_58: while (true) {
- if (jj_2_4(2)) {
+ if (jj_2_2(2)) {
;
} else {
break label_58;
@@ -2062,7 +2090,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[79] = jj_gen;
+ jj_la1[80] = jj_gen;
break label_59;
}
jj_consume_token(S);
@@ -2121,7 +2149,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[80] = jj_gen;
+ jj_la1[81] = jj_gen;
break label_60;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2138,7 +2166,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cond = pseudo(cond);
break;
default:
- jj_la1[81] = jj_gen;
+ jj_la1[82] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2154,7 +2182,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[82] = jj_gen;
+ jj_la1[83] = jj_gen;
break label_61;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2168,7 +2196,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cond = pseudo(cond);
break;
default:
- jj_la1[83] = jj_gen;
+ jj_la1[84] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2185,7 +2213,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[84] = jj_gen;
+ jj_la1[85] = jj_gen;
break label_62;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2202,7 +2230,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cond = pseudo(cond);
break;
default:
- jj_la1[85] = jj_gen;
+ jj_la1[86] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2219,7 +2247,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[86] = jj_gen;
+ jj_la1[87] = jj_gen;
break label_63;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2236,7 +2264,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cond = pseudo(cond);
break;
default:
- jj_la1[87] = jj_gen;
+ jj_la1[88] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2253,7 +2281,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[88] = jj_gen;
+ jj_la1[89] = jj_gen;
break label_64;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2270,14 +2298,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cond = pseudo(cond);
break;
default:
- jj_la1[89] = jj_gen;
+ jj_la1[90] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
default:
- jj_la1[90] = jj_gen;
+ jj_la1[91] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2336,7 +2364,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
s += t.image;
break;
default:
- jj_la1[91] = jj_gen;
+ jj_la1[92] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2346,7 +2374,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[92] = jj_gen;
+ jj_la1[93] = jj_gen;
break label_65;
}
}
@@ -2387,7 +2415,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
s += t.image;
break;
default:
- jj_la1[93] = jj_gen;
+ jj_la1[94] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2397,7 +2425,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[94] = jj_gen;
+ jj_la1[95] = jj_gen;
break label_66;
}
}
@@ -2424,7 +2452,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[95] = jj_gen;
+ jj_la1[96] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2447,7 +2475,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[96] = jj_gen;
+ jj_la1[97] = jj_gen;
break label_67;
}
jj_consume_token(S);
@@ -2459,7 +2487,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[97] = jj_gen;
+ jj_la1[98] = jj_gen;
break label_68;
}
jj_consume_token(S);
@@ -2497,7 +2525,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
cases = 6;
break;
default:
- jj_la1[98] = jj_gen;
+ jj_la1[99] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2507,7 +2535,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[99] = jj_gen;
+ jj_la1[100] = jj_gen;
break label_69;
}
jj_consume_token(S);
@@ -2522,7 +2550,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
attValue = val.image;
break;
default:
- jj_la1[100] = jj_gen;
+ jj_la1[101] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2532,14 +2560,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[101] = jj_gen;
+ jj_la1[102] = jj_gen;
break label_70;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[102] = jj_gen;
+ jj_la1[103] = jj_gen;
;
}
jj_consume_token(RBRACKET);
@@ -2604,7 +2632,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
isPseudoElement = true;
break;
default:
- jj_la1[103] = jj_gen;
+ jj_la1[104] = jj_gen;
;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -2653,7 +2681,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[104] = jj_gen;
+ jj_la1[105] = jj_gen;
break label_71;
}
jj_consume_token(S);
@@ -2679,7 +2707,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[105] = jj_gen;
+ jj_la1[106] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -2724,7 +2752,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[106] = jj_gen;
+ jj_la1[107] = jj_gen;
break label_72;
}
jj_consume_token(S);
@@ -2735,7 +2763,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
guarded = guarded();
break;
default:
- jj_la1[107] = jj_gen;
+ jj_la1[108] = jj_gen;
;
}
label_73: while (true) {
@@ -2746,7 +2774,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[108] = jj_gen;
+ jj_la1[109] = jj_gen;
break label_74;
}
jj_consume_token(S);
@@ -2756,7 +2784,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[109] = jj_gen;
+ jj_la1[110] = jj_gen;
break label_73;
}
}
@@ -2795,48 +2823,52 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
eachDirective();
break;
default:
- jj_la1[110] = jj_gen;
+ jj_la1[111] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void ifContentStatement() throws ParseException {
- if (jj_2_5(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:
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case INCLUDE_SYM:
+ includeDirective();
+ break;
+ case MEDIA_SYM:
+ media();
+ break;
+ case EXTEND_SYM:
+ extendDirective();
+ 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 KEY_FRAME_SYM:
+ keyframes();
+ break;
+ default:
+ jj_la1[112] = jj_gen;
+ if (jj_2_3(2147483647)) {
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 KEY_FRAME_SYM:
- keyframes();
- break;
- default:
- jj_la1[111] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
+ } else {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case VARIABLE:
+ listModifyDirective();
+ break;
+ default:
+ jj_la1[113] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
}
}
}
@@ -2871,7 +2903,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[112] = jj_gen;
+ jj_la1[114] = jj_gen;
break label_75;
}
}
@@ -2882,7 +2914,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[113] = jj_gen;
+ jj_la1[115] = jj_gen;
break label_76;
}
jj_consume_token(S);
@@ -2906,11 +2938,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case HASH:
case MEDIA_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[114] = jj_gen;
+ jj_la1[116] = jj_gen;
break label_77;
}
ifContentStatement();
@@ -2922,7 +2953,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[115] = jj_gen;
+ jj_la1[117] = jj_gen;
break label_78;
}
jj_consume_token(S);
@@ -2933,7 +2964,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[116] = jj_gen;
+ jj_la1[118] = jj_gen;
break label_79;
}
elseDirective();
@@ -2952,7 +2983,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[117] = jj_gen;
+ jj_la1[119] = jj_gen;
break label_80;
}
jj_consume_token(S);
@@ -2985,13 +3016,13 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[118] = jj_gen;
+ jj_la1[120] = jj_gen;
break label_81;
}
}
break;
default:
- jj_la1[119] = jj_gen;
+ jj_la1[121] = jj_gen;
;
}
jj_consume_token(LBRACE);
@@ -3001,7 +3032,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[120] = jj_gen;
+ jj_la1[122] = jj_gen;
break label_82;
}
jj_consume_token(S);
@@ -3028,11 +3059,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case HASH:
case MEDIA_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[121] = jj_gen;
+ jj_la1[123] = jj_gen;
break label_83;
}
ifContentStatement();
@@ -3044,7 +3074,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[122] = jj_gen;
+ jj_la1[124] = jj_gen;
break label_84;
}
jj_consume_token(S);
@@ -3054,7 +3084,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
final public String booleanExpressionToken() throws ParseException {
Token n = null;
String s = null;
- if (jj_2_6(2)) {
+ if (jj_2_4(2147483647)) {
s = containsDirective();
} else {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -3110,7 +3140,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
n = jj_consume_token(NOT_EQ);
break;
default:
- jj_la1[123] = jj_gen;
+ jj_la1[125] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3142,7 +3172,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[124] = jj_gen;
+ jj_la1[126] = jj_gen;
break label_85;
}
jj_consume_token(S);
@@ -3154,7 +3184,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[125] = jj_gen;
+ jj_la1[127] = jj_gen;
break label_86;
}
jj_consume_token(S);
@@ -3166,7 +3196,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[126] = jj_gen;
+ jj_la1[128] = jj_gen;
break label_87;
}
jj_consume_token(S);
@@ -3181,7 +3211,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
documentHandler.startEachDirective(var.image, listVariable);
break;
default:
- jj_la1[127] = jj_gen;
+ jj_la1[129] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3192,7 +3222,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[128] = jj_gen;
+ jj_la1[130] = jj_gen;
break label_88;
}
jj_consume_token(S);
@@ -3214,11 +3244,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case HASH:
case MEDIA_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[129] = jj_gen;
+ jj_la1[131] = jj_gen;
break label_89;
}
ifContentStatement();
@@ -3230,7 +3259,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[130] = jj_gen;
+ jj_la1[132] = jj_gen;
break label_90;
}
jj_consume_token(S);
@@ -3248,7 +3277,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[131] = jj_gen;
+ jj_la1[133] = jj_gen;
break label_91;
}
jj_consume_token(S);
@@ -3260,7 +3289,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[132] = jj_gen;
+ jj_la1[134] = jj_gen;
break label_92;
}
jj_consume_token(COMMA);
@@ -3270,7 +3299,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[133] = jj_gen;
+ jj_la1[135] = jj_gen;
break label_93;
}
jj_consume_token(S);
@@ -3283,7 +3312,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[134] = jj_gen;
+ jj_la1[136] = jj_gen;
break label_94;
}
jj_consume_token(S);
@@ -3308,7 +3337,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[135] = jj_gen;
+ jj_la1[137] = jj_gen;
break label_95;
}
jj_consume_token(S);
@@ -3328,14 +3357,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[136] = jj_gen;
+ jj_la1[138] = jj_gen;
break label_96;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[137] = jj_gen;
+ jj_la1[139] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3346,7 +3375,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[138] = jj_gen;
+ jj_la1[140] = jj_gen;
break label_97;
}
jj_consume_token(S);
@@ -3373,32 +3402,44 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case PAGE_SYM:
case FONT_FACE_SYM:
case KEY_FRAME_SYM:
- case CONTAINS:
;
break;
default:
- jj_la1[139] = jj_gen;
+ jj_la1[141] = jj_gen;
break label_98;
}
- if (jj_2_7(5)) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case INCLUDE_SYM:
+ case DEBUG_SYM:
+ case WARN_SYM:
+ case EXTEND_SYM:
+ case IDENT:
+ case VARIABLE:
+ case HASH:
+ case MEDIA_SYM:
+ case KEY_FRAME_SYM:
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[140] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
+ break;
+ case EACH_SYM:
+ case IF_SYM:
+ controlDirective();
+ break;
+ case FONT_FACE_SYM:
+ fontFace();
+ break;
+ case PAGE_SYM:
+ page();
+ break;
+ default:
+ jj_la1[142] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
}
}
jj_consume_token(RBRACE);
@@ -3408,7 +3449,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[141] = jj_gen;
+ jj_la1[143] = jj_gen;
break label_99;
}
jj_consume_token(S);
@@ -3427,7 +3468,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[142] = jj_gen;
+ jj_la1[144] = jj_gen;
break label_100;
}
jj_consume_token(COMMA);
@@ -3437,7 +3478,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[143] = jj_gen;
+ jj_la1[145] = jj_gen;
break label_101;
}
jj_consume_token(S);
@@ -3495,7 +3536,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[144] = jj_gen;
+ jj_la1[146] = jj_gen;
break label_102;
}
jj_consume_token(S);
@@ -3503,7 +3544,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
first = nonVariableTerm(null);
prev = first;
label_103: while (true) {
- if (jj_2_8(3)) {
+ if (jj_2_5(3)) {
;
} else {
break label_103;
@@ -3517,14 +3558,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[145] = jj_gen;
+ jj_la1[147] = jj_gen;
break label_104;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[146] = jj_gen;
+ jj_la1[148] = jj_gen;
;
}
prev = nonVariableTerm(prev);
@@ -3536,13 +3577,13 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
token.beginColumn, prev, variable.image);
break;
default:
- jj_la1[147] = jj_gen;
+ jj_la1[149] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[148] = jj_gen;
+ jj_la1[150] = jj_gen;
;
}
VariableNode arg = new VariableNode(name, first, false);
@@ -3582,6 +3623,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -3597,7 +3640,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[149] = jj_gen;
+ jj_la1[151] = jj_gen;
break label_105;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -3609,14 +3652,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[150] = jj_gen;
+ jj_la1[152] = jj_gen;
break label_106;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[151] = jj_gen;
+ jj_la1[153] = jj_gen;
;
}
next = term(prev);
@@ -3629,7 +3672,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[152] = jj_gen;
+ jj_la1[154] = jj_gen;
break label_107;
}
jj_consume_token(COMMA);
@@ -3639,7 +3682,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[153] = jj_gen;
+ jj_la1[155] = jj_gen;
break label_108;
}
jj_consume_token(S);
@@ -3666,6 +3709,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -3681,7 +3726,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[154] = jj_gen;
+ jj_la1[156] = jj_gen;
break label_109;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -3693,14 +3738,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[155] = jj_gen;
+ jj_la1[157] = jj_gen;
break label_110;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[156] = jj_gen;
+ jj_la1[158] = jj_gen;
;
}
next = term(prev);
@@ -3726,7 +3771,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[157] = jj_gen;
+ jj_la1[159] = jj_gen;
break label_111;
}
jj_consume_token(S);
@@ -3746,7 +3791,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
jj_consume_token(RPARAN);
break;
default:
- jj_la1[158] = jj_gen;
+ jj_la1[160] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3758,7 +3803,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[159] = jj_gen;
+ jj_la1[161] = jj_gen;
break label_113;
}
jj_consume_token(S);
@@ -3768,7 +3813,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[160] = jj_gen;
+ jj_la1[162] = jj_gen;
break label_112;
}
}
@@ -3787,39 +3832,159 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
final public void listModifyDirective() throws ParseException {
- if (jj_2_9(5)) {
- removeDirective();
- } else if (jj_2_10(5)) {
- appendDirective();
- } else if (jj_2_11(5)) {
- containsDirective();
- } else {
- jj_consume_token(-1);
- throw new ParseException();
- }
+ String list = null;
+ String remove = null;
+ String separator = null;
+ String variable = null;
+ Token n = null;
+ Token type = null;
+ // refactor, remove those 3 LOOKAHEAD(5).
+ n = jj_consume_token(VARIABLE);
+ variable = n.image;
label_114: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[161] = jj_gen;
+ jj_la1[163] = jj_gen;
break label_114;
}
jj_consume_token(S);
}
- jj_consume_token(SEMICOLON);
+ jj_consume_token(COLON);
label_115: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[162] = jj_gen;
+ jj_la1[164] = jj_gen;
break label_115;
}
jj_consume_token(S);
}
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case APPEND:
+ type = jj_consume_token(APPEND);
+ break;
+ case REMOVE:
+ type = jj_consume_token(REMOVE);
+ break;
+ case CONTAINS:
+ type = jj_consume_token(CONTAINS);
+ break;
+ default:
+ jj_la1[165] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ label_116: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[166] = jj_gen;
+ break label_116;
+ }
+ jj_consume_token(S);
+ }
+ list = listModifyDirectiveArgs(0);
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case RPARAN:
+ jj_consume_token(RPARAN);
+ break;
+ default:
+ jj_la1[167] = jj_gen;
+ ;
+ }
+ jj_consume_token(COMMA);
+ label_117: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[168] = jj_gen;
+ break label_117;
+ }
+ jj_consume_token(S);
+ }
+ remove = listModifyDirectiveArgs(1);
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case COMMA:
+ jj_consume_token(COMMA);
+ label_118: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[169] = jj_gen;
+ break label_118;
+ }
+ jj_consume_token(S);
+ }
+ n = jj_consume_token(IDENT);
+ separator = n.image;
+ label_119: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[170] = jj_gen;
+ break label_119;
+ }
+ jj_consume_token(S);
+ }
+ break;
+ default:
+ jj_la1[171] = jj_gen;
+ ;
+ }
+ jj_consume_token(RPARAN);
+ switch (type.kind) {
+ case APPEND:
+ documentHandler.appendDirective(variable, list, remove, separator);
+ break;
+ case REMOVE:
+ documentHandler.removeDirective(variable, list, remove, separator);
+ break;
+ case CONTAINS:
+ if (variable == null) {
+ variable = "$var_" + UUID.randomUUID();
+ }
+ documentHandler
+ .containsDirective(variable, list, remove, separator);
+ break;
+ default:
+ break;
+ }
+ label_120: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[172] = jj_gen;
+ break label_120;
+ }
+ jj_consume_token(S);
+ }
+ jj_consume_token(SEMICOLON);
+ label_121: while (true) {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case S:
+ ;
+ break;
+ default:
+ jj_la1[173] = jj_gen;
+ break label_121;
+ }
+ jj_consume_token(S);
+ }
}
/**
@@ -3834,38 +3999,38 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
Token n = null;
n = jj_consume_token(VARIABLE);
variable = n.image;
- label_116: while (true) {
+ label_122: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[163] = jj_gen;
- break label_116;
+ jj_la1[174] = jj_gen;
+ break label_122;
}
jj_consume_token(S);
}
jj_consume_token(COLON);
- label_117: while (true) {
+ label_123: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[164] = jj_gen;
- break label_117;
+ jj_la1[175] = jj_gen;
+ break label_123;
}
jj_consume_token(S);
}
jj_consume_token(APPEND);
- label_118: while (true) {
+ label_124: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[165] = jj_gen;
- break label_118;
+ jj_la1[176] = jj_gen;
+ break label_124;
}
jj_consume_token(S);
}
@@ -3875,18 +4040,18 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
jj_consume_token(RPARAN);
break;
default:
- jj_la1[166] = jj_gen;
+ jj_la1[177] = jj_gen;
;
}
jj_consume_token(COMMA);
- label_119: while (true) {
+ label_125: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[167] = jj_gen;
- break label_119;
+ jj_la1[178] = jj_gen;
+ break label_125;
}
jj_consume_token(S);
}
@@ -3894,33 +4059,33 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMA:
jj_consume_token(COMMA);
- label_120: while (true) {
+ label_126: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[168] = jj_gen;
- break label_120;
+ jj_la1[179] = jj_gen;
+ break label_126;
}
jj_consume_token(S);
}
n = jj_consume_token(IDENT);
separator = n.image;
- label_121: while (true) {
+ label_127: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[169] = jj_gen;
- break label_121;
+ jj_la1[180] = jj_gen;
+ break label_127;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[170] = jj_gen;
+ jj_la1[181] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -3939,38 +4104,38 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
Token n = null;
n = jj_consume_token(VARIABLE);
variable = n.image;
- label_122: while (true) {
+ label_128: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[171] = jj_gen;
- break label_122;
+ jj_la1[182] = jj_gen;
+ break label_128;
}
jj_consume_token(S);
}
jj_consume_token(COLON);
- label_123: while (true) {
+ label_129: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[172] = jj_gen;
- break label_123;
+ jj_la1[183] = jj_gen;
+ break label_129;
}
jj_consume_token(S);
}
jj_consume_token(REMOVE);
- label_124: while (true) {
+ label_130: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[173] = jj_gen;
- break label_124;
+ jj_la1[184] = jj_gen;
+ break label_130;
}
jj_consume_token(S);
}
@@ -3980,18 +4145,18 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
jj_consume_token(RPARAN);
break;
default:
- jj_la1[174] = jj_gen;
+ jj_la1[185] = jj_gen;
;
}
jj_consume_token(COMMA);
- label_125: while (true) {
+ label_131: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[175] = jj_gen;
- break label_125;
+ jj_la1[186] = jj_gen;
+ break label_131;
}
jj_consume_token(S);
}
@@ -3999,33 +4164,33 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMA:
jj_consume_token(COMMA);
- label_126: while (true) {
+ label_132: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[176] = jj_gen;
- break label_126;
+ jj_la1[187] = jj_gen;
+ break label_132;
}
jj_consume_token(S);
}
n = jj_consume_token(IDENT);
separator = n.image;
- label_127: while (true) {
+ label_133: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[177] = jj_gen;
- break label_127;
+ jj_la1[188] = jj_gen;
+ break label_133;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[178] = jj_gen;
+ jj_la1[189] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -4046,43 +4211,43 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case VARIABLE:
n = jj_consume_token(VARIABLE);
variable = n.image;
- label_128: while (true) {
+ label_134: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[179] = jj_gen;
- break label_128;
+ jj_la1[190] = jj_gen;
+ break label_134;
}
jj_consume_token(S);
}
jj_consume_token(COLON);
- label_129: while (true) {
+ label_135: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[180] = jj_gen;
- break label_129;
+ jj_la1[191] = jj_gen;
+ break label_135;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[181] = jj_gen;
+ jj_la1[192] = jj_gen;
;
}
jj_consume_token(CONTAINS);
- label_130: while (true) {
+ label_136: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[182] = jj_gen;
- break label_130;
+ jj_la1[193] = jj_gen;
+ break label_136;
}
jj_consume_token(S);
}
@@ -4092,18 +4257,18 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
jj_consume_token(RPARAN);
break;
default:
- jj_la1[183] = jj_gen;
+ jj_la1[194] = jj_gen;
;
}
jj_consume_token(COMMA);
- label_131: while (true) {
+ label_137: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[184] = jj_gen;
- break label_131;
+ jj_la1[195] = jj_gen;
+ break label_137;
}
jj_consume_token(S);
}
@@ -4111,33 +4276,33 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMA:
jj_consume_token(COMMA);
- label_132: while (true) {
+ label_138: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[185] = jj_gen;
- break label_132;
+ jj_la1[196] = jj_gen;
+ break label_138;
}
jj_consume_token(S);
}
n = jj_consume_token(IDENT);
separator = n.image;
- label_133: while (true) {
+ label_139: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[186] = jj_gen;
- break label_133;
+ jj_la1[197] = jj_gen;
+ break label_139;
}
jj_consume_token(S);
}
break;
default:
- jj_la1[187] = jj_gen;
+ jj_la1[198] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -4239,7 +4404,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
warnDirective();
break;
default:
- jj_la1[188] = jj_gen;
+ jj_la1[199] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4251,14 +4416,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
// TODO should evaluate the content expression, call
// documentHandler.debugDirective() etc.
System.out.println(content);
- label_134: while (true) {
+ label_140: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[189] = jj_gen;
- break label_134;
+ jj_la1[200] = jj_gen;
+ break label_140;
}
jj_consume_token(S);
}
@@ -4270,14 +4435,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
// TODO should evaluate the content expression, call
// documentHandler.warnDirective() etc.
System.err.println(content);
- label_135: while (true) {
+ label_141: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[190] = jj_gen;
- break label_135;
+ jj_la1[201] = jj_gen;
+ break label_141;
}
jj_consume_token(S);
}
@@ -4303,19 +4468,19 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
exclusive = false;
break;
default:
- jj_la1[191] = jj_gen;
+ jj_la1[202] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
to = skipStatementUntilLeftBrace();
- label_136: while (true) {
+ label_142: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[192] = jj_gen;
- break label_136;
+ jj_la1[203] = jj_gen;
+ break label_142;
}
jj_consume_token(S);
}
@@ -4345,28 +4510,28 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
final public void extendDirective() throws ParseException {
ArrayList<String> list;
jj_consume_token(EXTEND_SYM);
- label_137: while (true) {
+ label_143: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[193] = jj_gen;
- break label_137;
+ jj_la1[204] = jj_gen;
+ break label_143;
}
jj_consume_token(S);
}
list = selectorList();
- label_138: while (true) {
+ label_144: while (true) {
jj_consume_token(SEMICOLON);
- label_139: while (true) {
+ label_145: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[194] = jj_gen;
- break label_139;
+ jj_la1[205] = jj_gen;
+ break label_145;
}
jj_consume_token(S);
}
@@ -4375,8 +4540,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
;
break;
default:
- jj_la1[195] = jj_gen;
- break label_138;
+ jj_la1[206] = jj_gen;
+ break label_144;
}
}
documentHandler.extendDirective(list);
@@ -4403,26 +4568,26 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
LexicalUnit exp;
name = property();
jj_consume_token(COLON);
- label_140: while (true) {
+ label_146: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[196] = jj_gen;
- break label_140;
+ jj_la1[207] = jj_gen;
+ break label_146;
}
jj_consume_token(S);
}
jj_consume_token(LBRACE);
- label_141: while (true) {
+ label_147: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[197] = jj_gen;
- break label_141;
+ jj_la1[208] = jj_gen;
+ break label_147;
}
jj_consume_token(S);
}
@@ -4433,27 +4598,27 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[198] = jj_gen;
+ jj_la1[209] = jj_gen;
;
}
- label_142: while (true) {
+ label_148: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[199] = jj_gen;
- break label_142;
+ jj_la1[210] = jj_gen;
+ break label_148;
}
jj_consume_token(SEMICOLON);
- label_143: while (true) {
+ label_149: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[200] = jj_gen;
- break label_143;
+ jj_la1[211] = jj_gen;
+ break label_149;
}
jj_consume_token(S);
}
@@ -4463,20 +4628,20 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[201] = jj_gen;
+ jj_la1[212] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
documentHandler.endNestedProperties(name);
- label_144: while (true) {
+ label_150: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[202] = jj_gen;
- break label_144;
+ jj_la1[213] = jj_gen;
+ break label_150;
}
jj_consume_token(S);
}
@@ -4489,22 +4654,34 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
final public void styleRuleOrDeclarationOrNestedProperties()
throws ParseException {
try {
- if (jj_2_12(5)) {
- styleRule();
- } else {
- switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
- case DEBUG_SYM:
- case WARN_SYM:
- debuggingDirective();
- break;
- case INTERPOLATION:
- case IDENT:
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case DEBUG_SYM:
+ case WARN_SYM:
+ debuggingDirective();
+ break;
+ default:
+ jj_la1[214] = jj_gen;
+ if (jj_2_6(2147483647)) {
+ styleRule();
+ } else if (jj_2_7(3)) {
declarationOrNestedProperties();
- break;
- default:
- jj_la1[203] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
+ } else {
+ switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+ case LBRACKET:
+ case ANY:
+ case PARENT:
+ case DOT:
+ case COLON:
+ case INTERPOLATION:
+ case IDENT:
+ case HASH:
+ styleRule();
+ break;
+ default:
+ jj_la1[215] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
}
}
} catch (JumpException e) {
@@ -4546,14 +4723,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
name = property();
save = token;
jj_consume_token(COLON);
- label_145: while (true) {
+ label_151: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[204] = jj_gen;
- break label_145;
+ jj_la1[216] = jj_gen;
+ break label_151;
}
jj_consume_token(S);
}
@@ -4574,6 +4751,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -4592,7 +4771,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
important = prio();
break;
default:
- jj_la1[205] = jj_gen;
+ jj_la1[217] = jj_gen;
;
}
Token next = getToken(1);
@@ -4611,14 +4790,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
case LBRACE:
jj_consume_token(LBRACE);
- label_146: while (true) {
+ label_152: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[206] = jj_gen;
- break label_146;
+ jj_la1[218] = jj_gen;
+ break label_152;
}
jj_consume_token(S);
}
@@ -4629,27 +4808,27 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[207] = jj_gen;
+ jj_la1[219] = jj_gen;
;
}
- label_147: while (true) {
+ label_153: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[208] = jj_gen;
- break label_147;
+ jj_la1[220] = jj_gen;
+ break label_153;
}
jj_consume_token(SEMICOLON);
- label_148: while (true) {
+ label_154: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[209] = jj_gen;
- break label_148;
+ jj_la1[221] = jj_gen;
+ break label_154;
}
jj_consume_token(S);
}
@@ -4659,26 +4838,26 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[210] = jj_gen;
+ jj_la1[222] = jj_gen;
;
}
}
jj_consume_token(RBRACE);
- label_149: while (true) {
+ label_155: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[211] = jj_gen;
- break label_149;
+ jj_la1[223] = jj_gen;
+ break label_155;
}
jj_consume_token(S);
}
documentHandler.endNestedProperties(name);
break;
default:
- jj_la1[212] = jj_gen;
+ jj_la1[224] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4726,14 +4905,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
name = property();
save = token;
jj_consume_token(COLON);
- label_150: while (true) {
+ label_156: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[213] = jj_gen;
- break label_150;
+ jj_la1[225] = jj_gen;
+ break label_156;
}
jj_consume_token(S);
}
@@ -4743,7 +4922,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
important = prio();
break;
default:
- jj_la1[214] = jj_gen;
+ jj_la1[226] = jj_gen;
;
}
documentHandler.property(name, exp, important);
@@ -4784,14 +4963,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
*/
final public boolean prio() throws ParseException {
jj_consume_token(IMPORTANT_SYM);
- label_151: while (true) {
+ label_157: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[215] = jj_gen;
- break label_151;
+ jj_la1[227] = jj_gen;
+ break label_157;
}
jj_consume_token(S);
}
@@ -4805,14 +4984,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
final public boolean guarded() throws ParseException {
jj_consume_token(GUARDED_SYM);
- label_152: while (true) {
+ label_158: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[216] = jj_gen;
- break label_152;
+ jj_la1[228] = jj_gen;
+ break label_158;
}
jj_consume_token(S);
}
@@ -4834,14 +5013,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case DIV:
n = jj_consume_token(DIV);
- label_153: while (true) {
+ label_159: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[217] = jj_gen;
- break label_153;
+ jj_la1[229] = jj_gen;
+ break label_159;
}
jj_consume_token(S);
}
@@ -4854,14 +5033,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
case COMMA:
n = jj_consume_token(COMMA);
- label_154: while (true) {
+ label_160: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[218] = jj_gen;
- break label_154;
+ jj_la1[230] = jj_gen;
+ break label_160;
}
jj_consume_token(S);
}
@@ -4873,7 +5052,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[219] = jj_gen;
+ jj_la1[231] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4889,11 +5068,11 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
char op;
first = term(null);
res = first;
- label_155: while (true) {
- if (jj_2_13(2)) {
+ label_161: while (true) {
+ if (jj_2_8(2)) {
;
} else {
- break label_155;
+ break label_161;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMA:
@@ -4901,7 +5080,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
res = operator(res);
break;
default:
- jj_la1[220] = jj_gen;
+ jj_la1[232] = jj_gen;
;
}
res = term(res);
@@ -4937,7 +5116,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
break;
default:
- jj_la1[221] = jj_gen;
+ jj_la1[233] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4969,6 +5148,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -4987,7 +5168,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
result = variableTerm(prev);
break;
default:
- jj_la1[222] = jj_gen;
+ jj_la1[234] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5033,6 +5214,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -5049,7 +5232,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
op = unaryOperator();
break;
default:
- jj_la1[223] = jj_gen;
+ jj_la1[235] = jj_gen;
;
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
@@ -5098,6 +5281,16 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn,
prev, number(op, n, 2));
break;
+ case LEM:
+ n = jj_consume_token(LEM);
+ result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn,
+ prev, number(op, n, 3));
+ break;
+ case REM:
+ n = jj_consume_token(REM);
+ result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn,
+ prev, number(op, n, 3));
+ break;
case EXS:
n = jj_consume_token(EXS);
result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn,
@@ -5154,7 +5347,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
result = function(op, prev);
break;
default:
- jj_la1[224] = jj_gen;
+ jj_la1[236] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5180,7 +5373,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
s += ".";
break;
default:
- jj_la1[225] = jj_gen;
+ jj_la1[237] = jj_gen;
;
}
n = jj_consume_token(IDENT);
@@ -5218,24 +5411,24 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
result = unicode(prev);
break;
default:
- jj_la1[226] = jj_gen;
+ jj_la1[238] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[227] = jj_gen;
+ jj_la1[239] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
- label_156: while (true) {
+ label_162: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[228] = jj_gen;
- break label_156;
+ jj_la1[240] = jj_gen;
+ break label_162;
}
jj_consume_token(S);
}
@@ -5258,14 +5451,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
Token n;
LexicalUnit params = null;
n = jj_consume_token(FUNCTION);
- label_157: while (true) {
+ label_163: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[229] = jj_gen;
- break label_157;
+ jj_la1[241] = jj_gen;
+ break label_163;
}
jj_consume_token(S);
}
@@ -5278,6 +5471,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
n.beginColumn, null, "alpha(" + body);
}
}
+ } else if ("expression(".equals(fname)) {
+ String body = skipStatementUntilSemiColon();
+ {
+ if (true) {
+ return LexicalUnitImpl.createIdent(n.beginLine,
+ n.beginColumn, null, "expression(" + body);
+ }
+ }
}
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case PLUS:
@@ -5296,6 +5497,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case IN:
case PX:
case EMS:
+ case LEM:
+ case REM:
case EXS:
case DEG:
case RAD:
@@ -5311,7 +5514,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
params = expr();
break;
default:
- jj_la1[230] = jj_gen;
+ jj_la1[242] = jj_gen;
;
}
jj_consume_token(RPARAN);
@@ -5848,14 +6051,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
*/
final public void _parseRule() throws ParseException {
String ret = null;
- label_158: while (true) {
+ label_164: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[231] = jj_gen;
- break label_158;
+ jj_la1[243] = jj_gen;
+ break label_164;
}
jj_consume_token(S);
}
@@ -5887,7 +6090,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
fontFace();
break;
default:
- jj_la1[232] = jj_gen;
+ jj_la1[244] = jj_gen;
ret = skipStatement();
if ((ret == null) || (ret.length() == 0)) {
{
@@ -5910,14 +6113,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
final public void _parseImportRule() throws ParseException {
- label_159: while (true) {
+ label_165: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[233] = jj_gen;
- break label_159;
+ jj_la1[245] = jj_gen;
+ break label_165;
}
jj_consume_token(S);
}
@@ -5925,14 +6128,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
final public void _parseMediaRule() throws ParseException {
- label_160: while (true) {
+ label_166: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[234] = jj_gen;
- break label_160;
+ jj_la1[246] = jj_gen;
+ break label_166;
}
jj_consume_token(S);
}
@@ -5940,14 +6143,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
final public void _parseDeclarationBlock() throws ParseException {
- label_161: while (true) {
+ label_167: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[235] = jj_gen;
- break label_161;
+ jj_la1[247] = jj_gen;
+ break label_167;
}
jj_consume_token(S);
}
@@ -5957,27 +6160,27 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[236] = jj_gen;
+ jj_la1[248] = jj_gen;
;
}
- label_162: while (true) {
+ label_168: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case SEMICOLON:
;
break;
default:
- jj_la1[237] = jj_gen;
- break label_162;
+ jj_la1[249] = jj_gen;
+ break label_168;
}
jj_consume_token(SEMICOLON);
- label_163: while (true) {
+ label_169: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[238] = jj_gen;
- break label_163;
+ jj_la1[250] = jj_gen;
+ break label_169;
}
jj_consume_token(S);
}
@@ -5987,7 +6190,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
declaration();
break;
default:
- jj_la1[239] = jj_gen;
+ jj_la1[251] = jj_gen;
;
}
}
@@ -5996,14 +6199,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
final public ArrayList<String> _parseSelectors() throws ParseException {
ArrayList<String> p = null;
try {
- label_164: while (true) {
+ label_170: while (true) {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case S:
;
break;
default:
- jj_la1[240] = jj_gen;
- break label_164;
+ jj_la1[252] = jj_gen;
+ break label_170;
}
jj_consume_token(S);
}
@@ -6119,105 +6322,65 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
}
- private boolean jj_2_9(int xla) {
- jj_la = xla;
- jj_lastpos = jj_scanpos = token;
- try {
- return !jj_3_9();
- } catch (LookaheadSuccess ls) {
- return true;
- } finally {
- jj_save(8, xla);
- }
- }
-
- private boolean jj_2_10(int xla) {
- jj_la = xla;
- jj_lastpos = jj_scanpos = token;
- try {
- return !jj_3_10();
- } catch (LookaheadSuccess ls) {
- return true;
- } finally {
- jj_save(9, xla);
- }
- }
-
- private boolean jj_2_11(int xla) {
- jj_la = xla;
- jj_lastpos = jj_scanpos = token;
- try {
- return !jj_3_11();
- } catch (LookaheadSuccess ls) {
- return true;
- } 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_2_13(int xla) {
- jj_la = xla;
- jj_lastpos = jj_scanpos = token;
- try {
- return !jj_3_13();
- } catch (LookaheadSuccess ls) {
+ private boolean jj_3R_212() {
+ if (jj_3R_249()) {
return true;
- } finally {
- jj_save(12, xla);
}
+ return false;
}
- private boolean jj_3R_368() {
+ private boolean jj_3R_195() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3_6()) {
+ if (jj_3R_212()) {
jj_scanpos = xsp;
- if (jj_scan_token(76)) {
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_213()) {
+ jj_scanpos = xsp;
+ if (jj_3R_214()) {
jj_scanpos = xsp;
- if (jj_scan_token(72)) {
+ if (jj_3R_215()) {
jj_scanpos = xsp;
- if (jj_scan_token(73)) {
+ if (jj_3R_216()) {
jj_scanpos = xsp;
- if (jj_scan_token(33)) {
+ if (jj_3R_217()) {
jj_scanpos = xsp;
- if (jj_scan_token(34)) {
+ if (jj_3R_218()) {
jj_scanpos = xsp;
- if (jj_scan_token(20)) {
+ if (jj_3R_219()) {
jj_scanpos = xsp;
- if (jj_scan_token(21)) {
+ if (jj_3R_220()) {
jj_scanpos = xsp;
- if (jj_scan_token(27)) {
+ if (jj_3R_221()) {
jj_scanpos = xsp;
- if (jj_scan_token(30)) {
+ if (jj_3R_222()) {
jj_scanpos = xsp;
- if (jj_scan_token(35)) {
+ if (jj_3R_223()) {
jj_scanpos = xsp;
- if (jj_scan_token(19)) {
+ if (jj_3R_224()) {
jj_scanpos = xsp;
- if (jj_scan_token(24)) {
+ if (jj_3R_225()) {
jj_scanpos = xsp;
- if (jj_scan_token(26)) {
+ if (jj_3R_226()) {
jj_scanpos = xsp;
- if (jj_scan_token(36)) {
+ if (jj_3R_227()) {
jj_scanpos = xsp;
- if (jj_scan_token(37)) {
+ if (jj_3R_228()) {
jj_scanpos = xsp;
- if (jj_scan_token(1)) {
+ if (jj_3R_229()) {
jj_scanpos = xsp;
- if (jj_scan_token(38)) {
- return true;
+ if (jj_3R_230()) {
+ jj_scanpos = xsp;
+ if (jj_3R_231()) {
+ jj_scanpos = xsp;
+ if (jj_3R_232()) {
+ jj_scanpos = xsp;
+ if (jj_3R_233()) {
+ return true;
+ }
+ }
+ }
}
}
}
@@ -6239,121 +6402,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_230() {
- if (jj_scan_token(DIMEN)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_323() {
- if (jj_scan_token(INTERPOLATION)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_229() {
- if (jj_scan_token(KHZ)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_174() {
- if (jj_3R_195()) {
- 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_196()) {
- 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_228() {
- if (jj_scan_token(HZ)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_177() {
- if (jj_3R_200()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_326() {
- 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_227() {
- if (jj_scan_token(MS)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_299() {
- if (jj_3R_326()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_226() {
- if (jj_scan_token(SECOND)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_225() {
- if (jj_scan_token(GRAD)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_274() {
- if (jj_scan_token(FUNCTION)) {
+ private boolean jj_3R_181() {
+ if (jj_scan_token(VARIABLE)) {
return true;
}
Token xsp;
@@ -6367,40 +6417,15 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_224() {
- if (jj_scan_token(RAD)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_325() {
- if (jj_scan_token(DEBUG_SYM)) {
- return true;
- }
+ private boolean jj_3R_176() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
+ xsp = jj_scanpos;
+ if (jj_3R_195()) {
+ jj_scanpos = xsp;
+ if (jj_3R_196()) {
+ return true;
}
}
- return false;
- }
-
- private boolean jj_3R_223() {
- if (jj_scan_token(DEG)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_251() {
- if (jj_scan_token(VARIABLE)) {
- return true;
- }
- Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) {
@@ -6411,7 +6436,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_254() {
+ private boolean jj_3R_184() {
if (jj_scan_token(SEMICOLON)) {
return true;
}
@@ -6426,80 +6451,40 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_222() {
- if (jj_scan_token(EXS)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_221() {
- if (jj_scan_token(EMS)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_298() {
- if (jj_3R_325()) {
+ private boolean jj_3R_252() {
+ if (jj_scan_token(HASH)) {
return true;
}
return false;
}
- private boolean jj_3R_282() {
+ private boolean jj_3R_239() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_298()) {
+ if (jj_3R_255()) {
jj_scanpos = xsp;
- if (jj_3R_299()) {
+ if (jj_3R_256()) {
return true;
}
}
return false;
}
- private boolean jj_3R_322() {
+ private boolean jj_3R_255() {
if (jj_scan_token(IDENT)) {
return true;
}
return false;
}
- private boolean jj_3R_294() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_322()) {
- jj_scanpos = xsp;
- if (jj_3R_323()) {
- return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_220() {
- if (jj_scan_token(PX)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_354() {
- if (jj_3R_368()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_273() {
+ private boolean jj_3R_199() {
Token xsp;
- if (jj_3R_294()) {
+ if (jj_3R_239()) {
return true;
}
while (true) {
xsp = jj_scanpos;
- if (jj_3R_294()) {
+ if (jj_3R_239()) {
jj_scanpos = xsp;
break;
}
@@ -6514,364 +6499,131 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_219() {
- if (jj_scan_token(IN)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_309() {
- if (jj_scan_token(IF_SYM)) {
- return true;
- }
- Token xsp;
- if (jj_3R_354()) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_354()) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(LBRACE)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_292() {
- if (jj_3R_310()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_218() {
- if (jj_scan_token(PC)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_217() {
- if (jj_scan_token(MM)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_321() {
- if (jj_scan_token(S)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_320() {
- if (jj_scan_token(DOT)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_319() {
- if (jj_scan_token(EQ)) {
+ private boolean jj_3R_242() {
+ if (jj_3R_181()) {
return true;
}
return false;
}
- private boolean jj_3R_216() {
- if (jj_scan_token(CM)) {
+ private boolean jj_3R_253() {
+ if (jj_scan_token(URL)) {
return true;
}
return false;
}
- private boolean jj_3R_318() {
- if (jj_scan_token(RPARAN)) {
+ private boolean jj_3R_183() {
+ if (jj_3R_205()) {
return true;
}
return false;
}
- private boolean jj_3R_317() {
- if (jj_scan_token(FUNCTION)) {
+ private boolean jj_3R_203() {
+ if (jj_3R_176()) {
return true;
}
return false;
}
- private boolean jj_3R_166() {
+ private boolean jj_3R_180() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3_5()) {
+ if (jj_3R_203()) {
jj_scanpos = xsp;
- if (jj_3R_177()) {
- jj_scanpos = xsp;
- if (jj_3R_178()) {
- jj_scanpos = xsp;
- if (jj_3R_179()) {
- jj_scanpos = xsp;
- if (jj_3R_180()) {
- jj_scanpos = xsp;
- if (jj_3R_181()) {
- jj_scanpos = xsp;
- if (jj_3R_182()) {
- return true;
- }
- }
- }
- }
- }
+ if (jj_3R_204()) {
+ return true;
}
}
return false;
}
- private boolean jj_3_5() {
- if (jj_3R_165()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_316() {
- if (jj_scan_token(COLON)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_253() {
- if (jj_3R_281()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_215() {
- if (jj_scan_token(PT)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_315() {
- if (jj_scan_token(INTERPOLATION)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_314() {
- if (jj_scan_token(COMMA)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_313() {
- if (jj_scan_token(STRING)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_214() {
- if (jj_scan_token(PERCENTAGE)) {
+ private boolean jj_3R_179() {
+ if (jj_3R_202()) {
return true;
}
return false;
}
- private boolean jj_3R_312() {
- if (jj_scan_token(NUMBER)) {
+ private boolean jj_3R_259() {
+ if (jj_scan_token(PLUS)) {
return true;
}
return false;
}
- private boolean jj_3R_271() {
+ private boolean jj_3R_249() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_291()) {
+ if (jj_3R_258()) {
jj_scanpos = xsp;
- if (jj_3R_292()) {
+ if (jj_3R_259()) {
return true;
}
}
return false;
}
- private boolean jj_3R_291() {
- if (jj_3R_309()) {
+ private boolean jj_3R_258() {
+ if (jj_scan_token(MINUS)) {
return true;
}
return false;
}
- private boolean jj_3R_199() {
- if (jj_3R_243()) {
+ private boolean jj_3R_245() {
+ if (jj_scan_token(SIBLING)) {
return true;
}
return false;
}
- private boolean jj_3R_311() {
- if (jj_scan_token(IDENT)) {
+ private boolean jj_3R_244() {
+ if (jj_scan_token(PRECEDES)) {
return true;
}
return false;
}
- private boolean jj_3R_293() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_311()) {
- jj_scanpos = xsp;
- if (jj_3R_312()) {
- jj_scanpos = xsp;
- if (jj_3R_313()) {
- jj_scanpos = xsp;
- if (jj_3R_314()) {
- jj_scanpos = xsp;
- if (jj_3R_315()) {
- jj_scanpos = xsp;
- if (jj_3R_316()) {
- jj_scanpos = xsp;
- if (jj_3R_317()) {
- jj_scanpos = xsp;
- if (jj_3R_318()) {
- jj_scanpos = xsp;
- if (jj_3R_319()) {
- jj_scanpos = xsp;
- if (jj_3R_320()) {
- jj_scanpos = xsp;
- if (jj_3R_321()) {
- return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_213() {
- if (jj_scan_token(NUMBER)) {
+ private boolean jj_3R_254() {
+ if (jj_scan_token(UNICODERANGE)) {
return true;
}
return false;
}
- private boolean jj_3R_212() {
- if (jj_3R_265()) {
+ private boolean jj_3R_243() {
+ if (jj_scan_token(PLUS)) {
return true;
}
return false;
}
- private boolean jj_3R_193() {
+ private boolean jj_3_8() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_212()) {
+ if (jj_3R_179()) {
jj_scanpos = xsp;
}
- xsp = jj_scanpos;
- if (jj_3R_213()) {
- jj_scanpos = xsp;
- if (jj_3R_214()) {
- jj_scanpos = xsp;
- if (jj_3R_215()) {
- jj_scanpos = xsp;
- if (jj_3R_216()) {
- jj_scanpos = xsp;
- if (jj_3R_217()) {
- jj_scanpos = xsp;
- if (jj_3R_218()) {
- jj_scanpos = xsp;
- if (jj_3R_219()) {
- jj_scanpos = xsp;
- if (jj_3R_220()) {
- jj_scanpos = xsp;
- if (jj_3R_221()) {
- jj_scanpos = xsp;
- if (jj_3R_222()) {
- jj_scanpos = xsp;
- if (jj_3R_223()) {
- jj_scanpos = xsp;
- if (jj_3R_224()) {
- jj_scanpos = xsp;
- if (jj_3R_225()) {
- jj_scanpos = xsp;
- if (jj_3R_226()) {
- jj_scanpos = xsp;
- if (jj_3R_227()) {
- jj_scanpos = xsp;
- if (jj_3R_228()) {
- jj_scanpos = xsp;
- if (jj_3R_229()) {
- jj_scanpos = xsp;
- if (jj_3R_230()) {
- jj_scanpos = xsp;
- if (jj_3R_231()) {
- return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
+ if (jj_3R_180()) {
+ return true;
}
return false;
}
- private boolean jj_3R_171() {
+ private boolean jj_3R_206() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_193()) {
+ if (jj_3R_243()) {
jj_scanpos = xsp;
- if (jj_3R_194()) {
- return true;
- }
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ if (jj_3R_244()) {
jj_scanpos = xsp;
- break;
+ if (jj_3R_245()) {
+ return true;
+ }
}
}
- return false;
- }
-
- private boolean jj_3R_272() {
- if (jj_scan_token(MICROSOFT_RULE)) {
- return true;
- }
- Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) {
@@ -6879,58 +6631,17 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- if (jj_scan_token(COLON)) {
- return true;
- }
- if (jj_3R_293()) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_293()) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_261() {
- if (jj_scan_token(SIBLING)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_260() {
- if (jj_scan_token(PRECEDES)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_259() {
- if (jj_scan_token(PLUS)) {
+ private boolean jj_3R_182() {
+ if (jj_3R_180()) {
return true;
}
- return false;
- }
-
- private boolean jj_3R_206() {
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_259()) {
- jj_scanpos = xsp;
- if (jj_3R_260()) {
- jj_scanpos = xsp;
- if (jj_3R_261()) {
- return true;
- }
- }
- }
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ if (jj_3_8()) {
jj_scanpos = xsp;
break;
}
@@ -6938,21 +6649,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_268() {
- if (jj_scan_token(HASH)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_243() {
- if (jj_3R_251()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_185() {
+ private boolean jj_3R_187() {
if (jj_scan_token(SIBLING)) {
return true;
}
@@ -6967,7 +6664,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_184() {
+ private boolean jj_3R_186() {
if (jj_scan_token(PRECEDES)) {
return true;
}
@@ -6982,7 +6679,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_186() {
+ private boolean jj_3R_188() {
if (jj_scan_token(S)) {
return true;
}
@@ -6994,16 +6691,16 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_167() {
+ private boolean jj_3R_172() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_183()) {
+ if (jj_3R_185()) {
jj_scanpos = xsp;
- if (jj_3R_184()) {
+ if (jj_3R_186()) {
jj_scanpos = xsp;
- if (jj_3R_185()) {
+ if (jj_3R_187()) {
jj_scanpos = xsp;
- if (jj_3R_186()) {
+ if (jj_3R_188()) {
return true;
}
}
@@ -7012,7 +6709,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_183() {
+ private boolean jj_3R_185() {
if (jj_scan_token(PLUS)) {
return true;
}
@@ -7027,8 +6724,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_203() {
- if (jj_3R_251()) {
+ private boolean jj_3R_171() {
+ if (jj_3R_181()) {
return true;
}
if (jj_scan_token(COLON)) {
@@ -7042,154 +6739,27 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- if (jj_3R_252()) {
- return true;
- }
- xsp = jj_scanpos;
- if (jj_3R_253()) {
- jj_scanpos = xsp;
- }
- if (jj_3R_254()) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_254()) {
- jj_scanpos = xsp;
- break;
- }
- }
- return false;
- }
-
- private boolean jj_3R_198() {
- if (jj_3R_171()) {
+ if (jj_3R_182()) {
return true;
}
- return false;
- }
-
- private boolean jj_3R_176() {
- Token xsp;
xsp = jj_scanpos;
- if (jj_3R_198()) {
- jj_scanpos = xsp;
- if (jj_3R_199()) {
- return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_269() {
- if (jj_scan_token(URL)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_175() {
- if (jj_3R_197()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_289() {
- if (jj_scan_token(PLUS)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_265() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_288()) {
- jj_scanpos = xsp;
- if (jj_3R_289()) {
- return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_288() {
- if (jj_scan_token(MINUS)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3_13() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_175()) {
+ if (jj_3R_183()) {
jj_scanpos = xsp;
}
- if (jj_3R_176()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_252() {
- if (jj_3R_176()) {
+ if (jj_3R_184()) {
return true;
}
- Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3_13()) {
- jj_scanpos = xsp;
- break;
- }
- }
- return false;
- }
-
- private boolean jj_3R_208() {
- if (jj_scan_token(HASH)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_270() {
- if (jj_scan_token(UNICODERANGE)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_343() {
- if (jj_scan_token(IDENT)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_344() {
- if (jj_scan_token(FUNCTION)) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ if (jj_3R_184()) {
jj_scanpos = xsp;
break;
}
}
- if (true) {
- jj_la = 0;
- jj_scanpos = jj_lastpos;
- return false;
- }
return false;
}
- private boolean jj_3R_242() {
+ private boolean jj_3R_241() {
if (jj_scan_token(COMMA)) {
return true;
}
@@ -7204,100 +6774,19 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_297() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(101)) {
- jj_scanpos = xsp;
- if (jj_scan_token(10)) {
- jj_scanpos = xsp;
- if (jj_scan_token(97)) {
- jj_scanpos = xsp;
- if (jj_scan_token(22)) {
- jj_scanpos = xsp;
- if (jj_scan_token(14)) {
- jj_scanpos = xsp;
- if (jj_scan_token(99)) {
- jj_scanpos = xsp;
- if (jj_scan_token(116)) {
- jj_scanpos = xsp;
- if (jj_scan_token(102)) {
- jj_scanpos = xsp;
- if (jj_scan_token(95)) {
- jj_scanpos = xsp;
- if (jj_scan_token(18)) {
- jj_scanpos = xsp;
- if (jj_scan_token(12)) {
- jj_scanpos = xsp;
- if (jj_scan_token(96)) {
- jj_scanpos = xsp;
- if (jj_scan_token(41)) {
- jj_scanpos = xsp;
- if (jj_scan_token(73)) {
- jj_scanpos = xsp;
- if (jj_scan_token(98)) {
- jj_scanpos = xsp;
- if (jj_scan_token(77)) {
- jj_scanpos = xsp;
- if (jj_scan_token(71)) {
- jj_scanpos = xsp;
- if (jj_scan_token(112)) {
- jj_scanpos = xsp;
- if (jj_scan_token(75)) {
- 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(117)) {
- return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_197() {
+ private boolean jj_3R_202() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_241()) {
+ if (jj_3R_240()) {
jj_scanpos = xsp;
- if (jj_3R_242()) {
+ if (jj_3R_241()) {
return true;
}
}
return false;
}
- private boolean jj_3R_241() {
+ private boolean jj_3R_240() {
if (jj_scan_token(DIV)) {
return true;
}
@@ -7312,7 +6801,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_281() {
+ private boolean jj_3R_205() {
if (jj_scan_token(GUARDED_SYM)) {
return true;
}
@@ -7327,7 +6816,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_192() {
+ private boolean jj_3R_194() {
if (jj_scan_token(VARIABLE)) {
return true;
}
@@ -7352,10 +6841,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_169() {
+ private boolean jj_3R_174() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_192()) {
+ if (jj_3R_194()) {
jj_scanpos = xsp;
}
if (jj_scan_token(CONTAINS)) {
@@ -7376,56 +6865,22 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_355() {
- if (jj_scan_token(IMPORTANT_SYM)) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- return false;
- }
-
- private boolean jj_3_11() {
- if (jj_3R_169()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_342() {
- if (jj_scan_token(COLON)) {
+ private boolean jj_3R_208() {
+ if (jj_scan_token(HASH)) {
return true;
}
return false;
}
- private boolean jj_3R_210() {
- if (jj_scan_token(COLON)) {
+ private boolean jj_3R_281() {
+ if (jj_scan_token(IDENT)) {
return true;
}
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_342()) {
- jj_scanpos = xsp;
- }
- xsp = jj_scanpos;
- if (jj_3R_343()) {
- jj_scanpos = xsp;
- if (jj_3R_344()) {
- return true;
- }
- }
return false;
}
- private boolean jj_3R_172() {
- if (jj_scan_token(VARIABLE)) {
+ private boolean jj_3R_282() {
+ if (jj_scan_token(FUNCTION)) {
return true;
}
Token xsp;
@@ -7436,26 +6891,6 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- if (jj_scan_token(COLON)) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(REMOVE)) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
if (true) {
jj_la = 0;
jj_scanpos = jj_lastpos;
@@ -7464,225 +6899,123 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3_10() {
- if (jj_3R_173()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_247() {
- if (jj_scan_token(SEMICOLON)) {
+ private boolean jj_3R_280() {
+ 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_324() {
+ private boolean jj_3R_210() {
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_295() {
- Token xsp;
xsp = jj_scanpos;
- if (jj_3R_324()) {
+ if (jj_3R_280()) {
jj_scanpos = xsp;
}
- if (jj_3R_176()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_173() {
- 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;
+ xsp = jj_scanpos;
+ if (jj_3R_281()) {
+ jj_scanpos = xsp;
+ if (jj_3R_282()) {
+ return true;
}
}
- if (true) {
- jj_la = 0;
- jj_scanpos = jj_lastpos;
- return false;
- }
return false;
}
- private boolean jj_3R_356() {
- if (jj_3R_273()) {
- return true;
- }
- if (jj_scan_token(COLON)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_280() {
- if (jj_3R_297()) {
+ private boolean jj_3_7() {
+ if (jj_3R_178()) {
return true;
}
return false;
}
- private boolean jj_3R_367() {
+ private boolean jj_3R_301() {
if (jj_scan_token(STRING)) {
return true;
}
return false;
}
- private boolean jj_3R_365() {
+ private boolean jj_3R_299() {
if (jj_scan_token(STARMATCH)) {
return true;
}
return false;
}
- private boolean jj_3R_366() {
+ private boolean jj_3R_300() {
if (jj_scan_token(IDENT)) {
return true;
}
return false;
}
- private boolean jj_3R_364() {
+ private boolean jj_3R_298() {
if (jj_scan_token(DOLLARMATCH)) {
return true;
}
return false;
}
- private boolean jj_3R_363() {
+ private boolean jj_3R_297() {
if (jj_scan_token(CARETMATCH)) {
return true;
}
return false;
}
- private boolean jj_3R_362() {
+ private boolean jj_3R_296() {
if (jj_scan_token(DASHMATCH)) {
return true;
}
return false;
}
- private boolean jj_3R_361() {
+ private boolean jj_3R_295() {
if (jj_scan_token(INCLUDES)) {
return true;
}
return false;
}
- private boolean jj_3R_357() {
- if (jj_3R_356()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_303() {
+ private boolean jj_3R_267() {
if (jj_scan_token(INTERPOLATION)) {
return true;
}
return false;
}
- private boolean jj_3R_245() {
- if (jj_3R_251()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_360() {
+ private boolean jj_3R_294() {
if (jj_scan_token(EQ)) {
return true;
}
return false;
}
- private boolean jj_3_9() {
- if (jj_3R_172()) {
+ private boolean jj_3R_201() {
+ if (jj_scan_token(LBRACE)) {
return true;
}
return false;
}
- private boolean jj_3R_165() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_9()) {
- jj_scanpos = xsp;
- if (jj_3_10()) {
- jj_scanpos = xsp;
- if (jj_3_11()) {
- return true;
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_349() {
+ private boolean jj_3R_287() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_360()) {
+ if (jj_3R_294()) {
jj_scanpos = xsp;
- if (jj_3R_361()) {
+ if (jj_3R_295()) {
jj_scanpos = xsp;
- if (jj_3R_362()) {
+ if (jj_3R_296()) {
jj_scanpos = xsp;
- if (jj_3R_363()) {
+ if (jj_3R_297()) {
jj_scanpos = xsp;
- if (jj_3R_364()) {
+ if (jj_3R_298()) {
jj_scanpos = xsp;
- if (jj_3R_365()) {
+ if (jj_3R_299()) {
return true;
}
}
@@ -7698,9 +7031,9 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
}
xsp = jj_scanpos;
- if (jj_3R_366()) {
+ if (jj_3R_300()) {
jj_scanpos = xsp;
- if (jj_3R_367()) {
+ if (jj_3R_301()) {
return true;
}
}
@@ -7714,13 +7047,6 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_279() {
- if (jj_3R_174()) {
- return true;
- }
- return false;
- }
-
private boolean jj_3R_211() {
if (jj_scan_token(LBRACKET)) {
return true;
@@ -7744,7 +7070,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
}
xsp = jj_scanpos;
- if (jj_3R_349()) {
+ if (jj_3R_287()) {
jj_scanpos = xsp;
}
if (jj_scan_token(RBRACKET)) {
@@ -7753,101 +7079,49 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_246() {
- if (jj_3R_274()) {
- return true;
- }
- if (jj_3R_275()) {
- return true;
- }
- if (jj_scan_token(RPARAN)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_329() {
- 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_357()) {
- jj_scanpos = xsp;
- }
- return false;
- }
-
- private boolean jj_3R_359() {
+ private boolean jj_3R_293() {
if (jj_scan_token(INTERPOLATION)) {
return true;
}
return false;
}
- private boolean jj_3R_277() {
- 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_276()) {
+ private boolean jj_3R_200() {
+ if (jj_3R_182()) {
return true;
}
return false;
}
- private boolean jj_3R_244() {
- if (jj_3R_273()) {
+ private boolean jj_3R_248() {
+ if (jj_scan_token(PARENT)) {
return true;
}
return false;
}
- private boolean jj_3R_264() {
- if (jj_scan_token(PARENT)) {
+ private boolean jj_3R_247() {
+ if (jj_scan_token(ANY)) {
return true;
}
return false;
}
- private boolean jj_3R_276() {
- if (jj_scan_token(IDENT)) {
+ private boolean jj_3_6() {
+ if (jj_3R_177()) {
return true;
}
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
+ if (jj_scan_token(LBRACE)) {
+ return true;
}
return false;
}
- private boolean jj_3R_263() {
- if (jj_scan_token(ANY)) {
+ private boolean jj_3R_178() {
+ if (jj_3R_199()) {
return true;
}
- return false;
- }
-
- private boolean jj_3R_200() {
- if (jj_scan_token(INCLUDE_SYM)) {
+ if (jj_scan_token(COLON)) {
return true;
}
Token xsp;
@@ -7859,77 +7133,42 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
}
xsp = jj_scanpos;
- if (jj_3R_244()) {
+ if (jj_3R_200()) {
jj_scanpos = xsp;
- if (jj_3R_245()) {
- jj_scanpos = xsp;
- if (jj_3R_246()) {
- return true;
- }
- }
- }
- if (jj_3R_247()) {
- return true;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_247()) {
- jj_scanpos = xsp;
- break;
+ if (jj_3R_201()) {
+ return true;
}
}
return false;
}
- private boolean jj_3R_302() {
- if (jj_scan_token(IDENT)) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_249() {
+ private boolean jj_3R_257() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_278()) {
+ if (jj_3R_266()) {
jj_scanpos = xsp;
- if (jj_3R_279()) {
- jj_scanpos = xsp;
- if (jj_3R_280()) {
- return true;
- }
+ if (jj_3R_267()) {
+ return true;
}
}
return false;
}
- private boolean jj_3R_278() {
- if (jj_3R_282()) {
+ private boolean jj_3R_266() {
+ if (jj_scan_token(IDENT)) {
return true;
}
return false;
}
- private boolean jj_3R_287() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_302()) {
- jj_scanpos = xsp;
- if (jj_3R_303()) {
- return true;
- }
- }
- return false;
- }
-
private boolean jj_3R_207() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_262()) {
+ if (jj_3R_246()) {
jj_scanpos = xsp;
- if (jj_3R_263()) {
+ if (jj_3R_247()) {
jj_scanpos = xsp;
- if (jj_3R_264()) {
+ if (jj_3R_248()) {
return true;
}
}
@@ -7937,14 +7176,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_262() {
+ private boolean jj_3R_246() {
Token xsp;
- if (jj_3R_287()) {
+ if (jj_3R_257()) {
return true;
}
while (true) {
xsp = jj_scanpos;
- if (jj_3R_287()) {
+ if (jj_3R_257()) {
jj_scanpos = xsp;
break;
}
@@ -7952,7 +7191,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_296() {
+ private boolean jj_3R_175() {
if (jj_scan_token(COMMA)) {
return true;
}
@@ -7964,170 +7203,63 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- if (jj_3R_176()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_248() {
- if (jj_3R_276()) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_277()) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_328() {
- if (jj_3R_356()) {
+ private boolean jj_3R_291() {
+ if (jj_3R_210()) {
return true;
}
return false;
}
private boolean jj_3R_275() {
- if (jj_3R_176()) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_295()) {
- jj_scanpos = xsp;
- break;
- }
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_296()) {
- jj_scanpos = xsp;
- break;
- }
- }
- return false;
- }
-
- private boolean jj_3R_170() {
- 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_301() {
- 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_328()) {
+ if (jj_3R_292()) {
jj_scanpos = xsp;
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_329()) {
- 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;
+ if (jj_3R_293()) {
+ return true;
}
}
return false;
}
- private boolean jj_3R_327() {
- if (jj_3R_355()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_353() {
- if (jj_3R_210()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_358() {
+ private boolean jj_3R_292() {
if (jj_scan_token(IDENT)) {
return true;
}
return false;
}
- private boolean jj_3R_337() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_358()) {
- jj_scanpos = xsp;
- if (jj_3R_359()) {
- return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_256() {
- if (jj_3R_283()) {
+ private boolean jj_3R_289() {
+ if (jj_3R_209()) {
return true;
}
return false;
}
- private boolean jj_3R_351() {
+ private boolean jj_3R_284() {
if (jj_3R_209()) {
return true;
}
return false;
}
- private boolean jj_3R_348() {
+ private boolean jj_3R_286() {
if (jj_3R_210()) {
return true;
}
return false;
}
- private boolean jj_3R_346() {
- if (jj_3R_209()) {
- return true;
+ private boolean jj_3_5() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_175()) {
+ jj_scanpos = xsp;
}
- return false;
- }
-
- private boolean jj_3R_336() {
- if (jj_3R_210()) {
+ if (jj_3R_176()) {
return true;
}
return false;
@@ -8138,12 +7270,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return true;
}
Token xsp;
- if (jj_3R_337()) {
+ if (jj_3R_275()) {
return true;
}
while (true) {
xsp = jj_scanpos;
- if (jj_3R_337()) {
+ if (jj_3R_275()) {
jj_scanpos = xsp;
break;
}
@@ -8151,138 +7283,76 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3_8() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_170()) {
- jj_scanpos = xsp;
- }
- if (jj_3R_171()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_341() {
+ private boolean jj_3R_274() {
if (jj_3R_210()) {
return true;
}
return false;
}
- private boolean jj_3R_339() {
+ private boolean jj_3R_277() {
if (jj_3R_209()) {
return true;
}
return false;
}
- private boolean jj_3R_300() {
- if (jj_3R_252()) {
+ private boolean jj_3R_279() {
+ if (jj_3R_210()) {
return true;
}
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_327()) {
- jj_scanpos = xsp;
- }
return false;
}
- private boolean jj_3R_201() {
- 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_248()) {
- 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_249()) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(RBRACE)) {
+ private boolean jj_3R_290() {
+ if (jj_3R_211()) {
return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_352() {
- if (jj_3R_211()) {
+ private boolean jj_3R_260() {
+ if (jj_3R_182()) {
return true;
}
return false;
}
- private boolean jj_3R_283() {
- if (jj_3R_273()) {
- return true;
- }
- if (jj_scan_token(COLON)) {
- return true;
- }
+ private boolean jj_3R_265() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
xsp = jj_scanpos;
- if (jj_3R_300()) {
+ if (jj_3R_288()) {
jj_scanpos = xsp;
- if (jj_3R_301()) {
- return true;
+ if (jj_3R_289()) {
+ jj_scanpos = xsp;
+ if (jj_3R_290()) {
+ jj_scanpos = xsp;
+ if (jj_3R_291()) {
+ return true;
+ }
+ }
}
}
return false;
}
- private boolean jj_3R_350() {
+ private boolean jj_3R_288() {
if (jj_3R_208()) {
return true;
}
return false;
}
- private boolean jj_3R_308() {
+ private boolean jj_3R_264() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_350()) {
+ if (jj_3R_283()) {
jj_scanpos = xsp;
- if (jj_3R_351()) {
+ if (jj_3R_284()) {
jj_scanpos = xsp;
- if (jj_3R_352()) {
+ if (jj_3R_285()) {
jj_scanpos = xsp;
- if (jj_3R_353()) {
+ if (jj_3R_286()) {
return true;
}
}
@@ -8291,23 +7361,30 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_345() {
+ private boolean jj_3R_283() {
if (jj_3R_208()) {
return true;
}
return false;
}
- private boolean jj_3R_307() {
+ private boolean jj_3R_271() {
+ if (jj_3R_210()) {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_263() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_345()) {
+ if (jj_3R_276()) {
jj_scanpos = xsp;
- if (jj_3R_346()) {
+ if (jj_3R_277()) {
jj_scanpos = xsp;
- if (jj_3R_347()) {
+ if (jj_3R_278()) {
jj_scanpos = xsp;
- if (jj_3R_348()) {
+ if (jj_3R_279()) {
return true;
}
}
@@ -8316,117 +7393,93 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_333() {
- if (jj_3R_210()) {
+ private boolean jj_3R_276() {
+ if (jj_3R_208()) {
return true;
}
return false;
}
- private boolean jj_3R_255() {
- if (jj_3R_282()) {
+ private boolean jj_3R_285() {
+ if (jj_3R_211()) {
return true;
}
return false;
}
- private boolean jj_3R_347() {
+ private boolean jj_3R_273() {
if (jj_3R_211()) {
return true;
}
return false;
}
- private boolean jj_3R_338() {
- if (jj_3R_208()) {
+ private boolean jj_3R_278() {
+ if (jj_3R_211()) {
return true;
}
return false;
}
- private boolean jj_3R_306() {
+ private boolean jj_3R_262() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_338()) {
+ if (jj_3R_272()) {
jj_scanpos = xsp;
- if (jj_3R_339()) {
+ if (jj_3R_273()) {
jj_scanpos = xsp;
- if (jj_3R_340()) {
- jj_scanpos = xsp;
- if (jj_3R_341()) {
- return true;
- }
+ if (jj_3R_274()) {
+ return true;
}
}
}
return false;
}
- private boolean jj_3R_335() {
- if (jj_3R_211()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_340() {
- if (jj_3R_211()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_285() {
- if (jj_scan_token(INTERPOLATION)) {
+ private boolean jj_3R_269() {
+ if (jj_3R_209()) {
return true;
}
return false;
}
- private boolean jj_3R_334() {
+ private boolean jj_3R_272() {
if (jj_3R_209()) {
return true;
}
return false;
}
- private boolean jj_3R_331() {
- if (jj_3R_209()) {
+ private boolean jj_3R_250() {
+ if (jj_scan_token(FUNCTION)) {
return true;
}
- return false;
- }
-
- private boolean jj_3R_305() {
Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_334()) {
- jj_scanpos = xsp;
- if (jj_3R_335()) {
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_scan_token(1)) {
jj_scanpos = xsp;
- if (jj_3R_336()) {
- return true;
- }
+ break;
}
}
- return false;
- }
-
- private boolean jj_3_2() {
- if (jj_3R_166()) {
+ xsp = jj_scanpos;
+ if (jj_3R_260()) {
+ jj_scanpos = xsp;
+ }
+ if (jj_scan_token(RPARAN)) {
return true;
}
return false;
}
- private boolean jj_3R_191() {
+ private boolean jj_3R_193() {
if (jj_3R_211()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_308()) {
+ if (jj_3R_265()) {
jj_scanpos = xsp;
break;
}
@@ -8434,21 +7487,14 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_182() {
- if (jj_3R_205()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_190() {
+ private boolean jj_3R_192() {
if (jj_3R_210()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_307()) {
+ if (jj_3R_264()) {
jj_scanpos = xsp;
break;
}
@@ -8456,21 +7502,28 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_332() {
+ private boolean jj_3R_270() {
if (jj_3R_211()) {
return true;
}
return false;
}
- private boolean jj_3R_189() {
+ private boolean jj_3R_238() {
+ if (jj_3R_254()) {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_191() {
if (jj_3R_209()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_306()) {
+ if (jj_3R_263()) {
jj_scanpos = xsp;
break;
}
@@ -8478,46 +7531,28 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_258() {
- if (jj_3R_286()) {
+ private boolean jj_3R_237() {
+ if (jj_3R_253()) {
return true;
}
return false;
}
- private boolean jj_3R_330() {
- if (jj_3R_208()) {
+ private boolean jj_3R_236() {
+ if (jj_3R_252()) {
return true;
}
return false;
}
- private boolean jj_3R_304() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_330()) {
- jj_scanpos = xsp;
- if (jj_3R_331()) {
- jj_scanpos = xsp;
- if (jj_3R_332()) {
- jj_scanpos = xsp;
- if (jj_3R_333()) {
- return true;
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_188() {
+ private boolean jj_3R_190() {
if (jj_3R_208()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_305()) {
+ if (jj_3R_262()) {
jj_scanpos = xsp;
break;
}
@@ -8525,46 +7560,39 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_286() {
+ private boolean jj_3R_261() {
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(53)) {
+ if (jj_3R_268()) {
jj_scanpos = xsp;
- if (jj_scan_token(50)) {
+ if (jj_3R_269()) {
jj_scanpos = xsp;
- if (jj_scan_token(77)) {
- return true;
+ if (jj_3R_270()) {
+ jj_scanpos = xsp;
+ if (jj_3R_271()) {
+ return true;
+ }
}
}
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(LBRACE)) {
- return true;
- }
return false;
}
- private boolean jj_3_12() {
- if (jj_3R_174()) {
+ private boolean jj_3R_268() {
+ if (jj_3R_208()) {
return true;
}
return false;
}
- private boolean jj_3R_187() {
+ private boolean jj_3R_189() {
if (jj_3R_207()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_3R_304()) {
+ if (jj_3R_261()) {
jj_scanpos = xsp;
break;
}
@@ -8572,18 +7600,18 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_168() {
+ private boolean jj_3R_173() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_187()) {
+ if (jj_3R_189()) {
jj_scanpos = xsp;
- if (jj_3R_188()) {
+ if (jj_3R_190()) {
jj_scanpos = xsp;
- if (jj_3R_189()) {
+ if (jj_3R_191()) {
jj_scanpos = xsp;
- if (jj_3R_190()) {
+ if (jj_3R_192()) {
jj_scanpos = xsp;
- if (jj_3R_191()) {
+ if (jj_3R_193()) {
return true;
}
}
@@ -8593,76 +7621,82 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
return false;
}
- private boolean jj_3R_204() {
+ private boolean jj_3R_251() {
+ if (jj_scan_token(DOT)) {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_235() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3_12()) {
+ if (jj_3R_251()) {
jj_scanpos = xsp;
- if (jj_3R_255()) {
- jj_scanpos = xsp;
- if (jj_3R_256()) {
- return true;
- }
- }
+ }
+ if (jj_scan_token(IDENT)) {
+ return true;
}
return false;
}
- private boolean jj_3_7() {
- if (jj_3R_166()) {
+ private boolean jj_3_1() {
+ if (jj_3R_171()) {
return true;
}
return false;
}
- private boolean jj_3R_290() {
- if (jj_3R_252()) {
+ private boolean jj_3R_234() {
+ if (jj_scan_token(STRING)) {
return true;
}
return false;
}
- private boolean jj_3R_257() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_284()) {
- jj_scanpos = xsp;
- if (jj_3R_285()) {
- return true;
- }
+ private boolean jj_3_2() {
+ if (jj_3R_172()) {
+ return true;
+ }
+ if (jj_3R_173()) {
+ return true;
}
return false;
}
- private boolean jj_3R_284() {
- if (jj_scan_token(IDENT)) {
+ private boolean jj_3R_233() {
+ if (jj_3R_250()) {
return true;
}
return false;
}
- private boolean jj_3R_205() {
- if (jj_scan_token(KEY_FRAME_SYM)) {
- return true;
- }
+ private boolean jj_3R_196() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ xsp = jj_scanpos;
+ if (jj_3R_234()) {
+ jj_scanpos = xsp;
+ if (jj_3R_235()) {
jj_scanpos = xsp;
- break;
+ if (jj_3R_236()) {
+ jj_scanpos = xsp;
+ if (jj_3R_237()) {
+ jj_scanpos = xsp;
+ if (jj_3R_238()) {
+ return true;
+ }
+ }
+ }
}
}
- if (jj_3R_257()) {
+ return false;
+ }
+
+ private boolean jj_3R_198() {
+ if (jj_scan_token(COMMA)) {
return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_257()) {
- jj_scanpos = xsp;
- break;
- }
- }
+ Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) {
@@ -8670,41 +7704,24 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- if (jj_scan_token(LBRACE)) {
+ if (jj_3R_197()) {
return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_258()) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(RBRACE)) {
+ return false;
+ }
+
+ private boolean jj_3R_197() {
+ if (jj_3R_173()) {
return true;
}
+ Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ if (jj_3_2()) {
jj_scanpos = xsp;
break;
}
}
- return false;
- }
-
- private boolean jj_3R_266() {
- if (jj_scan_token(FUNCTION)) {
- return true;
- }
- Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(1)) {
@@ -8712,300 +7729,187 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
break;
}
}
- xsp = jj_scanpos;
- if (jj_3R_290()) {
- jj_scanpos = xsp;
- }
- if (jj_scan_token(RPARAN)) {
- return true;
- }
return false;
}
- private boolean jj_3R_240() {
- if (jj_3R_272()) {
- return true;
- }
- return false;
- }
-
- private boolean jj_3R_236() {
- if (jj_3R_270()) {
+ private boolean jj_3R_232() {
+ if (jj_scan_token(DIMEN)) {
return true;
}
return false;
}
- private boolean jj_3R_181() {
- if (jj_3R_204()) {
+ private boolean jj_3R_231() {
+ if (jj_scan_token(KHZ)) {
return true;
}
return false;
}
- private boolean jj_3R_235() {
- if (jj_3R_269()) {
+ private boolean jj_3R_230() {
+ if (jj_scan_token(HZ)) {
return true;
}
return false;
}
- private boolean jj_3R_234() {
- if (jj_3R_268()) {
+ private boolean jj_3R_229() {
+ if (jj_scan_token(MS)) {
return true;
}
return false;
}
- private boolean jj_3_4() {
- if (jj_3R_167()) {
- return true;
- }
- if (jj_3R_168()) {
+ private boolean jj_3R_228() {
+ if (jj_scan_token(SECOND)) {
return true;
}
return false;
}
- private boolean jj_3R_238() {
- if (jj_scan_token(COMMA)) {
+ private boolean jj_3R_177() {
+ if (jj_3R_197()) {
return true;
}
Token xsp;
while (true) {
xsp = jj_scanpos;
- if (jj_scan_token(1)) {
+ if (jj_3R_198()) {
jj_scanpos = xsp;
break;
}
}
- if (jj_3R_237()) {
- return true;
- }
return false;
}
- private boolean jj_3R_237() {
- if (jj_3R_168()) {
+ private boolean jj_3R_227() {
+ if (jj_scan_token(GRAD)) {
return true;
}
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_4()) {
- jj_scanpos = xsp;
- break;
- }
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_180() {
- if (jj_3R_203()) {
+ private boolean jj_3R_226() {
+ if (jj_scan_token(RAD)) {
return true;
}
return false;
}
- private boolean jj_3R_239() {
- if (jj_3R_271()) {
+ private boolean jj_3R_225() {
+ if (jj_scan_token(DEG)) {
return true;
}
return false;
}
- private boolean jj_3R_250() {
- if (jj_scan_token(SEMICOLON)) {
+ private boolean jj_3R_224() {
+ if (jj_scan_token(EXS)) {
return true;
}
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_202() {
- if (jj_scan_token(EXTEND_SYM)) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_3R_195()) {
- return true;
- }
- if (jj_3R_250()) {
+ private boolean jj_3R_223() {
+ if (jj_scan_token(REM)) {
return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_250()) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_310() {
- if (jj_scan_token(EACH_SYM)) {
- return true;
- }
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(VARIABLE)) {
+ private boolean jj_3_4() {
+ if (jj_3R_174()) {
return true;
}
- while (true) {
- xsp = jj_scanpos;
- if (jj_scan_token(1)) {
- jj_scanpos = xsp;
- break;
- }
- }
- if (jj_scan_token(EACH_IN)) {
+ return false;
+ }
+
+ private boolean jj_3R_222() {
+ if (jj_scan_token(LEM)) {
return true;
}
return false;
}
- private boolean jj_3R_195() {
- if (jj_3R_237()) {
+ private boolean jj_3R_221() {
+ if (jj_scan_token(EMS)) {
return true;
}
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_238()) {
- jj_scanpos = xsp;
- break;
- }
- }
return false;
}
- private boolean jj_3R_179() {
- if (jj_3R_202()) {
+ private boolean jj_3R_220() {
+ if (jj_scan_token(PX)) {
return true;
}
return false;
}
- private boolean jj_3R_267() {
- if (jj_scan_token(DOT)) {
+ private boolean jj_3R_219() {
+ if (jj_scan_token(IN)) {
return true;
}
return false;
}
- private boolean jj_3R_233() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_267()) {
- jj_scanpos = xsp;
- }
- if (jj_scan_token(IDENT)) {
+ private boolean jj_3R_218() {
+ if (jj_scan_token(PC)) {
return true;
}
return false;
}
- private boolean jj_3R_178() {
- if (jj_3R_201()) {
+ private boolean jj_3R_256() {
+ if (jj_scan_token(INTERPOLATION)) {
return true;
}
return false;
}
- private boolean jj_3R_232() {
- if (jj_scan_token(STRING)) {
+ private boolean jj_3R_217() {
+ if (jj_scan_token(MM)) {
return true;
}
return false;
}
- private boolean jj_3R_231() {
- if (jj_3R_266()) {
+ private boolean jj_3R_216() {
+ if (jj_scan_token(CM)) {
return true;
}
return false;
}
- private boolean jj_3R_194() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_232()) {
- jj_scanpos = xsp;
- if (jj_3R_233()) {
- jj_scanpos = xsp;
- if (jj_3R_234()) {
- jj_scanpos = xsp;
- if (jj_3R_235()) {
- jj_scanpos = xsp;
- if (jj_3R_236()) {
- return true;
- }
- }
- }
- }
+ private boolean jj_3R_215() {
+ if (jj_scan_token(PT)) {
+ return true;
}
return false;
}
- private boolean jj_3R_196() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_3()) {
- jj_scanpos = xsp;
- if (jj_3R_239()) {
- jj_scanpos = xsp;
- if (jj_3R_240()) {
- return true;
- }
- }
+ private boolean jj_3R_214() {
+ if (jj_scan_token(PERCENTAGE)) {
+ return true;
}
return false;
}
- private boolean jj_3_3() {
- if (jj_3R_166()) {
+ private boolean jj_3R_204() {
+ if (jj_3R_242()) {
return true;
}
return false;
}
- private boolean jj_3_6() {
- if (jj_3R_169()) {
+ private boolean jj_3_3() {
+ if (jj_3R_171()) {
return true;
}
return false;
}
- private boolean jj_3_1() {
- if (jj_3R_165()) {
+ private boolean jj_3R_213() {
+ if (jj_scan_token(NUMBER)) {
return true;
}
return false;
@@ -9021,7 +7925,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
private Token jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
- final private int[] jj_la1 = new int[241];
+ final private int[] jj_la1 = new int[253];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -9035,55 +7939,57 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
private static void jj_la1_init_0() {
jj_la1_0 = new int[] { 0x0, 0xc02, 0xc02, 0x0, 0xc00, 0x2, 0x2, 0x2,
- 0xd0000000, 0xc00, 0x2, 0xc00, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2,
- 0x0, 0x0, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0xd0000000, 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, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0xd0000000, 0x0,
- 0x2, 0x400000, 0x2, 0x2, 0x10000000, 0x10000000, 0x10000000,
+ 0xd0000000, 0x0, 0xc00, 0x2, 0xc00, 0x2, 0x0, 0x2, 0x0, 0x2,
+ 0x2, 0x0, 0x0, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0xd0000000,
+ 0xd0000000, 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, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2,
+ 0xd0000000, 0xd0000000, 0x2, 0x400000, 0x2, 0x2, 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, 0x2, 0x2, 0x0, 0x2,
- 0x2, 0x2, 0x400000, 0x2, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2,
- 0x400000, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, 0x400000,
- 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, };
+ 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, 0x0, 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, 0xd0000000, 0x2, 0x400000, 0x2, 0x2,
+ 0x2, 0x400000, 0x0, 0x0, 0x300000, 0x2, 0x0, 0x400000, 0x2,
+ 0x300000, 0x2, 0x0, 0x2, 0x0, 0x2, 0x800000, 0x2, 0x2, 0x0,
+ 0x2, 0x0, 0x2, 0x2, 0x2, 0x400000, 0x2, 0x2, 0x2, 0x2, 0x2,
+ 0x0, 0x2, 0x2, 0x2, 0x400000, 0x2, 0x2, 0x2, 0x0, 0x2, 0x2,
+ 0x2, 0x400000, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2,
+ 0x400000, 0x0, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, 0x800000, 0x2,
+ 0x2, 0x0, 0x800000, 0x2, 0x0, 0x2, 0x0, 0xd0000000, 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,
- 0xacc00181, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100,
- 0x100, 0x0, 0x0, 0x240000, 0x0, 0x240000, 0x0, 0x0, 0xac800181,
- 0xa0000000, 0x0, 0x0, 0x0, 0xc000381, 0xc000381, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0,
- 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x200, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x185, 0x185, 0x0, 0x100, 0x100,
- 0x0, 0x0, 0x0, 0x0, 0xac800181, 0xa0000000, 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, 0xa0000000,
- 0xc800181, 0x7e, 0x0, 0xc800181, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0,
- 0xc800181, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc800181, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0xac800181,
- 0xa0000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x80, 0x81,
- 0x0, 0x80, 0x0, 0x0, 0x81, 0x0, 0x80, 0x0, 0x100, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0,
- 0x0, 0x0, 0x0, 0xc000000, 0x0, 0x0, 0xc0000, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0xc000100, 0x0,
+ 0xacc00181, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x100, 0x100, 0x0, 0x0, 0x240000, 0x0, 0x240000, 0x0, 0x0,
+ 0xac800181, 0xac800181, 0x0, 0x0, 0x0, 0xc000381, 0xc000381,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x100, 0x0, 0x0,
+ 0x100, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x200,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x185, 0x185, 0x0,
+ 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0xac800181, 0xac800181, 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,
+ 0xa0000000, 0xc800181, 0x0, 0x7e, 0x0, 0xc800181, 0x0, 0x0,
+ 0x0, 0x7e, 0x0, 0x0, 0xc800181, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0xc800181, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0,
+ 0xac800181, 0xac800181, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80,
+ 0x80, 0x81, 0x0, 0x80, 0x0, 0x0, 0x81, 0x0, 0x80, 0x0, 0x100,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0,
+ 0x0, 0x0, 0xc000000, 0x0, 0x0, 0xc0000, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0xc000000, 0x181, 0x0,
0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0,
0x0, 0x1, 0x0, 0xc000181, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0,
@@ -9091,59 +7997,60 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] { 0x0, 0x0, 0x0, 0x80000000, 0x0, 0x0, 0x0, 0x0,
- 0x40001100, 0x0, 0x0, 0x0, 0x0, 0x880, 0x0, 0x100, 0x0, 0x0,
- 0x100, 0x100, 0x0, 0x0, 0x2000, 0x0, 0x2000, 0x0, 0x0,
- 0x40001112, 0x10, 0x0, 0x0, 0x0, 0xc0002b80, 0xc0002b80, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x0,
- 0x100, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0,
- 0x80002a80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x380,
- 0x380, 0x0, 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0x40001112, 0x10,
- 0x0, 0x0, 0x0, 0x0, 0x40000000, 0x40000000, 0x0, 0x0,
- 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000,
- 0x40000000, 0x40000100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x0,
- 0x0, 0x0, 0x0, 0x180, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x40,
- 0x0, 0x0, 0x0, 0x40001102, 0x1300, 0x0, 0x40001102, 0x0, 0x1,
- 0x0, 0x1300, 0x20, 0x0, 0x40001102, 0x0, 0x1300, 0x0, 0x0, 0x0,
- 0x1100, 0x0, 0x40001102, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x100, 0x0, 0x40001102, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x1000, 0x1000, 0x7ffffb80, 0x0, 0x0, 0x0, 0x0, 0x7ffffb80,
- 0x0, 0x0, 0x0, 0x1100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ jj_la1_2 = new int[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100,
+ 0x1000, 0x0, 0x0, 0x0, 0x0, 0x880, 0x0, 0x100, 0x0, 0x0, 0x100,
+ 0x100, 0x0, 0x0, 0x2000, 0x0, 0x2000, 0x0, 0x0, 0x1112, 0x1112,
+ 0x0, 0x0, 0x0, 0x2b80, 0x2b80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0,
+ 0x100, 0x0, 0x0, 0x100, 0x0, 0x2a80, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x380, 0x380, 0x0, 0x100, 0x100, 0x0, 0x0, 0x0,
+ 0x0, 0x1112, 0x1112, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x100, 0x100, 0x100,
+ 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0x180, 0x0, 0x0, 0x0, 0x0,
+ 0x100, 0x0, 0x40, 0x0, 0x0, 0x0, 0x102, 0x1000, 0x1300, 0x0,
+ 0x1102, 0x0, 0x1, 0x0, 0x1300, 0x20, 0x0, 0x1102, 0x0, 0x1300,
+ 0x0, 0x0, 0x0, 0x1100, 0x0, 0x1102, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x100, 0x0, 0x1102, 0x1102, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x1000, 0x1000, 0xfffffb80, 0x0, 0x0, 0x0, 0x0,
+ 0xfffffb80, 0x0, 0x0, 0x0, 0x1100, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0,
- 0x100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, 0x7ffffb80,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffffb80, 0x0,
- 0x3fffe200, 0x0, 0x40000980, 0x7fffeb80, 0x0, 0x0, 0x7ffffb80,
- 0x0, 0xc0000100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0, };
+ 0x0, 0x100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, 0x0,
+ 0xfffffb80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0xfffffb80, 0x0, 0xffffe200, 0x0, 0x980, 0xffffeb80, 0x0, 0x0,
+ 0xfffffb80, 0x0, 0x100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100,
+ 0x0, };
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] { 0x2, 0x20, 0x20, 0x0, 0x20, 0x0, 0x0, 0x0, 0x1d,
- 0x20, 0x0, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80011, 0x0, 0x0, 0x0, 0x0,
- 0x31006f, 0x31006f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x31006f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x100000, 0x100000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80011,
+ jj_la1_3 = new int[] { 0x8, 0x80, 0x80, 0x2, 0x80, 0x0, 0x0, 0x0, 0x75,
+ 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x45, 0x0, 0x0, 0x0,
+ 0xc401bf, 0xc401bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0xc401be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x400000, 0x400000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45,
+ 0x45, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1,
+ 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x45, 0x0, 0x200000, 0x0, 0x45, 0x0, 0x0, 0x0, 0x200000,
+ 0x0, 0x0, 0x45, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x0, 0x75, 0x75, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x440001, 0x0, 0x0, 0x0,
+ 0x0, 0x440001, 0x0, 0x0, 0x0, 0x400000, 0x0, 0x0, 0x0, 0x0,
+ 0x380000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100000, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x11, 0x80000, 0x0, 0x80011, 0x0, 0x0, 0x0, 0x80000, 0x0,
- 0x0, 0x80011, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80011, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100000, 0x0, 0x8001d, 0xc, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x110000, 0x0, 0x0, 0x0,
- 0x0, 0x110000, 0x0, 0x0, 0x0, 0x100000, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x110000, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
- 0x110000, 0x0, 0x100000, 0x0, 0x10000, 0x110000, 0x0, 0x0,
- 0x110000, 0x0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
+ 0x0, 0x0, 0x0, 0x1, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x440001, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x440001, 0x0, 0x400000, 0x0, 0x40001, 0x440001, 0x0, 0x0,
+ 0x440001, 0x0, 0x37, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
}
- final private JJCalls[] jj_2_rtns = new JJCalls[13];
+ final private JJCalls[] jj_2_rtns = new JJCalls[8];
private boolean jj_rescan = false;
private int jj_gc = 0;
@@ -9153,7 +8060,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 241; i++) {
+ for (int i = 0; i < 253; i++) {
jj_la1[i] = -1;
}
for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -9167,7 +8074,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 241; i++) {
+ for (int i = 0; i < 253; i++) {
jj_la1[i] = -1;
}
for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -9181,7 +8088,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 241; i++) {
+ for (int i = 0; i < 253; i++) {
jj_la1[i] = -1;
}
for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -9195,7 +8102,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 241; i++) {
+ for (int i = 0; i < 253; i++) {
jj_la1[i] = -1;
}
for (int i = 0; i < jj_2_rtns.length; i++) {
@@ -9341,12 +8248,12 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
- boolean[] la1tokens = new boolean[118];
+ boolean[] la1tokens = new boolean[120];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 241; i++) {
+ for (int i = 0; i < 253; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1 << j)) != 0) {
@@ -9364,7 +8271,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
}
}
}
- for (int i = 0; i < 118; i++) {
+ for (int i = 0; i < 120; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
@@ -9391,7 +8298,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
private void jj_rescan_token() {
jj_rescan = true;
- for (int i = 0; i < 13; i++) {
+ for (int i = 0; i < 8; i++) {
try {
JJCalls p = jj_2_rtns[i];
do {
@@ -9423,21 +8330,6 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants {
case 7:
jj_3_8();
break;
- case 8:
- jj_3_9();
- break;
- case 9:
- jj_3_10();
- break;
- case 10:
- jj_3_11();
- break;
- case 11:
- jj_3_12();
- break;
- case 12:
- jj_3_13();
- 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 1d689dec2c..a0bd883101 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj
@@ -650,6 +650,8 @@ TOKEN :
| < IN : <NUMBER> "in" >
| < PX : <NUMBER> "px" >
| < EMS : <NUMBER> "em" >
+ | < LEM : <NUMBER> "lem" >
+ | < REM : <NUMBER> "rem" >
| < EXS : <NUMBER> "ex" >
| < DEG : <NUMBER> "deg" >
| < RAD : <NUMBER> "rad" >
@@ -770,7 +772,8 @@ void afterImportDeclaration() :
}
{
(
- ( LOOKAHEAD(5)listModifyDirective() | variable() | debuggingDirective() | mixinDirective() | controlDirective() | includeDirective() | styleRule() | media() | page() | fontFace() | keyframes()
+ ( debuggingDirective() | mixinDirective() | controlDirective() | includeDirective() | styleRule() | media()
+ | page() | fontFace() | keyframes() | LOOKAHEAD(variable()) variable() | listModifyDirective()
| { l = getLocator(); } ret=skipStatement()
{
if ((ret == null) || (ret.length() == 0)) {
@@ -872,7 +875,7 @@ void keyframeSelector():
start = true;
documentHandler.startKeyframeSelector(n.image);
}
- ( LOOKAHEAD(5)ifContentStatement() | controlDirective() | microsoftExtension() )*
+ (ifContentStatement() | controlDirective() | microsoftExtension() )*
<RBRACE> (<S>)*
}
catch (ThrowedParseException e) {
@@ -1157,7 +1160,7 @@ void styleRule() :
start = true;
documentHandler.startSelector(l);
}
- ( LOOKAHEAD(5)ifContentStatement() | controlDirective() | microsoftExtension() )*
+ ( ifContentStatement() | controlDirective() | microsoftExtension() )*
<RBRACE> (<S>)*
} catch (ThrowedParseException e) {
if (errorHandler != null) {
@@ -1495,7 +1498,8 @@ void controlDirective() :
void ifContentStatement() :
{}
{
- LOOKAHEAD(5)listModifyDirective() | includeDirective() | media() | extendDirective() | variable() | styleRuleOrDeclarationOrNestedProperties() | keyframes()
+ includeDirective() | media() | extendDirective() | styleRuleOrDeclarationOrNestedProperties()
+ | keyframes() | LOOKAHEAD(variable()) variable() | listModifyDirective()
}
void ifDirective() :
@@ -1541,7 +1545,7 @@ String booleanExpressionToken() :
}
{
(
- LOOKAHEAD(2)
+ LOOKAHEAD(containsDirective())
s = containsDirective()
|n = < VARIABLE >
|n = < IDENT >
@@ -1614,7 +1618,7 @@ void mixinDirective() :
|(name = functionName()
args = arglist()) <RPARAN> (<S>)*) <LBRACE> (<S>)*
{documentHandler.startMixinDirective(name, args);}
- ( LOOKAHEAD(5)ifContentStatement() | controlDirective() | fontFace() | page())*
+ ( ifContentStatement() | controlDirective() | fontFace() | page())*
<RBRACE>(<S>)*
{documentHandler.endMixinDirective(name, args);}
}
@@ -1711,9 +1715,41 @@ String interpolation() :
void listModifyDirective() :
{
+ String list = null;
+ String remove = null;
+ String separator = null;
+ String variable = null;
+ Token n = null;
+ Token type = null;
}
{
-(LOOKAHEAD(5)removeDirective()|LOOKAHEAD(5)appendDirective()|LOOKAHEAD(5)containsDirective())(< S >)*< SEMICOLON >(<S>)*
+ //refactor, remove those 3 LOOKAHEAD(5).
+ n = < VARIABLE >{ variable = n.image; }(< S >)* ":" (< S >)*
+ (type = < APPEND> | type = <REMOVE> | type=<CONTAINS> )(< S >)*
+ (list = listModifyDirectiveArgs(0))
+ (< RPARAN >)? < COMMA >(< S >)*
+ (remove = listModifyDirectiveArgs(1))
+ ( < COMMA >(< S >)* n = < IDENT >{ separator = n.image; } (< S >)*)?
+ < RPARAN >
+ {
+ switch (type.kind) {
+ case APPEND:
+ documentHandler.appendDirective(variable,list,remove,separator);
+ break;
+ case REMOVE:
+ documentHandler.removeDirective(variable,list,remove,separator);
+ break;
+ case CONTAINS:
+ if(variable == null){
+ variable = "$var_"+UUID.randomUUID();
+ }
+ documentHandler.containsDirective(variable,list,remove,separator);
+ break;
+ default:
+ break;
+ }
+ }
+ (< S >)*< SEMICOLON >(<S>)*
}
@@ -1972,8 +2008,11 @@ 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() | debuggingDirective() | declarationOrNestedProperties())
+ // differentiate between the colon of a pseudo and the colon of nested properties and the colon of a simple property
+ // first check if it is a normal styleRule, if not check if it is declarationOrNestedProperties(), if still fails, most likely, it is
+ // is styleRule with pseudo selector with contains functions. have to do it in this way, because both the styleRule and declarationOrNestedProperties()
+ // have 'skipStatementUntilXXX', which cannot be LOOKAHEAD properly.
+ ( debuggingDirective() | LOOKAHEAD(selectorList()<LBRACE>) styleRule() | LOOKAHEAD(3)declarationOrNestedProperties() | styleRule())
} catch (JumpException e) {
skipAfterExpression();
// reportWarningSkipText(getLocator(), skipAfterExpression());
@@ -2204,9 +2243,9 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) : { LexicalUnitImpl result
String s = "";
}
{
-( ( ( op=unaryOperator() )?
- (
- n=<NUMBER>
+( ( (
+ op=unaryOperator() )?
+ (n=<NUMBER>
{ result = LexicalUnitImpl.createNumber(n.beginLine, n.beginColumn,
prev, number(op, n, 0)); }
| n=<PERCENTAGE>
@@ -2233,6 +2272,12 @@ LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) : { LexicalUnitImpl result
| n=<EMS>
{ result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn,
prev, number(op, n, 2)); }
+ | n=<LEM>
+ { result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn,
+ prev, number(op, n, 3)); }
+ | n=<REM>
+ { result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn,
+ prev, number(op, n, 3)); }
| n=<EXS>
{ result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn,
prev, number(op, n, 2)); }
@@ -2331,6 +2376,10 @@ LexicalUnitImpl function(char operator, LexicalUnitImpl prev) :
String body = skipStatementUntilSemiColon();
return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn,
null, "alpha("+body);
+ }else if("expression(".equals(fname)){
+ String body = skipStatementUntilSemiColon();
+ return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn,
+ null, "expression("+body);
}
}
( params=expr() )? ")"
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java
index ebe1f10cd4..c55a13265f 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java
@@ -181,71 +181,75 @@ public interface ParserConstants {
/** RegularExpression Id. */
int EMS = 84;
/** RegularExpression Id. */
- int EXS = 85;
+ int LEM = 85;
/** RegularExpression Id. */
- int DEG = 86;
+ int REM = 86;
/** RegularExpression Id. */
- int RAD = 87;
+ int EXS = 87;
/** RegularExpression Id. */
- int GRAD = 88;
+ int DEG = 88;
/** RegularExpression Id. */
- int MS = 89;
+ int RAD = 89;
/** RegularExpression Id. */
- int SECOND = 90;
+ int GRAD = 90;
/** RegularExpression Id. */
- int HZ = 91;
+ int MS = 91;
/** RegularExpression Id. */
- int KHZ = 92;
+ int SECOND = 92;
/** RegularExpression Id. */
- int DIMEN = 93;
+ int HZ = 93;
/** RegularExpression Id. */
- int HASH = 94;
+ int KHZ = 94;
/** RegularExpression Id. */
- int IMPORT_SYM = 95;
+ int DIMEN = 95;
/** RegularExpression Id. */
- int MEDIA_SYM = 96;
+ int HASH = 96;
/** RegularExpression Id. */
- int CHARSET_SYM = 97;
+ int IMPORT_SYM = 97;
/** RegularExpression Id. */
- int PAGE_SYM = 98;
+ int MEDIA_SYM = 98;
/** RegularExpression Id. */
- int FONT_FACE_SYM = 99;
+ int CHARSET_SYM = 99;
/** RegularExpression Id. */
- int KEY_FRAME_SYM = 100;
+ int PAGE_SYM = 100;
/** RegularExpression Id. */
- int ATKEYWORD = 101;
+ int FONT_FACE_SYM = 101;
/** RegularExpression Id. */
- int IMPORTANT_SYM = 102;
+ int KEY_FRAME_SYM = 102;
/** RegularExpression Id. */
- int RANGE0 = 103;
+ int ATKEYWORD = 103;
/** RegularExpression Id. */
- int RANGE1 = 104;
+ int IMPORTANT_SYM = 104;
/** RegularExpression Id. */
- int RANGE2 = 105;
+ int RANGE0 = 105;
/** RegularExpression Id. */
- int RANGE3 = 106;
+ int RANGE1 = 106;
/** RegularExpression Id. */
- int RANGE4 = 107;
+ int RANGE2 = 107;
/** RegularExpression Id. */
- int RANGE5 = 108;
+ int RANGE3 = 108;
/** RegularExpression Id. */
- int RANGE6 = 109;
+ int RANGE4 = 109;
/** RegularExpression Id. */
- int RANGE = 110;
+ int RANGE5 = 110;
/** RegularExpression Id. */
- int UNI = 111;
+ int RANGE6 = 111;
/** RegularExpression Id. */
- int UNICODERANGE = 112;
+ int RANGE = 112;
/** RegularExpression Id. */
- int REMOVE = 113;
+ int UNI = 113;
/** RegularExpression Id. */
- int APPEND = 114;
+ int UNICODERANGE = 114;
/** RegularExpression Id. */
- int CONTAINS = 115;
+ int REMOVE = 115;
/** RegularExpression Id. */
- int FUNCTION = 116;
+ int APPEND = 116;
/** RegularExpression Id. */
- int UNKNOWN = 117;
+ int CONTAINS = 117;
+ /** RegularExpression Id. */
+ int FUNCTION = 118;
+ /** RegularExpression Id. */
+ int UNKNOWN = 119;
/** Lexical state. */
int DEFAULT = 0;
@@ -273,12 +277,13 @@ public interface ParserConstants {
"<MICROSOFT_RULE>", "\"if\"", "<GUARDED_SYM>", "<STRING>",
"<IDENT>", "<NUMBER>", "<_URL>", "<URL>", "<VARIABLE>",
"<PERCENTAGE>", "<PT>", "<MM>", "<CM>", "<PC>", "<IN>", "<PX>",
- "<EMS>", "<EXS>", "<DEG>", "<RAD>", "<GRAD>", "<MS>", "<SECOND>",
- "<HZ>", "<KHZ>", "<DIMEN>", "<HASH>", "\"@import\"", "\"@media\"",
- "\"@charset\"", "\"@page\"", "\"@font-face\"", "<KEY_FRAME_SYM>",
- "<ATKEYWORD>", "<IMPORTANT_SYM>", "<RANGE0>", "<RANGE1>",
- "<RANGE2>", "<RANGE3>", "<RANGE4>", "<RANGE5>", "<RANGE6>",
- "<RANGE>", "<UNI>", "<UNICODERANGE>", "<REMOVE>", "<APPEND>",
- "<CONTAINS>", "<FUNCTION>", "<UNKNOWN>", };
+ "<EMS>", "<LEM>", "<REM>", "<EXS>", "<DEG>", "<RAD>", "<GRAD>",
+ "<MS>", "<SECOND>", "<HZ>", "<KHZ>", "<DIMEN>", "<HASH>",
+ "\"@import\"", "\"@media\"", "\"@charset\"", "\"@page\"",
+ "\"@font-face\"", "<KEY_FRAME_SYM>", "<ATKEYWORD>",
+ "<IMPORTANT_SYM>", "<RANGE0>", "<RANGE1>", "<RANGE2>", "<RANGE3>",
+ "<RANGE4>", "<RANGE5>", "<RANGE6>", "<RANGE>", "<UNI>",
+ "<UNICODERANGE>", "<REMOVE>", "<APPEND>", "<CONTAINS>",
+ "<FUNCTION>", "<UNKNOWN>", };
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
index 6f0ae24631..e5116bdb49 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java
@@ -1,18 +1,3 @@
-/*
- * Copyright 2000-2013 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
/* Generated By:JavaCC: Do not edit this line. ParserTokenManager.java */
package com.vaadin.sass.internal.parser;
@@ -33,13 +18,10 @@ public class ParserTokenManager implements ParserConstants {
case 0:
if ((active0 & 0x1c000000000000L) != 0L || (active1 & 0x20L) != 0L) {
jjmatchedKind = 72;
- return 503;
+ return 517;
}
if ((active0 & 0x4000000000L) != 0L) {
- return 504;
- }
- if ((active0 & 0x100000000L) != 0L) {
- return 505;
+ return 518;
}
if ((active0 & 0x10000L) != 0L) {
return 79;
@@ -55,187 +37,190 @@ public class ParserTokenManager implements ParserConstants {
return 3;
}
if ((active0 & 0xffc0000000000000L) != 0L
- || (active1 & 0xf8000000fL) != 0L) {
+ || (active1 & 0x3e0000000fL) != 0L) {
return 166;
}
+ if ((active0 & 0x100000000L) != 0L) {
+ return 519;
+ }
return -1;
case 1:
- if ((active0 & 0xffc0000000000000L) != 0L
- || (active1 & 0xf8000000bL) != 0L) {
- jjmatchedKind = 101;
- jjmatchedPos = 1;
- return 506;
- }
if ((active1 & 0x4L) != 0L) {
return 178;
}
+ if ((active0 & 0xffc0000000000000L) != 0L
+ || (active1 & 0x3e0000000bL) != 0L) {
+ jjmatchedKind = 103;
+ jjmatchedPos = 1;
+ return 520;
+ }
if ((active0 & 0x40L) != 0L) {
return 1;
}
if ((active0 & 0x28000000000000L) != 0L) {
jjmatchedKind = 72;
jjmatchedPos = 1;
- return 503;
+ return 517;
}
if ((active0 & 0x14000000000000L) != 0L || (active1 & 0x20L) != 0L) {
- return 503;
+ return 517;
}
return -1;
case 2:
if ((active0 & 0x7fc0000000000000L) != 0L
- || (active1 & 0xf8000000bL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x3e0000000bL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 2;
- return 506;
+ return 520;
}
if ((active0 & 0x8000000000000000L) != 0L) {
- return 506;
+ return 520;
}
if ((active0 & 0x28000000000000L) != 0L) {
jjmatchedKind = 72;
jjmatchedPos = 2;
- return 503;
+ return 517;
}
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 2;
return 177;
}
return -1;
case 3:
- if ((active0 & 0x1000000000000000L) != 0L) {
- return 506;
- }
if ((active0 & 0x6fc0000000000000L) != 0L
- || (active1 & 0xf8000000bL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x3e0000000bL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 3;
- return 506;
+ return 520;
}
- if ((active0 & 0x20000000000000L) != 0L) {
- return 503;
+ if ((active0 & 0x1000000000000000L) != 0L) {
+ return 520;
}
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 3;
return 176;
}
+ if ((active0 & 0x20000000000000L) != 0L) {
+ return 517;
+ }
if ((active0 & 0x8000000000000L) != 0L) {
jjmatchedKind = 72;
jjmatchedPos = 3;
- return 503;
+ return 517;
}
return -1;
case 4:
- if ((active0 & 0x8000000000000L) != 0L) {
- jjmatchedKind = 72;
- jjmatchedPos = 4;
- return 503;
- }
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 4;
return 175;
}
+ if ((active0 & 0x8000000000000L) != 0L) {
+ jjmatchedKind = 72;
+ jjmatchedPos = 4;
+ return 517;
+ }
if ((active0 & 0x2800000000000000L) != 0L
- || (active1 & 0x400000001L) != 0L) {
- return 506;
+ || (active1 & 0x1000000001L) != 0L) {
+ return 520;
}
if ((active0 & 0x47c0000000000000L) != 0L
- || (active1 & 0xb8000000aL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x2e0000000aL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 4;
- return 506;
+ return 520;
}
return -1;
case 5:
+ if ((active0 & 0x4440000000000000L) != 0L
+ || (active1 & 0x400000000L) != 0L) {
+ return 520;
+ }
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 5;
return 174;
}
if ((active0 & 0x380000000000000L) != 0L
- || (active1 & 0xa8000000aL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x2a0000000aL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 5;
- return 506;
- }
- if ((active0 & 0x4440000000000000L) != 0L
- || (active1 & 0x100000000L) != 0L) {
- return 506;
+ return 520;
}
if ((active0 & 0x8000000000000L) != 0L) {
jjmatchedKind = 72;
jjmatchedPos = 5;
- return 503;
+ return 517;
}
return -1;
case 6:
+ if ((active0 & 0x200000000000000L) != 0L
+ || (active1 & 0x200000002L) != 0L) {
+ return 520;
+ }
if ((active0 & 0x180000000000000L) != 0L
- || (active1 & 0xa0000000cL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x280000000cL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 6;
- return 506;
- }
- if ((active0 & 0x200000000000000L) != 0L
- || (active1 & 0x80000002L) != 0L) {
- return 506;
+ return 520;
}
if ((active0 & 0x8000000000000L) != 0L) {
- return 503;
+ return 517;
}
return -1;
case 7:
if ((active0 & 0x100000000000000L) != 0L
- || (active1 & 0x80000000cL) != 0L) {
- jjmatchedKind = 101;
+ || (active1 & 0x200000000cL) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 7;
- return 506;
+ return 520;
}
if ((active0 & 0x80000000000000L) != 0L
- || (active1 & 0x200000000L) != 0L) {
- return 506;
+ || (active1 & 0x800000000L) != 0L) {
+ return 520;
}
return -1;
case 8:
- if ((active1 & 0x800000004L) != 0L) {
- jjmatchedKind = 101;
+ if ((active1 & 0x2000000004L) != 0L) {
+ jjmatchedKind = 103;
jjmatchedPos = 8;
- return 506;
+ return 520;
}
if ((active0 & 0x100000000000000L) != 0L || (active1 & 0x8L) != 0L) {
- return 506;
+ return 520;
}
return -1;
case 9:
- if ((active1 & 0x800000000L) != 0L) {
- return 506;
- }
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 9;
- return 506;
+ return 520;
+ }
+ if ((active1 & 0x2000000000L) != 0L) {
+ return 520;
}
return -1;
case 10:
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 10;
- return 506;
+ return 520;
}
return -1;
case 11:
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 11;
- return 506;
+ return 520;
}
return -1;
case 12:
if ((active1 & 0x4L) != 0L) {
- jjmatchedKind = 101;
+ jjmatchedKind = 103;
jjmatchedPos = 12;
- return 506;
+ return 520;
}
return -1;
default:
@@ -278,7 +263,7 @@ public class ParserTokenManager implements ParserConstants {
jjmatchedKind = 21;
return jjMoveStringLiteralDfa1_0(0x800L, 0x0L);
case 46:
- return jjStartNfaWithStates_0(0, 32, 505);
+ return jjStartNfaWithStates_0(0, 32, 519);
case 47:
jjmatchedKind = 27;
return jjMoveStringLiteralDfa1_0(0x44L, 0x0L);
@@ -295,7 +280,7 @@ public class ParserTokenManager implements ParserConstants {
case 62:
return jjStopAtPos(0, 24);
case 64:
- return jjMoveStringLiteralDfa1_0(0xffc0000000000000L, 0xf8000000fL);
+ return jjMoveStringLiteralDfa1_0(0xffc0000000000000L, 0x3e0000000fL);
case 91:
return jjStopAtPos(0, 28);
case 93:
@@ -371,7 +356,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 67:
case 99:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000000L);
case 68:
case 100:
return jjMoveStringLiteralDfa2_0(active0, 0x400000000000000L,
@@ -383,10 +368,10 @@ public class ParserTokenManager implements ParserConstants {
case 70:
case 102:
if ((active1 & 0x20L) != 0L) {
- return jjStartNfaWithStates_0(1, 69, 503);
+ return jjStartNfaWithStates_0(1, 69, 517);
}
return jjMoveStringLiteralDfa2_0(active0, 0x1100000000000000L,
- active1, 0x800000000L);
+ active1, 0x2000000000L);
case 72:
case 104:
return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000L,
@@ -394,26 +379,27 @@ public class ParserTokenManager implements ParserConstants {
case 73:
case 105:
return jjMoveStringLiteralDfa2_0(active0, 0x8080000000000000L,
- active1, 0x80000000L);
+ active1, 0x200000000L);
case 77:
case 109:
return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L,
- active1, 0x100000000L);
+ active1, 0x400000000L);
case 78:
case 110:
if ((active0 & 0x10000000000000L) != 0L) {
- return jjStartNfaWithStates_0(1, 52, 503);
+ return jjStartNfaWithStates_0(1, 52, 517);
}
break;
case 79:
case 111:
if ((active0 & 0x4000000000000L) != 0L) {
- return jjStartNfaWithStates_0(1, 50, 503);
+ return jjStartNfaWithStates_0(1, 50, 517);
}
break;
case 80:
case 112:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400000000L);
+ return jjMoveStringLiteralDfa2_0(active0, 0L, active1,
+ 0x1000000000L);
case 82:
case 114:
return jjMoveStringLiteralDfa2_0(active0, 0x220000000000000L,
@@ -458,21 +444,21 @@ public class ParserTokenManager implements ParserConstants {
case 65:
case 97:
return jjMoveStringLiteralDfa3_0(active0, 0x2800000000000000L,
- active1, 0x400000000L);
+ active1, 0x1000000000L);
case 69:
case 101:
return jjMoveStringLiteralDfa3_0(active0, 0x600000000000000L,
- active1, 0x100000000L);
+ active1, 0x400000000L);
case 70:
case 102:
if ((active0 & 0x8000000000000000L) != 0L) {
- return jjStartNfaWithStates_0(2, 63, 506);
+ return jjStartNfaWithStates_0(2, 63, 520);
}
break;
case 72:
case 104:
return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000000L,
- active1, 0x200000000L);
+ active1, 0x800000000L);
case 73:
case 105:
return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L,
@@ -482,7 +468,7 @@ public class ParserTokenManager implements ParserConstants {
return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1L);
case 77:
case 109:
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000004L);
+ return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200000004L);
case 78:
case 110:
return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L,
@@ -490,7 +476,7 @@ public class ParserTokenManager implements ParserConstants {
case 79:
case 111:
return jjMoveStringLiteralDfa3_0(active0, 0x1020000000000000L,
- active1, 0x800000000L);
+ active1, 0x2000000000L);
case 82:
case 114:
return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000L,
@@ -527,7 +513,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 65:
case 97:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000000L);
case 66:
case 98:
return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L,
@@ -538,10 +524,11 @@ public class ParserTokenManager implements ParserConstants {
active1, 0L);
case 68:
case 100:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000L);
case 71:
case 103:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1,
+ 0x1000000000L);
case 73:
case 105:
return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000000L,
@@ -549,24 +536,24 @@ public class ParserTokenManager implements ParserConstants {
case 77:
case 109:
if ((active0 & 0x20000000000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 53, 503);
+ return jjStartNfaWithStates_0(3, 53, 517);
}
break;
case 78:
case 110:
return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L,
- active1, 0x800000000L);
+ active1, 0x2000000000L);
case 79:
case 111:
return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000L,
active1, 0x4L);
case 80:
case 112:
- return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x80000008L);
+ return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200000008L);
case 82:
case 114:
if ((active0 & 0x1000000000000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 60, 506);
+ return jjStartNfaWithStates_0(3, 60, 520);
}
return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L,
active1, 0L);
@@ -606,21 +593,21 @@ public class ParserTokenManager implements ParserConstants {
case 69:
case 101:
if ((active1 & 0x1L) != 0L) {
- return jjStartNfaWithStates_0(4, 64, 506);
- } else if ((active1 & 0x400000000L) != 0L) {
- return jjStartNfaWithStates_0(4, 98, 506);
+ return jjStartNfaWithStates_0(4, 64, 520);
+ } else if ((active1 & 0x1000000000L) != 0L) {
+ return jjStartNfaWithStates_0(4, 100, 520);
}
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2L);
case 72:
case 104:
if ((active0 & 0x2000000000000000L) != 0L) {
- return jjStartNfaWithStates_0(4, 61, 506);
+ return jjStartNfaWithStates_0(4, 61, 520);
}
break;
case 73:
case 105:
return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L,
- active1, 0x100000000L);
+ active1, 0x400000000L);
case 76:
case 108:
return jjMoveStringLiteralDfa5_0(active0, 0x4080000000000000L,
@@ -628,21 +615,22 @@ public class ParserTokenManager implements ParserConstants {
case 78:
case 110:
if ((active0 & 0x800000000000000L) != 0L) {
- return jjStartNfaWithStates_0(4, 59, 506);
+ return jjStartNfaWithStates_0(4, 59, 520);
}
break;
case 79:
case 111:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x80000000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x200000000L);
case 80:
case 112:
return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8L);
case 82:
case 114:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x200000000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000L);
case 84:
case 116:
- return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000L);
+ return jjMoveStringLiteralDfa5_0(active0, 0L, active1,
+ 0x2000000000L);
case 85:
case 117:
return jjMoveStringLiteralDfa5_0(active0, 0x608000000000000L,
@@ -669,30 +657,31 @@ public class ParserTokenManager implements ParserConstants {
}
switch (curChar) {
case 45:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000004L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1,
+ 0x2000000004L);
case 65:
case 97:
- if ((active1 & 0x100000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 96, 506);
+ if ((active1 & 0x400000000L) != 0L) {
+ return jjStartNfaWithStates_0(5, 98, 520);
}
break;
case 69:
case 101:
if ((active0 & 0x4000000000000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 62, 506);
+ return jjStartNfaWithStates_0(5, 62, 520);
}
break;
case 71:
case 103:
if ((active0 & 0x400000000000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 58, 506);
+ return jjStartNfaWithStates_0(5, 58, 520);
}
return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000L,
active1, 0L);
case 78:
case 110:
if ((active0 & 0x40000000000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 54, 506);
+ return jjStartNfaWithStates_0(5, 54, 520);
}
return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2L);
case 79:
@@ -701,10 +690,10 @@ public class ParserTokenManager implements ParserConstants {
case 82:
case 114:
return jjMoveStringLiteralDfa6_0(active0, 0x200000000000000L,
- active1, 0x80000000L);
+ active1, 0x200000000L);
case 83:
case 115:
- return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x200000000L);
+ return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000L);
case 84:
case 116:
return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L,
@@ -734,20 +723,21 @@ public class ParserTokenManager implements ParserConstants {
case 68:
case 100:
if ((active1 & 0x2L) != 0L) {
- return jjStartNfaWithStates_0(6, 65, 506);
+ return jjStartNfaWithStates_0(6, 65, 520);
}
return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L,
active1, 0x4L);
case 69:
case 101:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x200000000L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000L);
case 70:
case 102:
- return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000L);
+ return jjMoveStringLiteralDfa7_0(active0, 0L, active1,
+ 0x2000000000L);
case 72:
case 104:
if ((active0 & 0x8000000000000L) != 0L) {
- return jjStartNfaWithStates_0(6, 51, 503);
+ return jjStartNfaWithStates_0(6, 51, 517);
}
break;
case 73:
@@ -757,7 +747,7 @@ public class ParserTokenManager implements ParserConstants {
case 78:
case 110:
if ((active0 & 0x200000000000000L) != 0L) {
- return jjStartNfaWithStates_0(6, 57, 506);
+ return jjStartNfaWithStates_0(6, 57, 520);
}
break;
case 82:
@@ -765,8 +755,8 @@ public class ParserTokenManager implements ParserConstants {
return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8L);
case 84:
case 116:
- if ((active1 & 0x80000000L) != 0L) {
- return jjStartNfaWithStates_0(6, 95, 506);
+ if ((active1 & 0x200000000L) != 0L) {
+ return jjStartNfaWithStates_0(6, 97, 520);
}
break;
default:
@@ -789,11 +779,12 @@ public class ParserTokenManager implements ParserConstants {
switch (curChar) {
case 65:
case 97:
- return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x800000000L);
+ return jjMoveStringLiteralDfa8_0(active0, 0L, active1,
+ 0x2000000000L);
case 69:
case 101:
if ((active0 & 0x80000000000000L) != 0L) {
- return jjStartNfaWithStates_0(7, 55, 506);
+ return jjStartNfaWithStates_0(7, 55, 520);
}
break;
case 79:
@@ -802,8 +793,8 @@ public class ParserTokenManager implements ParserConstants {
active1, 0x4L);
case 84:
case 116:
- if ((active1 & 0x200000000L) != 0L) {
- return jjStartNfaWithStates_0(7, 97, 506);
+ if ((active1 & 0x800000000L) != 0L) {
+ return jjStartNfaWithStates_0(7, 99, 520);
}
return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x8L);
default:
@@ -826,17 +817,18 @@ public class ParserTokenManager implements ParserConstants {
switch (curChar) {
case 67:
case 99:
- return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x800000004L);
+ return jjMoveStringLiteralDfa9_0(active0, 0L, active1,
+ 0x2000000004L);
case 78:
case 110:
if ((active0 & 0x100000000000000L) != 0L) {
- return jjStartNfaWithStates_0(8, 56, 506);
+ return jjStartNfaWithStates_0(8, 56, 520);
}
break;
case 83:
case 115:
if ((active1 & 0x8L) != 0L) {
- return jjStartNfaWithStates_0(8, 67, 506);
+ return jjStartNfaWithStates_0(8, 67, 520);
}
break;
default:
@@ -859,8 +851,8 @@ public class ParserTokenManager implements ParserConstants {
switch (curChar) {
case 69:
case 101:
- if ((active1 & 0x800000000L) != 0L) {
- return jjStartNfaWithStates_0(9, 99, 506);
+ if ((active1 & 0x2000000000L) != 0L) {
+ return jjStartNfaWithStates_0(9, 101, 520);
}
break;
case 85:
@@ -946,7 +938,7 @@ public class ParserTokenManager implements ParserConstants {
case 84:
case 116:
if ((active1 & 0x4L) != 0L) {
- return jjStartNfaWithStates_0(13, 66, 506);
+ return jjStartNfaWithStates_0(13, 66, 520);
}
break;
default:
@@ -971,7 +963,7 @@ public class ParserTokenManager implements ParserConstants {
private int jjMoveNfa_0(int startState, int curPos) {
int startsAt = 0;
- jjnewStateCnt = 503;
+ jjnewStateCnt = 517;
int i = 1;
jjstateSet[0] = startState;
int kind = 0x7fffffff;
@@ -983,13 +975,13 @@ public class ParserTokenManager implements ParserConstants {
long l = 1L << curChar;
do {
switch (jjstateSet[--i]) {
- case 506:
+ case 520:
case 113:
if ((0x3ff200000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -1014,61 +1006,36 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff200000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
- case 504:
- if ((0x100003600L & l) != 0L) {
- jjCheckNAddTwoStates(251, 260);
- }
- if ((0x100003600L & l) != 0L) {
- jjCheckNAddTwoStates(243, 250);
- }
- break;
- case 503:
- if ((0x3ff200000000000L & l) != 0L) {
- jjCheckNAddStates(0, 3);
- } else if ((0x100003600L & l) != 0L) {
- jjCheckNAddTwoStates(231, 232);
- } else if (curChar == 40) {
- if (kind > 116) {
- kind = 116;
- }
- }
- if ((0x3ff200000000000L & l) != 0L) {
- if (kind > 72) {
- kind = 72;
- }
- jjCheckNAddTwoStates(220, 221);
- }
- break;
case 4:
if ((0x3ff000000000000L & l) != 0L) {
if (kind > 73) {
kind = 73;
}
- jjCheckNAddStates(4, 77);
+ jjCheckNAddStates(0, 81);
} else if ((0x100003600L & l) != 0L) {
if (kind > 1) {
kind = 1;
}
jjCheckNAdd(0);
} else if (curChar == 46) {
- jjCheckNAddStates(78, 95);
+ jjCheckNAddStates(82, 101);
} else if (curChar == 45) {
- jjAddStates(96, 97);
+ jjAddStates(102, 103);
} else if (curChar == 33) {
- jjCheckNAddStates(98, 101);
+ jjCheckNAddStates(104, 107);
} else if (curChar == 35) {
jjCheckNAddTwoStates(100, 101);
} else if (curChar == 36) {
- jjCheckNAddStates(102, 105);
+ jjCheckNAddStates(108, 111);
} else if (curChar == 39) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
} else if (curChar == 34) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
} else if (curChar == 47) {
jjstateSet[jjnewStateCnt++] = 3;
}
@@ -1078,10 +1045,35 @@ public class ParserTokenManager implements ParserConstants {
jjstateSet[jjnewStateCnt++] = 5;
}
break;
+ case 518:
+ if ((0x100003600L & l) != 0L) {
+ jjCheckNAddTwoStates(251, 260);
+ }
+ if ((0x100003600L & l) != 0L) {
+ jjCheckNAddTwoStates(243, 250);
+ }
+ break;
+ case 517:
+ if ((0x3ff200000000000L & l) != 0L) {
+ jjCheckNAddStates(120, 123);
+ } else if ((0x100003600L & l) != 0L) {
+ jjCheckNAddTwoStates(231, 232);
+ } else if (curChar == 40) {
+ if (kind > 118) {
+ kind = 118;
+ }
+ }
+ if ((0x3ff200000000000L & l) != 0L) {
+ if (kind > 72) {
+ kind = 72;
+ }
+ jjCheckNAddTwoStates(220, 221);
+ }
+ break;
case 175:
if ((0x3ff200000000000L & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
}
@@ -1091,12 +1083,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 33:
if ((0x3ff200000000000L & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
} else if ((0x100003600L & l) != 0L) {
jjCheckNAddTwoStates(231, 232);
} else if (curChar == 40) {
- if (kind > 116) {
- kind = 116;
+ if (kind > 118) {
+ kind = 118;
}
}
if ((0x3ff200000000000L & l) != 0L) {
@@ -1106,33 +1098,48 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAddTwoStates(220, 221);
}
break;
- case 505:
+ case 176:
+ if ((0x3ff200000000000L & l) == 0L) {
+ break;
+ }
+ if (kind > 103) {
+ kind = 103;
+ }
+ jjCheckNAddTwoStates(113, 114);
+ break;
+ case 519:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddStates(124, 128);
+ }
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddTwoStates(322, 325);
+ }
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(114, 118);
+ jjCheckNAddTwoStates(319, 321);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(314, 317);
+ jjCheckNAddTwoStates(317, 318);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(311, 313);
+ jjCheckNAddTwoStates(314, 316);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(309, 310);
+ jjCheckNAddTwoStates(309, 313);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(306, 308);
+ jjCheckNAddTwoStates(305, 308);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(301, 305);
+ jjCheckNAddTwoStates(301, 304);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(297, 300);
+ jjCheckNAddTwoStates(298, 300);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(293, 296);
+ jjCheckNAddTwoStates(294, 297);
}
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(290, 292);
+ jjCheckNAddTwoStates(290, 293);
}
if ((0x3ff000000000000L & l) != 0L) {
jjCheckNAddTwoStates(287, 289);
@@ -1165,21 +1172,12 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAdd(266);
}
break;
- case 176:
- if ((0x3ff200000000000L & l) == 0L) {
- break;
- }
- if (kind > 101) {
- kind = 101;
- }
- jjCheckNAddTwoStates(113, 114);
- break;
case 177:
if ((0x3ff200000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -1214,7 +1212,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 6:
if (curChar == 36) {
- jjCheckNAddStates(119, 122);
+ jjCheckNAddStates(129, 132);
}
break;
case 7:
@@ -1224,77 +1222,77 @@ public class ParserTokenManager implements ParserConstants {
break;
case 9:
if ((0x3ff200000000000L & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 12:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 13:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(126, 130);
+ jjCheckNAddStates(136, 140);
}
break;
case 14:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 15:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(131, 138);
+ jjCheckNAddStates(141, 148);
}
break;
case 16:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(139, 142);
+ jjCheckNAddStates(149, 152);
}
break;
case 17:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(143, 147);
+ jjCheckNAddStates(153, 157);
}
break;
case 18:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(148, 153);
+ jjCheckNAddStates(158, 163);
}
break;
case 19:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(154, 160);
+ jjCheckNAddStates(164, 170);
}
break;
case 22:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(161, 165);
+ jjCheckNAddStates(171, 175);
}
break;
case 23:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(166, 173);
+ jjCheckNAddStates(176, 183);
}
break;
case 24:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(174, 177);
+ jjCheckNAddStates(184, 187);
}
break;
case 25:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(178, 182);
+ jjCheckNAddStates(188, 192);
}
break;
case 26:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(183, 188);
+ jjCheckNAddStates(193, 198);
}
break;
case 27:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(189, 195);
+ jjCheckNAddStates(199, 205);
}
break;
case 28:
@@ -1314,12 +1312,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 44:
if (curChar == 34) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 45:
if ((0xfffffffb00000200L & l) != 0L) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 46:
@@ -1329,57 +1327,57 @@ public class ParserTokenManager implements ParserConstants {
break;
case 48:
if (curChar == 12) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 50:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 51:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(196, 201);
+ jjCheckNAddStates(206, 211);
}
break;
case 52:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 53:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(202, 210);
+ jjCheckNAddStates(212, 220);
}
break;
case 54:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(211, 215);
+ jjCheckNAddStates(221, 225);
}
break;
case 55:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(216, 221);
+ jjCheckNAddStates(226, 231);
}
break;
case 56:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(222, 228);
+ jjCheckNAddStates(232, 238);
}
break;
case 57:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(229, 236);
+ jjCheckNAddStates(239, 246);
}
break;
case 58:
if (curChar == 13) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 59:
if (curChar == 10) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 60:
@@ -1389,12 +1387,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 61:
if (curChar == 39) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 62:
if ((0xffffff7f00000200L & l) != 0L) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 63:
@@ -1404,57 +1402,57 @@ public class ParserTokenManager implements ParserConstants {
break;
case 65:
if (curChar == 12) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 67:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 68:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(237, 242);
+ jjCheckNAddStates(247, 252);
}
break;
case 69:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 70:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(243, 251);
+ jjCheckNAddStates(253, 261);
}
break;
case 71:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(252, 256);
+ jjCheckNAddStates(262, 266);
}
break;
case 72:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(257, 262);
+ jjCheckNAddStates(267, 272);
}
break;
case 73:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(263, 269);
+ jjCheckNAddStates(273, 279);
}
break;
case 74:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(270, 277);
+ jjCheckNAddStates(280, 287);
}
break;
case 75:
if (curChar == 13) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 76:
if (curChar == 10) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 77:
@@ -1464,7 +1462,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 78:
if (curChar == 36) {
- jjCheckNAddStates(102, 105);
+ jjCheckNAddStates(108, 111);
}
break;
case 81:
@@ -1492,7 +1490,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(278, 281);
+ jjCheckNAddStates(288, 291);
break;
case 85:
if ((0x100003600L & l) == 0L) {
@@ -1510,7 +1508,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(282, 288);
+ jjCheckNAddStates(292, 298);
break;
case 87:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1519,7 +1517,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(289, 291);
+ jjCheckNAddStates(299, 301);
break;
case 88:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1528,7 +1526,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(292, 295);
+ jjCheckNAddStates(302, 305);
break;
case 89:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1537,7 +1535,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(296, 300);
+ jjCheckNAddStates(306, 310);
break;
case 90:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1546,7 +1544,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(301, 306);
+ jjCheckNAddStates(311, 316);
break;
case 93:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1555,7 +1553,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(307, 310);
+ jjCheckNAddStates(317, 320);
break;
case 94:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1564,7 +1562,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(311, 317);
+ jjCheckNAddStates(321, 327);
break;
case 95:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1573,7 +1571,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(318, 320);
+ jjCheckNAddStates(328, 330);
break;
case 96:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1582,7 +1580,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(321, 324);
+ jjCheckNAddStates(331, 334);
break;
case 97:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1591,7 +1589,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(325, 329);
+ jjCheckNAddStates(335, 339);
break;
case 98:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1600,7 +1598,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(330, 335);
+ jjCheckNAddStates(340, 345);
break;
case 99:
if (curChar == 35) {
@@ -1611,8 +1609,8 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff200000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
@@ -1620,8 +1618,8 @@ public class ParserTokenManager implements ParserConstants {
if ((0xffffffff00000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
@@ -1629,17 +1627,17 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(336, 339);
+ jjCheckNAddStates(346, 349);
break;
case 104:
if ((0x100003600L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
@@ -1647,46 +1645,46 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(340, 346);
+ jjCheckNAddStates(350, 356);
break;
case 106:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(347, 349);
+ jjCheckNAddStates(357, 359);
break;
case 107:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(350, 353);
+ jjCheckNAddStates(360, 363);
break;
case 108:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(354, 358);
+ jjCheckNAddStates(364, 368);
break;
case 109:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(359, 364);
+ jjCheckNAddStates(369, 374);
break;
case 111:
if (curChar == 45) {
@@ -1697,8 +1695,8 @@ public class ParserTokenManager implements ParserConstants {
if ((0xffffffff00000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -1706,17 +1704,17 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(365, 368);
+ jjCheckNAddStates(375, 378);
break;
case 117:
if ((0x100003600L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -1724,129 +1722,129 @@ public class ParserTokenManager implements ParserConstants {
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(369, 375);
+ jjCheckNAddStates(379, 385);
break;
case 119:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(376, 378);
+ jjCheckNAddStates(386, 388);
break;
case 120:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(379, 382);
+ jjCheckNAddStates(389, 392);
break;
case 121:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(383, 387);
+ jjCheckNAddStates(393, 397);
break;
case 122:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(388, 393);
+ jjCheckNAddStates(398, 403);
break;
case 125:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(394, 397);
+ jjCheckNAddStates(404, 407);
break;
case 126:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(398, 404);
+ jjCheckNAddStates(408, 414);
break;
case 127:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(405, 407);
+ jjCheckNAddStates(415, 417);
break;
case 128:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(408, 411);
+ jjCheckNAddStates(418, 421);
break;
case 129:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(412, 416);
+ jjCheckNAddStates(422, 426);
break;
case 130:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(417, 422);
+ jjCheckNAddStates(427, 432);
break;
case 132:
if ((0x100003600L & l) != 0L) {
- jjAddStates(423, 424);
+ jjAddStates(433, 434);
}
break;
case 133:
- if (curChar == 40 && kind > 113) {
- kind = 113;
+ if (curChar == 40 && kind > 115) {
+ kind = 115;
}
break;
case 140:
if ((0x100003600L & l) != 0L) {
- jjAddStates(425, 426);
+ jjAddStates(435, 436);
}
break;
case 141:
- if (curChar == 40 && kind > 114) {
- kind = 114;
+ if (curChar == 40 && kind > 116) {
+ kind = 116;
}
break;
case 148:
if ((0x100003600L & l) != 0L) {
- jjAddStates(427, 428);
+ jjAddStates(437, 438);
}
break;
case 149:
- if (curChar == 40 && kind > 115) {
- kind = 115;
+ if (curChar == 40 && kind > 117) {
+ kind = 117;
}
break;
case 179:
@@ -1909,7 +1907,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(429, 432);
+ jjCheckNAddStates(439, 442);
break;
case 224:
if ((0x100003600L & l) == 0L) {
@@ -1927,7 +1925,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(433, 439);
+ jjCheckNAddStates(443, 449);
break;
case 226:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1936,7 +1934,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(440, 442);
+ jjCheckNAddStates(450, 452);
break;
case 227:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1945,7 +1943,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(443, 446);
+ jjCheckNAddStates(453, 456);
break;
case 228:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1954,7 +1952,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(447, 451);
+ jjCheckNAddStates(457, 461);
break;
case 229:
if ((0x3ff000000000000L & l) == 0L) {
@@ -1963,11 +1961,11 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(452, 457);
+ jjCheckNAddStates(462, 467);
break;
case 230:
if ((0x3ff200000000000L & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 231:
@@ -1976,54 +1974,54 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 232:
- if (curChar == 40 && kind > 116) {
- kind = 116;
+ if (curChar == 40 && kind > 118) {
+ kind = 118;
}
break;
case 234:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 235:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(458, 462);
+ jjCheckNAddStates(468, 472);
}
break;
case 236:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 237:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(463, 470);
+ jjCheckNAddStates(473, 480);
}
break;
case 238:
- case 444:
+ case 452:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(471, 474);
+ jjCheckNAddStates(481, 484);
}
break;
case 239:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(475, 479);
+ jjCheckNAddStates(485, 489);
}
break;
case 240:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(480, 485);
+ jjCheckNAddStates(490, 495);
}
break;
case 241:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(486, 492);
+ jjCheckNAddStates(496, 502);
}
break;
case 242:
if (curChar == 33) {
- jjCheckNAddStates(98, 101);
+ jjCheckNAddStates(104, 107);
}
break;
case 243:
@@ -2038,12 +2036,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 261:
if (curChar == 45) {
- jjAddStates(96, 97);
+ jjAddStates(102, 103);
}
break;
case 265:
if (curChar == 46) {
- jjCheckNAddStates(78, 95);
+ jjCheckNAddStates(82, 101);
}
break;
case 266:
@@ -2102,1057 +2100,1097 @@ public class ParserTokenManager implements ParserConstants {
break;
case 290:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(290, 292);
+ jjCheckNAddTwoStates(290, 293);
}
break;
- case 293:
+ case 294:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(293, 296);
+ jjCheckNAddTwoStates(294, 297);
}
break;
- case 297:
+ case 298:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(297, 300);
+ jjCheckNAddTwoStates(298, 300);
}
break;
case 301:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(301, 305);
+ jjCheckNAddTwoStates(301, 304);
}
break;
- case 306:
+ case 305:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(306, 308);
+ jjCheckNAddTwoStates(305, 308);
}
break;
case 309:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(309, 310);
+ jjCheckNAddTwoStates(309, 313);
}
break;
- case 311:
+ case 314:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(311, 313);
+ jjCheckNAddTwoStates(314, 316);
}
break;
- case 314:
+ case 317:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(314, 317);
+ jjCheckNAddTwoStates(317, 318);
}
break;
- case 318:
+ case 319:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(114, 118);
+ jjCheckNAddTwoStates(319, 321);
}
break;
- case 319:
+ case 322:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddTwoStates(322, 325);
+ }
+ break;
+ case 326:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddStates(124, 128);
+ }
+ break;
+ case 327:
if (curChar == 45) {
- jjCheckNAdd(320);
+ jjCheckNAdd(328);
}
break;
- case 321:
+ case 329:
if ((0x3ff200000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 323:
+ case 331:
if ((0xffffffff00000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 324:
+ case 332:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(493, 496);
+ jjCheckNAddStates(503, 506);
break;
- case 325:
+ case 333:
if ((0x100003600L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 326:
+ case 334:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(497, 503);
+ jjCheckNAddStates(507, 513);
break;
- case 327:
+ case 335:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(504, 506);
+ jjCheckNAddStates(514, 516);
break;
- case 328:
+ case 336:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(507, 510);
+ jjCheckNAddStates(517, 520);
break;
- case 329:
+ case 337:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(511, 515);
+ jjCheckNAddStates(521, 525);
break;
- case 330:
+ case 338:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(516, 521);
+ jjCheckNAddStates(526, 531);
break;
- case 333:
+ case 341:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(522, 525);
+ jjCheckNAddStates(532, 535);
break;
- case 334:
+ case 342:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(526, 532);
+ jjCheckNAddStates(536, 542);
break;
- case 335:
+ case 343:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(533, 535);
+ jjCheckNAddStates(543, 545);
break;
- case 336:
+ case 344:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(536, 539);
+ jjCheckNAddStates(546, 549);
break;
- case 337:
+ case 345:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(540, 544);
+ jjCheckNAddStates(550, 554);
break;
- case 338:
+ case 346:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(545, 550);
+ jjCheckNAddStates(555, 560);
break;
- case 340:
+ case 348:
if (curChar == 40) {
- jjCheckNAddStates(551, 556);
+ jjCheckNAddStates(561, 566);
}
break;
- case 341:
+ case 349:
if ((0xfffffc7a00000000L & l) != 0L) {
- jjCheckNAddStates(557, 560);
+ jjCheckNAddStates(567, 570);
}
break;
- case 342:
+ case 350:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddTwoStates(342, 343);
+ jjCheckNAddTwoStates(350, 351);
}
break;
- case 343:
+ case 351:
if (curChar == 41 && kind > 75) {
kind = 75;
}
break;
- case 345:
+ case 353:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(557, 560);
+ jjCheckNAddStates(567, 570);
}
break;
- case 346:
+ case 354:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(561, 565);
+ jjCheckNAddStates(571, 575);
}
break;
- case 347:
+ case 355:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(557, 560);
+ jjCheckNAddStates(567, 570);
}
break;
- case 348:
+ case 356:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(566, 573);
+ jjCheckNAddStates(576, 583);
}
break;
- case 349:
+ case 357:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(574, 577);
+ jjCheckNAddStates(584, 587);
}
break;
- case 350:
+ case 358:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(578, 582);
+ jjCheckNAddStates(588, 592);
}
break;
- case 351:
+ case 359:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(583, 588);
+ jjCheckNAddStates(593, 598);
}
break;
- case 352:
+ case 360:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(589, 595);
+ jjCheckNAddStates(599, 605);
}
break;
- case 353:
+ case 361:
if (curChar == 39) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 354:
+ case 362:
if ((0xffffff7f00000200L & l) != 0L) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 355:
+ case 363:
if (curChar == 39) {
- jjCheckNAddTwoStates(342, 343);
+ jjCheckNAddTwoStates(350, 351);
}
break;
- case 357:
+ case 365:
if (curChar == 12) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 359:
+ case 367:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 360:
+ case 368:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(600, 605);
+ jjCheckNAddStates(610, 615);
}
break;
- case 361:
+ case 369:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 362:
+ case 370:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(606, 614);
+ jjCheckNAddStates(616, 624);
}
break;
- case 363:
+ case 371:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(615, 619);
+ jjCheckNAddStates(625, 629);
}
break;
- case 364:
+ case 372:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(620, 625);
+ jjCheckNAddStates(630, 635);
}
break;
- case 365:
+ case 373:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(626, 632);
+ jjCheckNAddStates(636, 642);
}
break;
- case 366:
+ case 374:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(633, 640);
+ jjCheckNAddStates(643, 650);
}
break;
- case 367:
+ case 375:
if (curChar == 13) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 368:
+ case 376:
if (curChar == 10) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 369:
+ case 377:
if (curChar == 13) {
- jjstateSet[jjnewStateCnt++] = 368;
+ jjstateSet[jjnewStateCnt++] = 376;
}
break;
- case 370:
+ case 378:
if (curChar == 34) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 371:
+ case 379:
if ((0xfffffffb00000200L & l) != 0L) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 372:
+ case 380:
if (curChar == 34) {
- jjCheckNAddTwoStates(342, 343);
+ jjCheckNAddTwoStates(350, 351);
}
break;
- case 374:
+ case 382:
if (curChar == 12) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 376:
+ case 384:
if ((0xffffffff00000000L & l) != 0L) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 377:
+ case 385:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(645, 650);
+ jjCheckNAddStates(655, 660);
}
break;
- case 378:
+ case 386:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 379:
+ case 387:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(651, 659);
+ jjCheckNAddStates(661, 669);
}
break;
- case 380:
+ case 388:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(660, 664);
+ jjCheckNAddStates(670, 674);
}
break;
- case 381:
+ case 389:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(665, 670);
+ jjCheckNAddStates(675, 680);
}
break;
- case 382:
+ case 390:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(671, 677);
+ jjCheckNAddStates(681, 687);
}
break;
- case 383:
+ case 391:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(678, 685);
+ jjCheckNAddStates(688, 695);
}
break;
- case 384:
+ case 392:
if (curChar == 13) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 385:
+ case 393:
if (curChar == 10) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 386:
+ case 394:
if (curChar == 13) {
- jjstateSet[jjnewStateCnt++] = 385;
+ jjstateSet[jjnewStateCnt++] = 393;
}
break;
- case 387:
+ case 395:
if ((0x100003600L & l) != 0L) {
- jjCheckNAddStates(686, 692);
+ jjCheckNAddStates(696, 702);
}
break;
- case 390:
+ case 398:
if (curChar == 43) {
- jjAddStates(693, 694);
+ jjAddStates(703, 704);
}
break;
- case 391:
+ case 399:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 392;
+ jjstateSet[jjnewStateCnt++] = 400;
break;
- case 392:
+ case 400:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(695, 698);
+ jjCheckNAddStates(705, 708);
break;
- case 393:
- if (curChar == 63 && kind > 112) {
- kind = 112;
+ case 401:
+ if (curChar == 63 && kind > 114) {
+ kind = 114;
}
break;
- case 394:
- case 409:
- case 413:
- case 416:
- case 419:
+ case 402:
+ case 417:
+ case 421:
+ case 424:
+ case 427:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAdd(393);
+ jjCheckNAdd(401);
break;
- case 395:
+ case 403:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(393, 394);
+ jjCheckNAddTwoStates(401, 402);
break;
- case 396:
+ case 404:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(699, 701);
+ jjCheckNAddStates(709, 711);
break;
- case 397:
+ case 405:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjAddStates(702, 707);
+ jjAddStates(712, 717);
break;
- case 398:
+ case 406:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 399;
+ jjstateSet[jjnewStateCnt++] = 407;
}
break;
- case 399:
+ case 407:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 400;
+ jjstateSet[jjnewStateCnt++] = 408;
}
break;
- case 400:
+ case 408:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAdd(401);
+ jjCheckNAdd(409);
}
break;
- case 401:
- if ((0x3ff000000000000L & l) != 0L && kind > 112) {
- kind = 112;
+ case 409:
+ if ((0x3ff000000000000L & l) != 0L && kind > 114) {
+ kind = 114;
}
break;
- case 402:
+ case 410:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 403;
+ jjstateSet[jjnewStateCnt++] = 411;
}
break;
- case 403:
+ case 411:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 404;
+ jjstateSet[jjnewStateCnt++] = 412;
}
break;
- case 404:
+ case 412:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 405;
+ jjstateSet[jjnewStateCnt++] = 413;
}
break;
- case 405:
+ case 413:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAdd(393);
+ jjCheckNAdd(401);
break;
- case 406:
+ case 414:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 407;
+ jjstateSet[jjnewStateCnt++] = 415;
}
break;
- case 407:
+ case 415:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 408;
+ jjstateSet[jjnewStateCnt++] = 416;
}
break;
- case 408:
+ case 416:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 409;
+ jjstateSet[jjnewStateCnt++] = 417;
break;
- case 410:
+ case 418:
if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 411;
+ jjstateSet[jjnewStateCnt++] = 419;
}
break;
- case 411:
+ case 419:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 412;
+ jjstateSet[jjnewStateCnt++] = 420;
break;
- case 412:
+ case 420:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(393, 413);
+ jjCheckNAddTwoStates(401, 421);
break;
- case 414:
+ case 422:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 415;
+ jjstateSet[jjnewStateCnt++] = 423;
break;
- case 415:
+ case 423:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(708, 710);
+ jjCheckNAddStates(718, 720);
break;
- case 417:
+ case 425:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(393, 416);
+ jjCheckNAddTwoStates(401, 424);
break;
- case 418:
+ case 426:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(711, 714);
+ jjCheckNAddStates(721, 724);
break;
- case 420:
+ case 428:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(393, 419);
+ jjCheckNAddTwoStates(401, 427);
break;
- case 421:
+ case 429:
if (curChar != 63) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(715, 717);
+ jjCheckNAddStates(725, 727);
break;
- case 422:
+ case 430:
if (curChar == 43) {
- jjstateSet[jjnewStateCnt++] = 423;
+ jjstateSet[jjnewStateCnt++] = 431;
}
break;
- case 423:
+ case 431:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(424, 430);
+ jjCheckNAddTwoStates(432, 438);
}
break;
- case 424:
+ case 432:
if (curChar == 45) {
- jjstateSet[jjnewStateCnt++] = 425;
+ jjstateSet[jjnewStateCnt++] = 433;
}
break;
- case 425:
+ case 433:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 426;
+ jjstateSet[jjnewStateCnt++] = 434;
break;
- case 426:
+ case 434:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(718, 721);
+ jjCheckNAddStates(728, 731);
break;
- case 427:
+ case 435:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAdd(401);
+ jjCheckNAdd(409);
break;
- case 428:
+ case 436:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(401, 427);
+ jjCheckNAddTwoStates(409, 435);
break;
- case 429:
+ case 437:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(722, 724);
+ jjCheckNAddStates(732, 734);
break;
- case 430:
+ case 438:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(725, 729);
+ jjCheckNAddStates(735, 739);
}
break;
- case 431:
+ case 439:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAdd(424);
+ jjCheckNAdd(432);
}
break;
- case 432:
+ case 440:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(431, 424);
+ jjCheckNAddTwoStates(439, 432);
}
break;
- case 433:
+ case 441:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(730, 732);
+ jjCheckNAddStates(740, 742);
}
break;
- case 434:
+ case 442:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(733, 736);
+ jjCheckNAddStates(743, 746);
}
break;
- case 436:
+ case 444:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(737, 740);
+ jjCheckNAddStates(747, 750);
break;
- case 437:
+ case 445:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(741, 747);
+ jjCheckNAddStates(751, 757);
break;
- case 438:
+ case 446:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(748, 750);
+ jjCheckNAddStates(758, 760);
break;
- case 439:
+ case 447:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(751, 754);
+ jjCheckNAddStates(761, 764);
break;
- case 440:
+ case 448:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(755, 759);
+ jjCheckNAddStates(765, 769);
break;
- case 441:
+ case 449:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(760, 765);
+ jjCheckNAddStates(770, 775);
break;
- case 442:
+ case 450:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(766, 770);
+ jjCheckNAddStates(776, 780);
}
break;
- case 443:
+ case 451:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(771, 778);
+ jjCheckNAddStates(781, 788);
}
break;
- case 445:
+ case 453:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(779, 783);
+ jjCheckNAddStates(789, 793);
}
break;
- case 446:
+ case 454:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(784, 789);
+ jjCheckNAddStates(794, 799);
}
break;
- case 447:
+ case 455:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(790, 796);
+ jjCheckNAddStates(800, 806);
}
break;
- case 448:
+ case 456:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 73) {
kind = 73;
}
- jjCheckNAddStates(4, 77);
+ jjCheckNAddStates(0, 81);
break;
- case 449:
+ case 457:
if ((0x3ff000000000000L & l) == 0L) {
break;
}
if (kind > 73) {
kind = 73;
}
- jjCheckNAdd(449);
+ jjCheckNAdd(457);
break;
- case 450:
+ case 458:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(450, 451);
+ jjCheckNAddTwoStates(458, 459);
}
break;
- case 451:
+ case 459:
if (curChar == 46) {
jjCheckNAdd(266);
}
break;
- case 452:
+ case 460:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(452, 268);
+ jjCheckNAddTwoStates(460, 268);
}
break;
- case 453:
+ case 461:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(453, 454);
+ jjCheckNAddTwoStates(461, 462);
}
break;
- case 454:
+ case 462:
if (curChar == 46) {
jjCheckNAdd(267);
}
break;
- case 455:
+ case 463:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(455, 271);
+ jjCheckNAddTwoStates(463, 271);
}
break;
- case 456:
+ case 464:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(456, 457);
+ jjCheckNAddTwoStates(464, 465);
}
break;
- case 457:
+ case 465:
if (curChar == 46) {
jjCheckNAdd(269);
}
break;
- case 458:
+ case 466:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(458, 274);
+ jjCheckNAddTwoStates(466, 274);
}
break;
- case 459:
+ case 467:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(459, 460);
+ jjCheckNAddTwoStates(467, 468);
}
break;
- case 460:
+ case 468:
if (curChar == 46) {
jjCheckNAdd(272);
}
break;
- case 461:
+ case 469:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(461, 277);
+ jjCheckNAddTwoStates(469, 277);
}
break;
- case 462:
+ case 470:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(462, 463);
+ jjCheckNAddTwoStates(470, 471);
}
break;
- case 463:
+ case 471:
if (curChar == 46) {
jjCheckNAdd(275);
}
break;
- case 464:
+ case 472:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(464, 280);
+ jjCheckNAddTwoStates(472, 280);
}
break;
- case 465:
+ case 473:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(465, 466);
+ jjCheckNAddTwoStates(473, 474);
}
break;
- case 466:
+ case 474:
if (curChar == 46) {
jjCheckNAdd(278);
}
break;
- case 467:
+ case 475:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(467, 283);
+ jjCheckNAddTwoStates(475, 283);
}
break;
- case 468:
+ case 476:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(468, 469);
+ jjCheckNAddTwoStates(476, 477);
}
break;
- case 469:
+ case 477:
if (curChar == 46) {
jjCheckNAdd(281);
}
break;
- case 470:
+ case 478:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(470, 286);
+ jjCheckNAddTwoStates(478, 286);
}
break;
- case 471:
+ case 479:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(471, 472);
+ jjCheckNAddTwoStates(479, 480);
}
break;
- case 472:
+ case 480:
if (curChar == 46) {
jjCheckNAdd(284);
}
break;
- case 473:
+ case 481:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(473, 289);
+ jjCheckNAddTwoStates(481, 289);
}
break;
- case 474:
+ case 482:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(474, 475);
+ jjCheckNAddTwoStates(482, 483);
}
break;
- case 475:
+ case 483:
if (curChar == 46) {
jjCheckNAdd(287);
}
break;
- case 476:
+ case 484:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(476, 292);
+ jjCheckNAddTwoStates(484, 293);
}
break;
- case 477:
+ case 485:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(477, 478);
+ jjCheckNAddTwoStates(485, 486);
}
break;
- case 478:
+ case 486:
if (curChar == 46) {
jjCheckNAdd(290);
}
break;
- case 479:
+ case 487:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(479, 296);
+ jjCheckNAddTwoStates(487, 297);
}
break;
- case 480:
+ case 488:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(480, 481);
+ jjCheckNAddTwoStates(488, 489);
}
break;
- case 481:
+ case 489:
if (curChar == 46) {
- jjCheckNAdd(293);
+ jjCheckNAdd(294);
}
break;
- case 482:
+ case 490:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(482, 300);
+ jjCheckNAddTwoStates(490, 300);
}
break;
- case 483:
+ case 491:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(483, 484);
+ jjCheckNAddTwoStates(491, 492);
}
break;
- case 484:
+ case 492:
if (curChar == 46) {
- jjCheckNAdd(297);
+ jjCheckNAdd(298);
}
break;
- case 485:
+ case 493:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(485, 305);
+ jjCheckNAddTwoStates(493, 304);
}
break;
- case 486:
+ case 494:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(486, 487);
+ jjCheckNAddTwoStates(494, 495);
}
break;
- case 487:
+ case 495:
if (curChar == 46) {
jjCheckNAdd(301);
}
break;
- case 488:
+ case 496:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(488, 308);
+ jjCheckNAddTwoStates(496, 308);
}
break;
- case 489:
+ case 497:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(489, 490);
+ jjCheckNAddTwoStates(497, 498);
}
break;
- case 490:
+ case 498:
if (curChar == 46) {
- jjCheckNAdd(306);
+ jjCheckNAdd(305);
}
break;
- case 491:
+ case 499:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(491, 310);
+ jjCheckNAddTwoStates(499, 313);
}
break;
- case 492:
+ case 500:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(492, 493);
+ jjCheckNAddTwoStates(500, 501);
}
break;
- case 493:
+ case 501:
if (curChar == 46) {
jjCheckNAdd(309);
}
break;
- case 494:
+ case 502:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(494, 313);
+ jjCheckNAddTwoStates(502, 316);
}
break;
- case 495:
+ case 503:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(495, 496);
+ jjCheckNAddTwoStates(503, 504);
}
break;
- case 496:
+ case 504:
if (curChar == 46) {
- jjCheckNAdd(311);
+ jjCheckNAdd(314);
}
break;
- case 497:
+ case 505:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(497, 317);
+ jjCheckNAddTwoStates(505, 318);
}
break;
- case 498:
+ case 506:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(498, 499);
+ jjCheckNAddTwoStates(506, 507);
}
break;
- case 499:
+ case 507:
if (curChar == 46) {
- jjCheckNAdd(314);
+ jjCheckNAdd(317);
}
break;
- case 500:
+ case 508:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(797, 801);
+ jjCheckNAddTwoStates(508, 321);
}
break;
- case 501:
+ case 509:
if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(501, 502);
+ jjCheckNAddTwoStates(509, 510);
}
break;
- case 502:
+ case 510:
+ if (curChar == 46) {
+ jjCheckNAdd(319);
+ }
+ break;
+ case 511:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddTwoStates(511, 325);
+ }
+ break;
+ case 512:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddTwoStates(512, 513);
+ }
+ break;
+ case 513:
if (curChar == 46) {
- jjCheckNAdd(318);
+ jjCheckNAdd(322);
+ }
+ break;
+ case 514:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddStates(807, 811);
+ }
+ break;
+ case 515:
+ if ((0x3ff000000000000L & l) != 0L) {
+ jjCheckNAddTwoStates(515, 516);
+ }
+ break;
+ case 516:
+ if (curChar == 46) {
+ jjCheckNAdd(326);
}
break;
default:
@@ -3163,10 +3201,10 @@ public class ParserTokenManager implements ParserConstants {
long l = 1L << (curChar & 077);
do {
switch (jjstateSet[--i]) {
- case 506:
+ case 520:
if ((0x7fffffe87fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3175,8 +3213,8 @@ public class ParserTokenManager implements ParserConstants {
break;
case 166:
if ((0x7fffffe07fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3188,8 +3226,8 @@ public class ParserTokenManager implements ParserConstants {
break;
case 174:
if ((0x7fffffe87fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3199,7 +3237,32 @@ public class ParserTokenManager implements ParserConstants {
jjstateSet[jjnewStateCnt++] = 173;
}
break;
- case 504:
+ case 4:
+ if ((0x7fffffe07fffffeL & l) != 0L) {
+ if (kind > 72) {
+ kind = 72;
+ }
+ jjCheckNAddStates(812, 817);
+ } else if (curChar == 92) {
+ jjCheckNAddStates(818, 821);
+ } else if (curChar == 64) {
+ jjAddStates(822, 826);
+ }
+ if ((0x20000000200000L & l) != 0L) {
+ jjAddStates(827, 829);
+ } else if ((0x800000008L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 155;
+ } else if ((0x200000002L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 145;
+ } else if ((0x4000000040000L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 137;
+ } else if ((0x4000000040L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 33;
+ } else if (curChar == 64) {
+ jjAddStates(830, 833);
+ }
+ break;
+ case 518:
if ((0x20000000200L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 259;
} else if ((0x1000000010L & l) != 0L) {
@@ -3208,8 +3271,8 @@ public class ParserTokenManager implements ParserConstants {
break;
case 178:
if ((0x7fffffe07fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
}
@@ -3224,9 +3287,9 @@ public class ParserTokenManager implements ParserConstants {
jjstateSet[jjnewStateCnt++] = 177;
}
break;
- case 503:
+ case 517:
if ((0x7fffffe87fffffeL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
} else if (curChar == 92) {
jjCheckNAddTwoStates(222, 223);
}
@@ -3239,35 +3302,10 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAddTwoStates(234, 235);
}
break;
- case 4:
- if ((0x7fffffe07fffffeL & l) != 0L) {
- if (kind > 72) {
- kind = 72;
- }
- jjCheckNAddStates(802, 807);
- } else if (curChar == 92) {
- jjCheckNAddStates(808, 811);
- } else if (curChar == 64) {
- jjAddStates(812, 816);
- }
- if ((0x20000000200000L & l) != 0L) {
- jjAddStates(817, 819);
- } else if ((0x800000008L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 155;
- } else if ((0x200000002L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 145;
- } else if ((0x4000000040000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 137;
- } else if ((0x4000000040L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 33;
- } else if (curChar == 64) {
- jjAddStates(820, 823);
- }
- break;
case 175:
if ((0x7fffffe87fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3276,7 +3314,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 33:
if ((0x7fffffe87fffffeL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
} else if (curChar == 92) {
jjCheckNAddTwoStates(222, 223);
}
@@ -3294,8 +3332,8 @@ public class ParserTokenManager implements ParserConstants {
break;
case 176:
if ((0x7fffffe87fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3307,7 +3345,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 42:
if ((0x7fffffe07fffffeL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
if ((0x7fffffe07fffffeL & l) != 0L) {
if (kind > 72) {
@@ -3321,8 +3359,8 @@ public class ParserTokenManager implements ParserConstants {
break;
case 177:
if ((0x7fffffe87fffffeL & l) != 0L) {
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
} else if (curChar == 92) {
@@ -3356,12 +3394,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 8:
if ((0x7fffffe07fffffeL & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 9:
if ((0x7fffffe87fffffeL & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 10:
@@ -3376,37 +3414,37 @@ public class ParserTokenManager implements ParserConstants {
break;
case 12:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 13:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(126, 130);
+ jjCheckNAddStates(136, 140);
}
break;
case 15:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(131, 138);
+ jjCheckNAddStates(141, 148);
}
break;
case 16:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(139, 142);
+ jjCheckNAddStates(149, 152);
}
break;
case 17:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(143, 147);
+ jjCheckNAddStates(153, 157);
}
break;
case 18:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(148, 153);
+ jjCheckNAddStates(158, 163);
}
break;
case 19:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(154, 160);
+ jjCheckNAddStates(164, 170);
}
break;
case 21:
@@ -3416,32 +3454,32 @@ public class ParserTokenManager implements ParserConstants {
break;
case 22:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(161, 165);
+ jjCheckNAddStates(171, 175);
}
break;
case 23:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(166, 173);
+ jjCheckNAddStates(176, 183);
}
break;
case 24:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(174, 177);
+ jjCheckNAddStates(184, 187);
}
break;
case 25:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(178, 182);
+ jjCheckNAddStates(188, 192);
}
break;
case 26:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(183, 188);
+ jjCheckNAddStates(193, 198);
}
break;
case 27:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(189, 195);
+ jjCheckNAddStates(199, 205);
}
break;
case 29:
@@ -3498,93 +3536,93 @@ public class ParserTokenManager implements ParserConstants {
case 45:
case 50:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 47:
if (curChar == 92) {
- jjAddStates(824, 827);
+ jjAddStates(834, 837);
}
break;
case 49:
if (curChar == 92) {
- jjAddStates(828, 829);
+ jjAddStates(838, 839);
}
break;
case 51:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(196, 201);
+ jjCheckNAddStates(206, 211);
}
break;
case 53:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(202, 210);
+ jjCheckNAddStates(212, 220);
}
break;
case 54:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(211, 215);
+ jjCheckNAddStates(221, 225);
}
break;
case 55:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(216, 221);
+ jjCheckNAddStates(226, 231);
}
break;
case 56:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(222, 228);
+ jjCheckNAddStates(232, 238);
}
break;
case 57:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(229, 236);
+ jjCheckNAddStates(239, 246);
}
break;
case 62:
case 67:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 64:
if (curChar == 92) {
- jjAddStates(830, 833);
+ jjAddStates(840, 843);
}
break;
case 66:
if (curChar == 92) {
- jjAddStates(834, 835);
+ jjAddStates(844, 845);
}
break;
case 68:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(237, 242);
+ jjCheckNAddStates(247, 252);
}
break;
case 70:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(243, 251);
+ jjCheckNAddStates(253, 261);
}
break;
case 71:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(252, 256);
+ jjCheckNAddStates(262, 266);
}
break;
case 72:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(257, 262);
+ jjCheckNAddStates(267, 272);
}
break;
case 73:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(263, 269);
+ jjCheckNAddStates(273, 279);
}
break;
case 74:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(270, 277);
+ jjCheckNAddStates(280, 287);
}
break;
case 80:
@@ -3626,7 +3664,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(278, 281);
+ jjCheckNAddStates(288, 291);
break;
case 86:
if ((0x7e0000007eL & l) == 0L) {
@@ -3635,7 +3673,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(282, 288);
+ jjCheckNAddStates(292, 298);
break;
case 87:
if ((0x7e0000007eL & l) == 0L) {
@@ -3644,7 +3682,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(289, 291);
+ jjCheckNAddStates(299, 301);
break;
case 88:
if ((0x7e0000007eL & l) == 0L) {
@@ -3653,7 +3691,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(292, 295);
+ jjCheckNAddStates(302, 305);
break;
case 89:
if ((0x7e0000007eL & l) == 0L) {
@@ -3662,7 +3700,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(296, 300);
+ jjCheckNAddStates(306, 310);
break;
case 90:
if ((0x7e0000007eL & l) == 0L) {
@@ -3671,7 +3709,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(301, 306);
+ jjCheckNAddStates(311, 316);
break;
case 92:
if (curChar == 92) {
@@ -3685,7 +3723,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(307, 310);
+ jjCheckNAddStates(317, 320);
break;
case 94:
if ((0x7e0000007eL & l) == 0L) {
@@ -3694,7 +3732,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(311, 317);
+ jjCheckNAddStates(321, 327);
break;
case 95:
if ((0x7e0000007eL & l) == 0L) {
@@ -3703,7 +3741,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(318, 320);
+ jjCheckNAddStates(328, 330);
break;
case 96:
if ((0x7e0000007eL & l) == 0L) {
@@ -3712,7 +3750,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(321, 324);
+ jjCheckNAddStates(331, 334);
break;
case 97:
if ((0x7e0000007eL & l) == 0L) {
@@ -3721,7 +3759,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(325, 329);
+ jjCheckNAddStates(335, 339);
break;
case 98:
if ((0x7e0000007eL & l) == 0L) {
@@ -3730,28 +3768,28 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 76) {
kind = 76;
}
- jjCheckNAddStates(330, 335);
+ jjCheckNAddStates(340, 345);
break;
case 100:
if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
case 101:
if (curChar == 92) {
- jjAddStates(836, 837);
+ jjAddStates(846, 847);
}
break;
case 102:
if ((0x7fffffffffffffffL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
@@ -3759,67 +3797,67 @@ public class ParserTokenManager implements ParserConstants {
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(336, 339);
+ jjCheckNAddStates(346, 349);
break;
case 105:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(340, 346);
+ jjCheckNAddStates(350, 356);
break;
case 106:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(347, 349);
+ jjCheckNAddStates(357, 359);
break;
case 107:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(350, 353);
+ jjCheckNAddStates(360, 363);
break;
case 108:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(354, 358);
+ jjCheckNAddStates(364, 368);
break;
case 109:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
- jjCheckNAddStates(359, 364);
+ jjCheckNAddStates(369, 374);
break;
case 110:
if (curChar == 64) {
- jjAddStates(820, 823);
+ jjAddStates(830, 833);
}
break;
case 112:
if ((0x7fffffe07fffffeL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -3827,8 +3865,8 @@ public class ParserTokenManager implements ParserConstants {
if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -3841,8 +3879,8 @@ public class ParserTokenManager implements ParserConstants {
if ((0x7fffffffffffffffL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -3850,55 +3888,55 @@ public class ParserTokenManager implements ParserConstants {
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(365, 368);
+ jjCheckNAddStates(375, 378);
break;
case 118:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(369, 375);
+ jjCheckNAddStates(379, 385);
break;
case 119:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(376, 378);
+ jjCheckNAddStates(386, 388);
break;
case 120:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(379, 382);
+ jjCheckNAddStates(389, 392);
break;
case 121:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(383, 387);
+ jjCheckNAddStates(393, 397);
break;
case 122:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(388, 393);
+ jjCheckNAddStates(398, 403);
break;
case 124:
if (curChar == 92) {
@@ -3909,59 +3947,59 @@ public class ParserTokenManager implements ParserConstants {
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(394, 397);
+ jjCheckNAddStates(404, 407);
break;
case 126:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(398, 404);
+ jjCheckNAddStates(408, 414);
break;
case 127:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(405, 407);
+ jjCheckNAddStates(415, 417);
break;
case 128:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(408, 411);
+ jjCheckNAddStates(418, 421);
break;
case 129:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(412, 416);
+ jjCheckNAddStates(422, 426);
break;
case 130:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
- jjCheckNAddStates(417, 422);
+ jjCheckNAddStates(427, 432);
break;
case 131:
if ((0x2000000020L & l) != 0L) {
- jjAddStates(423, 424);
+ jjAddStates(433, 434);
}
break;
case 134:
@@ -3991,7 +4029,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 139:
if ((0x1000000010L & l) != 0L) {
- jjAddStates(425, 426);
+ jjAddStates(435, 436);
}
break;
case 142:
@@ -4021,7 +4059,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 147:
if ((0x8000000080000L & l) != 0L) {
- jjAddStates(427, 428);
+ jjAddStates(437, 438);
}
break;
case 150:
@@ -4061,12 +4099,12 @@ public class ParserTokenManager implements ParserConstants {
break;
case 157:
if (curChar == 64) {
- jjAddStates(812, 816);
+ jjAddStates(822, 826);
}
break;
case 158:
- if ((0x8000000080000L & l) != 0L && kind > 100) {
- kind = 100;
+ if ((0x8000000080000L & l) != 0L && kind > 102) {
+ kind = 102;
}
break;
case 159:
@@ -4318,7 +4356,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(429, 432);
+ jjCheckNAddStates(439, 442);
break;
case 225:
if ((0x7e0000007eL & l) == 0L) {
@@ -4327,7 +4365,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(433, 439);
+ jjCheckNAddStates(443, 449);
break;
case 226:
if ((0x7e0000007eL & l) == 0L) {
@@ -4336,7 +4374,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(440, 442);
+ jjCheckNAddStates(450, 452);
break;
case 227:
if ((0x7e0000007eL & l) == 0L) {
@@ -4345,7 +4383,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(443, 446);
+ jjCheckNAddStates(453, 456);
break;
case 228:
if ((0x7e0000007eL & l) == 0L) {
@@ -4354,7 +4392,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(447, 451);
+ jjCheckNAddStates(457, 461);
break;
case 229:
if ((0x7e0000007eL & l) == 0L) {
@@ -4363,11 +4401,11 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(452, 457);
+ jjCheckNAddStates(462, 467);
break;
case 230:
if ((0x7fffffe87fffffeL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 233:
@@ -4377,38 +4415,38 @@ public class ParserTokenManager implements ParserConstants {
break;
case 234:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 235:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(458, 462);
+ jjCheckNAddStates(468, 472);
}
break;
case 237:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(463, 470);
+ jjCheckNAddStates(473, 480);
}
break;
case 238:
- case 444:
+ case 452:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(471, 474);
+ jjCheckNAddStates(481, 484);
}
break;
case 239:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(475, 479);
+ jjCheckNAddStates(485, 489);
}
break;
case 240:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(480, 485);
+ jjCheckNAddStates(490, 495);
}
break;
case 241:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(486, 492);
+ jjCheckNAddStates(496, 502);
}
break;
case 244:
@@ -4447,8 +4485,8 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 252:
- if ((0x10000000100000L & l) != 0L && kind > 102) {
- kind = 102;
+ if ((0x10000000100000L & l) != 0L && kind > 104) {
+ kind = 104;
}
break;
case 253:
@@ -4502,7 +4540,7 @@ public class ParserTokenManager implements ParserConstants {
break;
case 263:
if ((0x7fffffe07fffffeL & l) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 264:
@@ -4512,7 +4550,7 @@ public class ParserTokenManager implements ParserConstants {
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(802, 807);
+ jjCheckNAddStates(812, 817);
break;
case 270:
if ((0x10000000100000L & l) != 0L && kind > 78) {
@@ -4585,7 +4623,7 @@ public class ParserTokenManager implements ParserConstants {
}
break;
case 291:
- if ((0x100000001000000L & l) != 0L && kind > 85) {
+ if ((0x200000002000L & l) != 0L && kind > 85) {
kind = 85;
}
break;
@@ -4594,641 +4632,671 @@ public class ParserTokenManager implements ParserConstants {
jjstateSet[jjnewStateCnt++] = 291;
}
break;
- case 294:
- if ((0x8000000080L & l) != 0L && kind > 86) {
- kind = 86;
+ case 293:
+ if ((0x100000001000L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 292;
}
break;
case 295:
- if ((0x2000000020L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 294;
+ if ((0x200000002000L & l) != 0L && kind > 86) {
+ kind = 86;
}
break;
case 296:
- if ((0x1000000010L & l) != 0L) {
+ if ((0x2000000020L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 295;
}
break;
- case 298:
- if ((0x1000000010L & l) != 0L && kind > 87) {
- kind = 87;
+ case 297:
+ if ((0x4000000040000L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 296;
}
break;
case 299:
- if ((0x200000002L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 298;
+ if ((0x100000001000000L & l) != 0L && kind > 87) {
+ kind = 87;
}
break;
case 300:
- if ((0x4000000040000L & l) != 0L) {
+ if ((0x2000000020L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 299;
}
break;
case 302:
- if ((0x1000000010L & l) != 0L && kind > 88) {
+ if ((0x8000000080L & l) != 0L && kind > 88) {
kind = 88;
}
break;
case 303:
- if ((0x200000002L & l) != 0L) {
+ if ((0x2000000020L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 302;
}
break;
case 304:
- if ((0x4000000040000L & l) != 0L) {
+ if ((0x1000000010L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 303;
}
break;
- case 305:
- if ((0x8000000080L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 304;
+ case 306:
+ if ((0x1000000010L & l) != 0L && kind > 89) {
+ kind = 89;
}
break;
case 307:
- if ((0x8000000080000L & l) != 0L && kind > 89) {
- kind = 89;
+ if ((0x200000002L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 306;
}
break;
case 308:
- if ((0x200000002000L & l) != 0L) {
+ if ((0x4000000040000L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 307;
}
break;
case 310:
- if ((0x8000000080000L & l) != 0L && kind > 90) {
+ if ((0x1000000010L & l) != 0L && kind > 90) {
kind = 90;
}
break;
+ case 311:
+ if ((0x200000002L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 310;
+ }
+ break;
case 312:
- if ((0x400000004000000L & l) != 0L && kind > 91) {
- kind = 91;
+ if ((0x4000000040000L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 311;
}
break;
case 313:
- if ((0x10000000100L & l) != 0L) {
+ if ((0x8000000080L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 312;
}
break;
case 315:
- if ((0x400000004000000L & l) != 0L && kind > 92) {
- kind = 92;
+ if ((0x8000000080000L & l) != 0L && kind > 91) {
+ kind = 91;
}
break;
case 316:
- if ((0x10000000100L & l) != 0L) {
+ if ((0x200000002000L & l) != 0L) {
jjstateSet[jjnewStateCnt++] = 315;
}
break;
- case 317:
- if ((0x80000000800L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 316;
+ case 318:
+ if ((0x8000000080000L & l) != 0L && kind > 92) {
+ kind = 92;
}
break;
case 320:
+ if ((0x400000004000000L & l) != 0L && kind > 93) {
+ kind = 93;
+ }
+ break;
+ case 321:
+ if ((0x10000000100L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 320;
+ }
+ break;
+ case 323:
+ if ((0x400000004000000L & l) != 0L && kind > 94) {
+ kind = 94;
+ }
+ break;
+ case 324:
+ if ((0x10000000100L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 323;
+ }
+ break;
+ case 325:
+ if ((0x80000000800L & l) != 0L) {
+ jjstateSet[jjnewStateCnt++] = 324;
+ }
+ break;
+ case 328:
if ((0x7fffffe07fffffeL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 321:
+ case 329:
if ((0x7fffffe87fffffeL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 322:
+ case 330:
if (curChar == 92) {
- jjCheckNAddTwoStates(323, 324);
+ jjCheckNAddTwoStates(331, 332);
}
break;
- case 323:
+ case 331:
if ((0x7fffffffffffffffL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 324:
+ case 332:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(493, 496);
+ jjCheckNAddStates(503, 506);
break;
- case 326:
+ case 334:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(497, 503);
+ jjCheckNAddStates(507, 513);
break;
- case 327:
+ case 335:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(504, 506);
+ jjCheckNAddStates(514, 516);
break;
- case 328:
+ case 336:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(507, 510);
+ jjCheckNAddStates(517, 520);
break;
- case 329:
+ case 337:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(511, 515);
+ jjCheckNAddStates(521, 525);
break;
- case 330:
+ case 338:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(516, 521);
+ jjCheckNAddStates(526, 531);
break;
- case 332:
+ case 340:
if (curChar == 92) {
- jjCheckNAddTwoStates(323, 333);
+ jjCheckNAddTwoStates(331, 341);
}
break;
- case 333:
+ case 341:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(522, 525);
+ jjCheckNAddStates(532, 535);
break;
- case 334:
+ case 342:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(526, 532);
+ jjCheckNAddStates(536, 542);
break;
- case 335:
+ case 343:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(533, 535);
+ jjCheckNAddStates(543, 545);
break;
- case 336:
+ case 344:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(536, 539);
+ jjCheckNAddStates(546, 549);
break;
- case 337:
+ case 345:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(540, 544);
+ jjCheckNAddStates(550, 554);
break;
- case 338:
+ case 346:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddStates(545, 550);
+ jjCheckNAddStates(555, 560);
break;
- case 339:
+ case 347:
if ((0x20000000200000L & l) != 0L) {
- jjAddStates(817, 819);
+ jjAddStates(827, 829);
}
break;
- case 341:
- case 345:
+ case 349:
+ case 353:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(557, 560);
+ jjCheckNAddStates(567, 570);
}
break;
- case 344:
+ case 352:
if (curChar == 92) {
- jjAddStates(838, 839);
+ jjAddStates(848, 849);
}
break;
- case 346:
+ case 354:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(561, 565);
+ jjCheckNAddStates(571, 575);
}
break;
- case 348:
+ case 356:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(566, 573);
+ jjCheckNAddStates(576, 583);
}
break;
- case 349:
+ case 357:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(574, 577);
+ jjCheckNAddStates(584, 587);
}
break;
- case 350:
+ case 358:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(578, 582);
+ jjCheckNAddStates(588, 592);
}
break;
- case 351:
+ case 359:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(583, 588);
+ jjCheckNAddStates(593, 598);
}
break;
- case 352:
+ case 360:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(589, 595);
+ jjCheckNAddStates(599, 605);
}
break;
- case 354:
- case 359:
+ case 362:
+ case 367:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 356:
+ case 364:
if (curChar == 92) {
- jjAddStates(840, 843);
+ jjAddStates(850, 853);
}
break;
- case 358:
+ case 366:
if (curChar == 92) {
- jjAddStates(844, 845);
+ jjAddStates(854, 855);
}
break;
- case 360:
+ case 368:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(600, 605);
+ jjCheckNAddStates(610, 615);
}
break;
- case 362:
+ case 370:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(606, 614);
+ jjCheckNAddStates(616, 624);
}
break;
- case 363:
+ case 371:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(615, 619);
+ jjCheckNAddStates(625, 629);
}
break;
- case 364:
+ case 372:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(620, 625);
+ jjCheckNAddStates(630, 635);
}
break;
- case 365:
+ case 373:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(626, 632);
+ jjCheckNAddStates(636, 642);
}
break;
- case 366:
+ case 374:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(633, 640);
+ jjCheckNAddStates(643, 650);
}
break;
- case 371:
- case 376:
+ case 379:
+ case 384:
if ((0x7fffffffffffffffL & l) != 0L) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
- case 373:
+ case 381:
if (curChar == 92) {
- jjAddStates(846, 849);
+ jjAddStates(856, 859);
}
break;
- case 375:
+ case 383:
if (curChar == 92) {
- jjAddStates(850, 851);
+ jjAddStates(860, 861);
}
break;
- case 377:
+ case 385:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(645, 650);
+ jjCheckNAddStates(655, 660);
}
break;
- case 379:
+ case 387:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(651, 659);
+ jjCheckNAddStates(661, 669);
}
break;
- case 380:
+ case 388:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(660, 664);
+ jjCheckNAddStates(670, 674);
}
break;
- case 381:
+ case 389:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(665, 670);
+ jjCheckNAddStates(675, 680);
}
break;
- case 382:
+ case 390:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(671, 677);
+ jjCheckNAddStates(681, 687);
}
break;
- case 383:
+ case 391:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(678, 685);
+ jjCheckNAddStates(688, 695);
}
break;
- case 388:
+ case 396:
if ((0x100000001000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 340;
+ jjstateSet[jjnewStateCnt++] = 348;
}
break;
- case 389:
+ case 397:
if ((0x4000000040000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 388;
+ jjstateSet[jjnewStateCnt++] = 396;
}
break;
- case 397:
+ case 405:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjAddStates(702, 707);
+ jjAddStates(712, 717);
break;
- case 398:
+ case 406:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 399;
+ jjstateSet[jjnewStateCnt++] = 407;
}
break;
- case 399:
+ case 407:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 400;
+ jjstateSet[jjnewStateCnt++] = 408;
}
break;
- case 400:
+ case 408:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAdd(401);
+ jjCheckNAdd(409);
}
break;
- case 401:
- if ((0x7e0000007eL & l) != 0L && kind > 112) {
- kind = 112;
+ case 409:
+ if ((0x7e0000007eL & l) != 0L && kind > 114) {
+ kind = 114;
}
break;
- case 402:
+ case 410:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 403;
+ jjstateSet[jjnewStateCnt++] = 411;
}
break;
- case 403:
+ case 411:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 404;
+ jjstateSet[jjnewStateCnt++] = 412;
}
break;
- case 404:
+ case 412:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 405;
+ jjstateSet[jjnewStateCnt++] = 413;
}
break;
- case 405:
+ case 413:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 393;
+ jjstateSet[jjnewStateCnt++] = 401;
break;
- case 406:
+ case 414:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 407;
+ jjstateSet[jjnewStateCnt++] = 415;
}
break;
- case 407:
+ case 415:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 408;
+ jjstateSet[jjnewStateCnt++] = 416;
}
break;
- case 408:
+ case 416:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 409;
+ jjstateSet[jjnewStateCnt++] = 417;
break;
- case 410:
+ case 418:
if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 411;
+ jjstateSet[jjnewStateCnt++] = 419;
}
break;
- case 411:
+ case 419:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 412;
+ jjstateSet[jjnewStateCnt++] = 420;
break;
- case 414:
+ case 422:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 415;
+ jjstateSet[jjnewStateCnt++] = 423;
break;
- case 423:
+ case 431:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddTwoStates(424, 430);
+ jjCheckNAddTwoStates(432, 438);
}
break;
- case 425:
+ case 433:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjstateSet[jjnewStateCnt++] = 426;
+ jjstateSet[jjnewStateCnt++] = 434;
break;
- case 426:
+ case 434:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(718, 721);
+ jjCheckNAddStates(728, 731);
break;
- case 427:
+ case 435:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAdd(401);
+ jjCheckNAdd(409);
break;
- case 428:
+ case 436:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddTwoStates(401, 427);
+ jjCheckNAddTwoStates(409, 435);
break;
- case 429:
+ case 437:
if ((0x7e0000007eL & l) == 0L) {
break;
}
- if (kind > 112) {
- kind = 112;
+ if (kind > 114) {
+ kind = 114;
}
- jjCheckNAddStates(722, 724);
+ jjCheckNAddStates(732, 734);
break;
- case 430:
+ case 438:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(725, 729);
+ jjCheckNAddStates(735, 739);
}
break;
- case 431:
+ case 439:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAdd(424);
+ jjCheckNAdd(432);
}
break;
- case 432:
+ case 440:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddTwoStates(431, 424);
+ jjCheckNAddTwoStates(439, 432);
}
break;
- case 433:
+ case 441:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(730, 732);
+ jjCheckNAddStates(740, 742);
}
break;
- case 434:
+ case 442:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(733, 736);
+ jjCheckNAddStates(743, 746);
}
break;
- case 435:
+ case 443:
if (curChar == 92) {
- jjCheckNAddStates(808, 811);
+ jjCheckNAddStates(818, 821);
}
break;
- case 436:
+ case 444:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(737, 740);
+ jjCheckNAddStates(747, 750);
break;
- case 437:
+ case 445:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(741, 747);
+ jjCheckNAddStates(751, 757);
break;
- case 438:
+ case 446:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(748, 750);
+ jjCheckNAddStates(758, 760);
break;
- case 439:
+ case 447:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(751, 754);
+ jjCheckNAddStates(761, 764);
break;
- case 440:
+ case 448:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(755, 759);
+ jjCheckNAddStates(765, 769);
break;
- case 441:
+ case 449:
if ((0x7e0000007eL & l) == 0L) {
break;
}
if (kind > 72) {
kind = 72;
}
- jjCheckNAddStates(760, 765);
+ jjCheckNAddStates(770, 775);
break;
- case 442:
+ case 450:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(766, 770);
+ jjCheckNAddStates(776, 780);
}
break;
- case 443:
+ case 451:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(771, 778);
+ jjCheckNAddStates(781, 788);
}
break;
- case 445:
+ case 453:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(779, 783);
+ jjCheckNAddStates(789, 793);
}
break;
- case 446:
+ case 454:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(784, 789);
+ jjCheckNAddStates(794, 799);
}
break;
- case 447:
+ case 455:
if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(790, 796);
+ jjCheckNAddStates(800, 806);
}
break;
default:
@@ -5240,14 +5308,14 @@ public class ParserTokenManager implements ParserConstants {
long l2 = 1L << (curChar & 077);
do {
switch (jjstateSet[--i]) {
- case 506:
+ case 520:
case 113:
case 115:
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -5255,8 +5323,8 @@ public class ParserTokenManager implements ParserConstants {
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -5264,12 +5332,21 @@ public class ParserTokenManager implements ParserConstants {
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
- case 503:
+ case 4:
+ if ((jjbitVec0[i2] & l2) == 0L) {
+ break;
+ }
+ if (kind > 41) {
+ kind = 41;
+ }
+ jjCheckNAddStates(812, 817);
+ break;
+ case 517:
if ((jjbitVec0[i2] & l2) != 0L) {
if (kind > 72) {
kind = 72;
@@ -5277,24 +5354,15 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAddTwoStates(220, 221);
}
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
- case 4:
- if ((jjbitVec0[i2] & l2) == 0L) {
- break;
- }
- if (kind > 41) {
- kind = 41;
- }
- jjCheckNAddStates(802, 807);
- break;
case 175:
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -5306,15 +5374,15 @@ public class ParserTokenManager implements ParserConstants {
jjCheckNAddTwoStates(220, 221);
}
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
case 176:
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -5322,8 +5390,8 @@ public class ParserTokenManager implements ParserConstants {
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 101) {
- kind = 101;
+ if (kind > 103) {
+ kind = 103;
}
jjCheckNAddTwoStates(113, 114);
break;
@@ -5347,19 +5415,19 @@ public class ParserTokenManager implements ParserConstants {
case 12:
case 20:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(123, 125);
+ jjCheckNAddStates(133, 135);
}
break;
case 45:
case 50:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(110, 113);
+ jjCheckNAddStates(116, 119);
}
break;
case 62:
case 67:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(106, 109);
+ jjCheckNAddStates(112, 115);
}
break;
case 100:
@@ -5367,8 +5435,8 @@ public class ParserTokenManager implements ParserConstants {
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 94) {
- kind = 94;
+ if (kind > 96) {
+ kind = 96;
}
jjCheckNAddTwoStates(100, 101);
break;
@@ -5385,36 +5453,36 @@ public class ParserTokenManager implements ParserConstants {
case 230:
case 234:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(0, 3);
+ jjCheckNAddStates(120, 123);
}
break;
- case 321:
- case 323:
+ case 329:
case 331:
+ case 339:
if ((jjbitVec0[i2] & l2) == 0L) {
break;
}
- if (kind > 93) {
- kind = 93;
+ if (kind > 95) {
+ kind = 95;
}
- jjCheckNAddTwoStates(321, 322);
+ jjCheckNAddTwoStates(329, 330);
break;
- case 341:
- case 345:
+ case 349:
+ case 353:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(557, 560);
+ jjCheckNAddStates(567, 570);
}
break;
- case 354:
- case 359:
+ case 362:
+ case 367:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(596, 599);
+ jjCheckNAddStates(606, 609);
}
break;
- case 371:
- case 376:
+ case 379:
+ case 384:
if ((jjbitVec0[i2] & l2) != 0L) {
- jjCheckNAddStates(641, 644);
+ jjCheckNAddStates(651, 654);
}
break;
default:
@@ -5428,7 +5496,7 @@ public class ParserTokenManager implements ParserConstants {
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 503 - (jjnewStateCnt = startsAt))) {
+ if ((i = jjnewStateCnt) == (startsAt = 517 - (jjnewStateCnt = startsAt))) {
return curPos;
}
try {
@@ -5587,68 +5655,69 @@ public class ParserTokenManager implements ParserConstants {
return 2;
}
- static final int[] jjnextStates = { 230, 231, 232, 233, 449, 450, 451, 452,
- 453, 454, 268, 455, 456, 457, 271, 458, 459, 460, 274, 461, 462,
- 463, 277, 464, 465, 466, 280, 467, 468, 469, 283, 470, 471, 472,
- 286, 473, 474, 475, 289, 476, 477, 478, 292, 479, 480, 481, 296,
- 482, 483, 484, 300, 485, 486, 487, 305, 488, 489, 490, 308, 491,
- 492, 493, 310, 494, 495, 496, 313, 497, 498, 499, 317, 500, 501,
- 502, 319, 320, 331, 332, 266, 267, 269, 272, 275, 278, 281, 284,
- 287, 290, 293, 297, 301, 306, 309, 311, 314, 318, 262, 263, 243,
- 250, 251, 260, 79, 80, 91, 92, 62, 63, 64, 66, 45, 46, 47, 49, 318,
- 319, 320, 331, 332, 7, 8, 20, 21, 9, 10, 11, 9, 14, 10, 11, 15, 9,
- 16, 14, 10, 11, 17, 18, 19, 9, 14, 10, 11, 9, 16, 14, 10, 11, 9,
- 16, 14, 10, 11, 17, 9, 16, 14, 10, 11, 17, 18, 14, 9, 10, 11, 23,
- 24, 14, 9, 10, 11, 25, 26, 27, 14, 9, 10, 11, 24, 14, 9, 10, 11,
- 24, 14, 9, 10, 11, 25, 24, 14, 9, 10, 11, 25, 26, 45, 52, 46, 47,
- 49, 53, 45, 54, 52, 46, 47, 49, 55, 56, 57, 45, 52, 46, 47, 49, 45,
- 54, 52, 46, 47, 49, 45, 54, 52, 46, 47, 49, 55, 45, 54, 52, 46, 47,
- 49, 55, 56, 62, 69, 63, 64, 66, 70, 62, 71, 69, 63, 64, 66, 72, 73,
- 74, 62, 69, 63, 64, 66, 62, 71, 69, 63, 64, 66, 62, 71, 69, 63, 64,
- 66, 72, 62, 71, 69, 63, 64, 66, 72, 73, 81, 85, 82, 86, 81, 87, 85,
- 82, 88, 89, 90, 81, 85, 82, 81, 87, 85, 82, 81, 87, 85, 82, 88, 81,
- 87, 85, 82, 88, 89, 85, 81, 82, 94, 95, 85, 81, 82, 96, 97, 98, 85,
- 81, 82, 95, 85, 81, 82, 95, 85, 81, 82, 96, 95, 85, 81, 82, 96, 97,
- 100, 104, 101, 105, 100, 106, 104, 101, 107, 108, 109, 100, 104,
- 101, 100, 106, 104, 101, 100, 106, 104, 101, 107, 100, 106, 104,
- 101, 107, 108, 113, 117, 114, 118, 113, 119, 117, 114, 120, 121,
- 122, 113, 117, 114, 113, 119, 117, 114, 113, 119, 117, 114, 120,
- 113, 119, 117, 114, 120, 121, 117, 113, 114, 126, 127, 117, 113,
- 114, 128, 129, 130, 117, 113, 114, 127, 117, 113, 114, 127, 117,
- 113, 114, 128, 127, 117, 113, 114, 128, 129, 132, 133, 140, 141,
- 148, 149, 220, 224, 221, 225, 220, 226, 224, 221, 227, 228, 229,
- 220, 224, 221, 220, 226, 224, 221, 220, 226, 224, 221, 227, 220,
- 226, 224, 221, 227, 228, 230, 232, 233, 236, 237, 230, 238, 232,
- 233, 236, 239, 240, 241, 230, 232, 233, 236, 230, 238, 232, 233,
- 236, 230, 238, 232, 233, 236, 239, 230, 238, 232, 233, 236, 239,
- 240, 321, 325, 322, 326, 321, 327, 325, 322, 328, 329, 330, 321,
- 325, 322, 321, 327, 325, 322, 321, 327, 325, 322, 328, 321, 327,
- 325, 322, 328, 329, 325, 321, 322, 334, 335, 325, 321, 322, 336,
- 337, 338, 325, 321, 322, 335, 325, 321, 322, 335, 325, 321, 322,
- 336, 335, 325, 321, 322, 336, 337, 341, 353, 370, 343, 344, 387,
- 341, 342, 343, 344, 341, 343, 344, 347, 348, 341, 349, 343, 344,
- 347, 350, 351, 352, 341, 343, 344, 347, 341, 349, 343, 344, 347,
- 341, 349, 343, 344, 347, 350, 341, 349, 343, 344, 347, 350, 351,
- 354, 355, 356, 358, 354, 361, 355, 356, 358, 362, 354, 363, 361,
- 355, 356, 358, 364, 365, 366, 354, 361, 355, 356, 358, 354, 363,
- 361, 355, 356, 358, 354, 363, 361, 355, 356, 358, 364, 354, 363,
- 361, 355, 356, 358, 364, 365, 371, 372, 373, 375, 371, 378, 372,
- 373, 375, 379, 371, 380, 378, 372, 373, 375, 381, 382, 383, 371,
- 378, 372, 373, 375, 371, 380, 378, 372, 373, 375, 371, 380, 378,
- 372, 373, 375, 381, 371, 380, 378, 372, 373, 375, 381, 382, 341,
- 353, 370, 342, 343, 344, 387, 391, 397, 393, 394, 395, 396, 393,
- 394, 395, 398, 402, 406, 410, 414, 418, 393, 416, 417, 393, 419,
- 420, 421, 393, 419, 420, 401, 427, 428, 429, 401, 427, 428, 431,
- 424, 432, 433, 434, 431, 424, 432, 431, 424, 432, 433, 224, 220,
- 221, 437, 438, 224, 220, 221, 439, 440, 441, 224, 220, 221, 438,
- 224, 220, 221, 438, 224, 220, 221, 439, 438, 224, 220, 221, 439,
- 440, 230, 232, 233, 236, 443, 444, 230, 232, 233, 236, 445, 446,
- 447, 444, 230, 232, 233, 236, 444, 230, 232, 233, 236, 445, 444,
- 230, 232, 233, 236, 445, 446, 500, 319, 320, 331, 332, 220, 230,
- 231, 232, 233, 221, 222, 436, 234, 442, 166, 179, 190, 206, 218,
- 389, 390, 422, 111, 112, 123, 124, 48, 58, 60, 59, 50, 51, 65, 75,
- 77, 76, 67, 68, 102, 103, 345, 346, 357, 367, 369, 368, 359, 360,
- 374, 384, 386, 385, 376, 377, };
+ static final int[] jjnextStates = { 457, 458, 459, 460, 461, 462, 268, 463,
+ 464, 465, 271, 466, 467, 468, 274, 469, 470, 471, 277, 472, 473,
+ 474, 280, 475, 476, 477, 283, 478, 479, 480, 286, 481, 482, 483,
+ 289, 484, 485, 486, 293, 487, 488, 489, 297, 490, 491, 492, 300,
+ 493, 494, 495, 304, 496, 497, 498, 308, 499, 500, 501, 313, 502,
+ 503, 504, 316, 505, 506, 507, 318, 508, 509, 510, 321, 511, 512,
+ 513, 325, 514, 515, 516, 327, 328, 339, 340, 266, 267, 269, 272,
+ 275, 278, 281, 284, 287, 290, 294, 298, 301, 305, 309, 314, 317,
+ 319, 322, 326, 262, 263, 243, 250, 251, 260, 79, 80, 91, 92, 62,
+ 63, 64, 66, 45, 46, 47, 49, 230, 231, 232, 233, 326, 327, 328, 339,
+ 340, 7, 8, 20, 21, 9, 10, 11, 9, 14, 10, 11, 15, 9, 16, 14, 10, 11,
+ 17, 18, 19, 9, 14, 10, 11, 9, 16, 14, 10, 11, 9, 16, 14, 10, 11,
+ 17, 9, 16, 14, 10, 11, 17, 18, 14, 9, 10, 11, 23, 24, 14, 9, 10,
+ 11, 25, 26, 27, 14, 9, 10, 11, 24, 14, 9, 10, 11, 24, 14, 9, 10,
+ 11, 25, 24, 14, 9, 10, 11, 25, 26, 45, 52, 46, 47, 49, 53, 45, 54,
+ 52, 46, 47, 49, 55, 56, 57, 45, 52, 46, 47, 49, 45, 54, 52, 46, 47,
+ 49, 45, 54, 52, 46, 47, 49, 55, 45, 54, 52, 46, 47, 49, 55, 56, 62,
+ 69, 63, 64, 66, 70, 62, 71, 69, 63, 64, 66, 72, 73, 74, 62, 69, 63,
+ 64, 66, 62, 71, 69, 63, 64, 66, 62, 71, 69, 63, 64, 66, 72, 62, 71,
+ 69, 63, 64, 66, 72, 73, 81, 85, 82, 86, 81, 87, 85, 82, 88, 89, 90,
+ 81, 85, 82, 81, 87, 85, 82, 81, 87, 85, 82, 88, 81, 87, 85, 82, 88,
+ 89, 85, 81, 82, 94, 95, 85, 81, 82, 96, 97, 98, 85, 81, 82, 95, 85,
+ 81, 82, 95, 85, 81, 82, 96, 95, 85, 81, 82, 96, 97, 100, 104, 101,
+ 105, 100, 106, 104, 101, 107, 108, 109, 100, 104, 101, 100, 106,
+ 104, 101, 100, 106, 104, 101, 107, 100, 106, 104, 101, 107, 108,
+ 113, 117, 114, 118, 113, 119, 117, 114, 120, 121, 122, 113, 117,
+ 114, 113, 119, 117, 114, 113, 119, 117, 114, 120, 113, 119, 117,
+ 114, 120, 121, 117, 113, 114, 126, 127, 117, 113, 114, 128, 129,
+ 130, 117, 113, 114, 127, 117, 113, 114, 127, 117, 113, 114, 128,
+ 127, 117, 113, 114, 128, 129, 132, 133, 140, 141, 148, 149, 220,
+ 224, 221, 225, 220, 226, 224, 221, 227, 228, 229, 220, 224, 221,
+ 220, 226, 224, 221, 220, 226, 224, 221, 227, 220, 226, 224, 221,
+ 227, 228, 230, 232, 233, 236, 237, 230, 238, 232, 233, 236, 239,
+ 240, 241, 230, 232, 233, 236, 230, 238, 232, 233, 236, 230, 238,
+ 232, 233, 236, 239, 230, 238, 232, 233, 236, 239, 240, 329, 333,
+ 330, 334, 329, 335, 333, 330, 336, 337, 338, 329, 333, 330, 329,
+ 335, 333, 330, 329, 335, 333, 330, 336, 329, 335, 333, 330, 336,
+ 337, 333, 329, 330, 342, 343, 333, 329, 330, 344, 345, 346, 333,
+ 329, 330, 343, 333, 329, 330, 343, 333, 329, 330, 344, 343, 333,
+ 329, 330, 344, 345, 349, 361, 378, 351, 352, 395, 349, 350, 351,
+ 352, 349, 351, 352, 355, 356, 349, 357, 351, 352, 355, 358, 359,
+ 360, 349, 351, 352, 355, 349, 357, 351, 352, 355, 349, 357, 351,
+ 352, 355, 358, 349, 357, 351, 352, 355, 358, 359, 362, 363, 364,
+ 366, 362, 369, 363, 364, 366, 370, 362, 371, 369, 363, 364, 366,
+ 372, 373, 374, 362, 369, 363, 364, 366, 362, 371, 369, 363, 364,
+ 366, 362, 371, 369, 363, 364, 366, 372, 362, 371, 369, 363, 364,
+ 366, 372, 373, 379, 380, 381, 383, 379, 386, 380, 381, 383, 387,
+ 379, 388, 386, 380, 381, 383, 389, 390, 391, 379, 386, 380, 381,
+ 383, 379, 388, 386, 380, 381, 383, 379, 388, 386, 380, 381, 383,
+ 389, 379, 388, 386, 380, 381, 383, 389, 390, 349, 361, 378, 350,
+ 351, 352, 395, 399, 405, 401, 402, 403, 404, 401, 402, 403, 406,
+ 410, 414, 418, 422, 426, 401, 424, 425, 401, 427, 428, 429, 401,
+ 427, 428, 409, 435, 436, 437, 409, 435, 436, 439, 432, 440, 441,
+ 442, 439, 432, 440, 439, 432, 440, 441, 224, 220, 221, 445, 446,
+ 224, 220, 221, 447, 448, 449, 224, 220, 221, 446, 224, 220, 221,
+ 446, 224, 220, 221, 447, 446, 224, 220, 221, 447, 448, 230, 232,
+ 233, 236, 451, 452, 230, 232, 233, 236, 453, 454, 455, 452, 230,
+ 232, 233, 236, 452, 230, 232, 233, 236, 453, 452, 230, 232, 233,
+ 236, 453, 454, 514, 327, 328, 339, 340, 220, 230, 231, 232, 233,
+ 221, 222, 444, 234, 450, 166, 179, 190, 206, 218, 397, 398, 430,
+ 111, 112, 123, 124, 48, 58, 60, 59, 50, 51, 65, 75, 77, 76, 67, 68,
+ 102, 103, 353, 354, 365, 375, 377, 376, 367, 368, 382, 392, 394,
+ 393, 384, 385, };
/** Token literal values. */
public static final String[] jjstrLiteralImages = { "", null, null, null,
@@ -5663,7 +5732,7 @@ public class ParserTokenManager implements ParserConstants {
null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, };
+ null, null, null, null, null, null, null, null, null, null, };
/** Lexer state names. */
public static final String[] lexStateNames = { "DEFAULT",
@@ -5678,14 +5747,14 @@ public class ParserTokenManager implements ParserConstants {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, };
- static final long[] jjtoToken = { 0xfffc03fffffffc03L, 0x3f007ffffffbffL, };
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, };
+ static final long[] jjtoToken = { 0xfffc03fffffffc03L, 0xfc01fffffffbffL, };
static final long[] jjtoSkip = { 0x190L, 0x0L, };
static final long[] jjtoSpecial = { 0x80L, 0x0L, };
static final long[] jjtoMore = { 0x26cL, 0x0L, };
protected CharStream input_stream;
- private final int[] jjrounds = new int[503];
- private final int[] jjstateSet = new int[1006];
+ private final int[] jjrounds = new int[517];
+ private final int[] jjstateSet = new int[1034];
private final StringBuilder jjimage = new StringBuilder();
private StringBuilder image = jjimage;
private int jjimageLen;
@@ -5714,7 +5783,7 @@ public class ParserTokenManager implements ParserConstants {
private void ReInitRounds() {
int i;
jjround = 0x80000001;
- for (i = 503; i-- > 0;) {
+ for (i = 517; i-- > 0;) {
jjrounds[i] = 0x80000000;
}
}
@@ -5766,6 +5835,21 @@ public class ParserTokenManager implements ParserConstants {
int jjmatchedPos;
int jjmatchedKind;
+ /*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
/** Get the next Token. */
public Token getNextToken() {
Token specialToken = null;
@@ -5791,8 +5875,8 @@ public class ParserTokenManager implements ParserConstants {
jjmatchedKind = 0x7fffffff;
jjmatchedPos = 0;
curPos = jjMoveStringLiteralDfa0_0();
- if (jjmatchedPos == 0 && jjmatchedKind > 117) {
- jjmatchedKind = 117;
+ if (jjmatchedPos == 0 && jjmatchedKind > 119) {
+ jjmatchedKind = 119;
}
break;
case 1:
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSLexicalUnit.java b/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSLexicalUnit.java
index c94367b741..935e4e5abd 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSLexicalUnit.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSLexicalUnit.java
@@ -20,6 +20,9 @@ import org.w3c.css.sac.LexicalUnit;
public interface SCSSLexicalUnit extends LexicalUnit {
static final short SCSS_VARIABLE = 100;
+ static final short SAC_LEM = 200;
+ static final short SAC_REM = 201;
+
LexicalUnitImpl divide(LexicalUnitImpl denominator);
LexicalUnitImpl add(LexicalUnitImpl another);
diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSParseException.java b/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSParseException.java
new file mode 100644
index 0000000000..6d56c8128e
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/sass/internal/parser/SCSSParseException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.sass.internal.parser;
+
+public class SCSSParseException extends ParseException {
+ private ParseException parseException;
+ private String fileName;
+
+ public SCSSParseException(ParseException parseException, String fileName) {
+ this.parseException = parseException;
+ this.fileName = fileName;
+ }
+
+ @Override
+ public String getMessage() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("Error when parsing file ").append(fileName)
+ .append("\n").append(parseException.getMessage());
+ return builder.toString();
+ }
+}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/FunctionNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/FunctionNode.java
index 919db1fdd7..ced4671051 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/FunctionNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/FunctionNode.java
@@ -19,6 +19,7 @@ package com.vaadin.sass.internal.tree;
import java.util.ArrayList;
import com.vaadin.sass.internal.ScssStylesheet;
+import com.vaadin.sass.internal.util.StringUtil;
public class FunctionNode extends Node implements IVariableNode {
private static final long serialVersionUID = -5383104165955523923L;
@@ -47,8 +48,9 @@ public class FunctionNode extends Node implements IVariableNode {
@Override
public void replaceVariables(ArrayList<VariableNode> variables) {
for (final VariableNode node : variables) {
- if (args.contains(node.getName())) {
- args.replaceAll(node.getName(), node.getExpr().toString());
+ if (StringUtil.containsVariable(args, node.getName())) {
+ args = StringUtil.replaceVariable(args, node.getName(), node
+ .getExpr().toString());
}
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/MicrosoftRuleNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/MicrosoftRuleNode.java
index 1644c1c336..3938188a72 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/MicrosoftRuleNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/MicrosoftRuleNode.java
@@ -18,6 +18,7 @@ package com.vaadin.sass.internal.tree;
import java.util.ArrayList;
import com.vaadin.sass.internal.ScssStylesheet;
+import com.vaadin.sass.internal.util.StringUtil;
public class MicrosoftRuleNode extends Node implements IVariableNode {
@@ -32,9 +33,9 @@ public class MicrosoftRuleNode extends Node implements IVariableNode {
@Override
public void replaceVariables(ArrayList<VariableNode> variables) {
for (final VariableNode var : variables) {
- if (value.contains("$" + var.getName())) {
- value = value.replaceAll("$" + var.getName(), var.getExpr()
- .toString());
+ if (StringUtil.containsVariable(value, var.getName())) {
+ value = StringUtil.replaceVariable(value, var.getName(), var
+ .getExpr().toString());
}
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/NestPropertiesNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/NestPropertiesNode.java
index 63a42034bf..fc50cfda61 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/NestPropertiesNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/NestPropertiesNode.java
@@ -59,10 +59,9 @@ public class NestPropertiesNode extends Node implements IVariableNode {
@Override
public void replaceVariables(ArrayList<VariableNode> variables) {
- for (final VariableNode node : variables) {
- if (name.contains(node.getName())) {
- name = name.replaceAll(node.getName(), node.getExpr()
- .toString());
+ for (Node child : getChildren()) {
+ if (child instanceof RuleNode) {
+ ((RuleNode) child).replaceVariables(variables);
}
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/RuleNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/RuleNode.java
index 73ab31b4a1..a78d9d66d2 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/RuleNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/RuleNode.java
@@ -21,6 +21,7 @@ import java.util.regex.Pattern;
import com.vaadin.sass.internal.ScssStylesheet;
import com.vaadin.sass.internal.parser.LexicalUnitImpl;
+import com.vaadin.sass.internal.util.StringUtil;
public class RuleNode extends Node implements IVariableNode {
private static final long serialVersionUID = 6653493127869037022L;
@@ -95,28 +96,14 @@ public class RuleNode extends Node implements IVariableNode {
if (value.getLexicalUnitType() == LexicalUnitImpl.SAC_FUNCTION) {
if (value.getParameters() != null) {
- if (value.getParameters().toString()
- .contains(node.getName())) {
-
+ if (StringUtil.containsVariable(value.getParameters()
+ .toString(), node.getName())) {
LexicalUnitImpl param = value.getParameters();
while (param != null) {
- if (param.getValue().toString()
- .contains(node.getName())) {
-
- String value = node.getExpr().toString();
-
- LexicalUnitImpl prev = param
- .getPreviousLexicalUnit();
- LexicalUnitImpl next = param
- .getNextLexicalUnit();
-
- if (param.getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE) {
- param.setStringValue(value);
- param.setLexicalUnitType(node.getExpr()
- .getLexicalUnitType());
- param.setPrevLexicalUnit(prev);
- param.setNextLexicalUnit(next);
- }
+ if (param.getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE
+ && param.getValue().toString()
+ .equals(node.getName())) {
+ param.replaceValue(node.getExpr());
}
param = param.getNextLexicalUnit();
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/SimpleNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/SimpleNode.java
index cb27498562..796f4d8d1d 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/SimpleNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/SimpleNode.java
@@ -18,6 +18,7 @@ package com.vaadin.sass.internal.tree;
import java.util.ArrayList;
import com.vaadin.sass.internal.ScssStylesheet;
+import com.vaadin.sass.internal.util.StringUtil;
/**
* A simple BlockNode where input text equals output. <b>Note : </b> ignores any
@@ -44,9 +45,9 @@ public class SimpleNode extends Node implements IVariableNode {
@Override
public void replaceVariables(ArrayList<VariableNode> variables) {
for (final VariableNode node : variables) {
- if (text.contains(node.getName())) {
- text = text.replaceAll(node.getName(), node.getExpr()
- .toString());
+ if (StringUtil.containsVariable(text, node.getName())) {
+ text = StringUtil.replaceVariable(text, node.getName(), node
+ .getExpr().toString());
}
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/VariableNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/VariableNode.java
index f9b6f9dc8e..90be727f88 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/VariableNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/VariableNode.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import com.vaadin.sass.internal.ScssStylesheet;
import com.vaadin.sass.internal.parser.LexicalUnitImpl;
+import com.vaadin.sass.internal.util.StringUtil;
import com.vaadin.sass.internal.visitor.VariableNodeHandler;
public class VariableNode extends Node implements IVariableNode {
@@ -72,10 +73,11 @@ public class VariableNode extends Node implements IVariableNode {
for (final VariableNode node : variables) {
if (!equals(node)) {
- if (expr.toString().contains("$" + node.getName())) {
+ if (StringUtil
+ .containsVariable(expr.toString(), node.getName())) {
if (expr.getParameters() != null
- && expr.getParameters().toString()
- .contains("$" + node.getName())) {
+ && StringUtil.containsVariable(expr.getParameters()
+ .toString(), node.getName())) {
replaceValues(expr.getParameters(), node);
} else if (expr.getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE) {
replaceValues(expr, node);
diff --git a/theme-compiler/src/com/vaadin/sass/internal/tree/controldirective/IfNode.java b/theme-compiler/src/com/vaadin/sass/internal/tree/controldirective/IfNode.java
index de8a5a8551..af795a58c3 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/tree/controldirective/IfNode.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/tree/controldirective/IfNode.java
@@ -16,12 +16,12 @@
package com.vaadin.sass.internal.tree.controldirective;
import java.util.ArrayList;
-import java.util.regex.Pattern;
import com.vaadin.sass.internal.ScssStylesheet;
import com.vaadin.sass.internal.tree.IVariableNode;
import com.vaadin.sass.internal.tree.Node;
import com.vaadin.sass.internal.tree.VariableNode;
+import com.vaadin.sass.internal.util.StringUtil;
public class IfNode extends Node implements IfElseNode, IVariableNode {
private String expression;
@@ -47,10 +47,9 @@ public class IfNode extends Node implements IfElseNode, IVariableNode {
@Override
public void replaceVariables(ArrayList<VariableNode> variables) {
for (final VariableNode node : variables) {
- String variable = "$" + node.getName();
- if (expression.contains(variable)) {
- expression = expression.replaceAll(Pattern.quote(variable),
- node.getExpr().toString());
+ if (StringUtil.containsVariable(expression, node.getName())) {
+ expression = StringUtil.replaceVariable(expression,
+ node.getName(), node.getExpr().toString());
}
}
}
diff --git a/theme-compiler/src/com/vaadin/sass/internal/util/StringUtil.java b/theme-compiler/src/com/vaadin/sass/internal/util/StringUtil.java
index dcfd3db5c6..cf227fe3a3 100644
--- a/theme-compiler/src/com/vaadin/sass/internal/util/StringUtil.java
+++ b/theme-compiler/src/com/vaadin/sass/internal/util/StringUtil.java
@@ -21,6 +21,8 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class StringUtil {
private static final String FOLDER_SEPARATOR = "/"; // folder separator
@@ -133,4 +135,45 @@ public class StringUtil {
String delim) {
return collectionToDelimitedString(coll, delim, "", "");
}
+
+ /**
+ * Check if a String contains a SCSS variable, using whole word match.
+ *
+ * @param text
+ * text to be checked
+ * @Param varName SCSS variable name to be checked. (Without '$' sign)
+ * @return true if the text contains the SCSS variable, false if not
+ */
+ public static boolean containsVariable(String text, String varName) {
+ StringBuilder builder = new StringBuilder();
+ // (?![\\w-]) means lookahead, the next one shouldn't be a word
+ // character nor a dash.
+ builder.append("\\$").append(Pattern.quote(varName))
+ .append("(?![\\w-])");
+ Pattern pattern = Pattern.compile(builder.toString());
+ Matcher matcher = pattern.matcher(text);
+ return matcher.find();
+ }
+
+ /**
+ * Replace the SCSS variable in a String to its corresponding value, using
+ * whole word match.
+ *
+ * @param text
+ * text which contains the SCSS variable
+ * @param varName
+ * SCSS variable name
+ * @param value
+ * the value of the SCSS variable
+ * @return the String after replacing
+ */
+ public static String replaceVariable(String text, String varName,
+ String value) {
+ StringBuilder builder = new StringBuilder();
+ // (?![\\w-]) means lookahead, the next one shouldn't be a word
+ // character nor a dash.
+ builder.append("\\$").append(Pattern.quote(varName))
+ .append("(?![\\w-])");
+ return text.replaceAll(builder.toString(), value);
+ }
}
diff --git a/theme-compiler/tests/resources/automatic/css/expressions.css b/theme-compiler/tests/resources/automatic/css/expressions.css
new file mode 100644
index 0000000000..453502c21d
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/expressions.css
@@ -0,0 +1,3 @@
+.v-ie6 .v-window-modalitycurtain {
+ top: expression(document.documentElement.scrollTop + "px");
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/css/mixin-multiple-params.css b/theme-compiler/tests/resources/automatic/css/mixin-multiple-params.css
new file mode 100644
index 0000000000..affb47896f
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/mixin-multiple-params.css
@@ -0,0 +1,4 @@
+-webkit-test: foo bar;
+-moz-test: foo bar;
+-webkit-test: foo bar zoo;
+-moz-test: foo bar zoo; \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/css/negative-rem-value.css b/theme-compiler/tests/resources/automatic/css/negative-rem-value.css
new file mode 100644
index 0000000000..fdb638c61c
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/negative-rem-value.css
@@ -0,0 +1,5 @@
+* {
+ top: -0.0625rem;
+ bottom: -0.0625lem;
+ margin-top: -1px;
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/css/selector-with-parenthesis.css b/theme-compiler/tests/resources/automatic/css/selector-with-parenthesis.css
new file mode 100644
index 0000000000..5b9066b7f0
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/selector-with-parenthesis.css
@@ -0,0 +1,5 @@
+@charset "UTF-8";
+
+.foo .v-button:not(.link) {
+ color: #323232;
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/css/var-in-css-function.css b/theme-compiler/tests/resources/automatic/css/var-in-css-function.css
new file mode 100644
index 0000000000..07a921678d
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/var-in-css-function.css
@@ -0,0 +1,4 @@
+.v-window-footer {
+ background: linear-gradient(bottom, hsl(110, 50%, 98%), hsl(110, 50%, 90%));
+ abc: rgba(rgb(0, 255, 13), 0.85);
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/css/var-substring-match.css b/theme-compiler/tests/resources/automatic/css/var-substring-match.css
new file mode 100644
index 0000000000..54c97eac63
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/css/var-substring-match.css
@@ -0,0 +1,3 @@
+.foo {
+ font-size: 10px;
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/expressions.scss b/theme-compiler/tests/resources/automatic/scss/expressions.scss
new file mode 100644
index 0000000000..453502c21d
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/expressions.scss
@@ -0,0 +1,3 @@
+.v-ie6 .v-window-modalitycurtain {
+ top: expression(document.documentElement.scrollTop + "px");
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/mixin-multiple-params.scss b/theme-compiler/tests/resources/automatic/scss/mixin-multiple-params.scss
new file mode 100644
index 0000000000..2695ef9860
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/mixin-multiple-params.scss
@@ -0,0 +1,10 @@
+@mixin test2 ($p1, $p2) {
+ -webkit-test: $p1 $p2;
+ -moz-test: $p1 $p2;
+}
+@mixin test3 ($p1, $p2, $p3) {
+ -webkit-test: $p1 $p2 $p3;
+ -moz-test: $p1 $p2 $p3;
+}
+@include test2(foo, bar);
+@include test3(foo, bar, zoo); \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/negative-rem-value.scss b/theme-compiler/tests/resources/automatic/scss/negative-rem-value.scss
new file mode 100644
index 0000000000..20c001fc42
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/negative-rem-value.scss
@@ -0,0 +1,5 @@
+* {
+ top: -.0625rem;
+ bottom: -.0625lem;
+ margin-top: -1px;
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/selector-with-parenthesis.scss b/theme-compiler/tests/resources/automatic/scss/selector-with-parenthesis.scss
new file mode 100644
index 0000000000..8bc6271e29
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/selector-with-parenthesis.scss
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+@mixin buttons {
+ .v-button:not(.link) {
+ color: #323232;
+ }
+}
+
+.foo {
+ @include buttons;
+} \ No newline at end of file
diff --git a/theme-compiler/tests/resources/automatic/scss/var-in-css-function.scss b/theme-compiler/tests/resources/automatic/scss/var-in-css-function.scss
new file mode 100644
index 0000000000..72b371ba57
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/var-in-css-function.scss
@@ -0,0 +1,15 @@
+$very_light: 98%;
+$light: 90%;
+
+$hue1: 110;
+$saturation1: 50%;
+$very_light1: hsl($hue1, $saturation1, $very_light);
+$light1: hsl($hue1, $saturation1, $light);
+
+$color: rgb(0, 255, 13);
+.v-window-footer {
+ background: linear-gradient(bottom, $very_light1, $light1);
+ abc: rgba($color, .85);
+}
+
+
diff --git a/theme-compiler/tests/resources/automatic/scss/var-substring-match.scss b/theme-compiler/tests/resources/automatic/scss/var-substring-match.scss
new file mode 100644
index 0000000000..5acfb799a1
--- /dev/null
+++ b/theme-compiler/tests/resources/automatic/scss/var-substring-match.scss
@@ -0,0 +1,8 @@
+@mixin mx($f: 10px) {
+ .foo {
+ font: {
+ size: $f;
+ }
+ }
+}
+@include mx; \ No newline at end of file
diff --git a/theme-compiler/tests/resources/basic/reindeer.css b/theme-compiler/tests/resources/basic/reindeer.css
index af02070e72..869ce71367 100644
--- a/theme-compiler/tests/resources/basic/reindeer.css
+++ b/theme-compiler/tests/resources/basic/reindeer.css
@@ -2414,6 +2414,7 @@ div.v-window-header {
.v-shadow-window {
position: absolute;
+ top: expression(document.documentElement.scrollTop + "px");
}
.v-shadow-window .top-left {
diff --git a/theme-compiler/tests/src/com/vaadin/sass/internal/util/StringUtilTest.java b/theme-compiler/tests/src/com/vaadin/sass/internal/util/StringUtilTest.java
new file mode 100644
index 0000000000..b05b0e9dcf
--- /dev/null
+++ b/theme-compiler/tests/src/com/vaadin/sass/internal/util/StringUtilTest.java
@@ -0,0 +1,53 @@
+package com.vaadin.sass.internal.util;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class StringUtilTest {
+
+ @Test
+ public void testContainsVariable() {
+ String sentence = "$var1 var2";
+ String word = "var";
+ Assert.assertFalse(StringUtil.containsVariable(sentence, word));
+
+ word = "var1";
+ Assert.assertTrue(StringUtil.containsVariable(sentence, word));
+
+ String var2 = "var2";
+ Assert.assertFalse(StringUtil.containsVariable(sentence, var2));
+ }
+
+ @Test
+ public void testContainsVariableWithDash() {
+ String sentence = "$var- var2";
+ String word = "var";
+ Assert.assertFalse(StringUtil.containsVariable(sentence, word));
+ }
+
+ @Test
+ public void testReplaceVariable() {
+ String sentence = "$var1 var2";
+ String word = "var";
+ String value = "abc";
+ Assert.assertEquals(sentence,
+ StringUtil.replaceVariable(sentence, word, value));
+
+ word = "var1";
+ Assert.assertEquals("abc var2",
+ StringUtil.replaceVariable(sentence, word, value));
+
+ String var2 = "var2";
+ Assert.assertEquals(sentence,
+ StringUtil.replaceVariable(sentence, var2, value));
+ }
+
+ @Test
+ public void testReplaceVariableWithDash() {
+ String sentence = "$var- var2";
+ String word = "var";
+ String value = "abc";
+ Assert.assertEquals(sentence,
+ StringUtil.replaceVariable(sentence, word, value));
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/OutOfSyncTest.html b/uitest/src/com/vaadin/tests/components/OutOfSyncTest.html
new file mode 100644
index 0000000000..4828069e2a
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/OutOfSyncTest.html
@@ -0,0 +1,38 @@
+<?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:8888/" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/OutOfSyncTest?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>pause</td>
+ <td>1000</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runOutOfSyncTest::/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<!--Out of sync occured -> the button should be removed-->
+<tr>
+ <td>assertElementNotPresent</td>
+ <td>vaadin=runOutOfSyncTest::/VButton[0]</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/OutOfSyncTest.java b/uitest/src/com/vaadin/tests/components/OutOfSyncTest.java
new file mode 100644
index 0000000000..0efb519e8d
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/OutOfSyncTest.java
@@ -0,0 +1,55 @@
+package com.vaadin.tests.components;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Notification;
+
+public class OutOfSyncTest extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ Button b = new Button("Click me after 1s to be out of sync");
+ b.addClickListener(new ClickListener() {
+
+ @Override
+ public void buttonClick(ClickEvent event) {
+ Notification.show("This code will never be reached");
+ }
+ });
+ setContent(b);
+ Thread t = new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ // Remove button but prevent repaint -> causes out of sync
+ // issues
+ getSession().lock();
+ try {
+ setContent(null);
+ getConnectorTracker().markClean(OutOfSyncTest.this);
+ } finally {
+ getSession().unlock();
+ }
+ }
+ });
+ t.start();
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Click the button after 1s when it has been removed server side (causing synchronization problems)";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 10780;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.html b/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.html
new file mode 100644
index 0000000000..642abd8120
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.html
@@ -0,0 +1,72 @@
+<?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:8888/" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.button.ButtonToggleIcons?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[1]/VNativeButton[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[1]/VNativeButton[0]</td>
+ <td>40,14</td>
+</tr>
+<tr>
+ <td>assertCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[1]/VNativeButton[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+<tr>
+ <td>mouseClick</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[1]/VNativeButton[0]</td>
+ <td>40,14</td>
+</tr>
+<tr>
+ <td>assertNotCSSClass</td>
+ <td>vaadin=runcomvaadintestscomponentsbuttonButtonToggleIcons::/VVerticalLayout[0]/Slot[1]/VNativeButton[0]/domChild[0]</td>
+ <td>v-icon</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.java b/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.java
new file mode 100644
index 0000000000..626ed1d250
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/button/ButtonToggleIcons.java
@@ -0,0 +1,38 @@
+package com.vaadin.tests.components.button;
+
+import com.vaadin.server.ThemeResource;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.NativeButton;
+import com.vaadin.ui.UI;
+import com.vaadin.ui.VerticalLayout;
+
+@SuppressWarnings("serial")
+public class ButtonToggleIcons extends UI {
+
+ @Override
+ protected void init(final VaadinRequest request) {
+ final VerticalLayout layout = new VerticalLayout();
+ setContent(layout);
+
+ final ThemeResource iconResource = new ThemeResource(
+ "../runo/icons/16/arrow-left.png");
+
+ final ClickListener iconToggleListener = new ClickListener() {
+ @Override
+ public void buttonClick(final ClickEvent event) {
+ final Button btn = event.getButton();
+ if (btn.getIcon() == null) {
+ btn.setIcon(iconResource);
+ } else {
+ btn.setIcon(null);
+ }
+ }
+ };
+
+ layout.addComponent(new Button("Toggle icon", iconToggleListener));
+ layout.addComponent(new NativeButton("Toggle icon", iconToggleListener));
+ }
+} \ No newline at end of file
diff --git a/uitest/src/com/vaadin/tests/components/combobox/ComboBoxDataSourceChange.java b/uitest/src/com/vaadin/tests/components/combobox/ComboBoxDataSourceChange.java
index 1f2973ccb7..dea1deb9b5 100644
--- a/uitest/src/com/vaadin/tests/components/combobox/ComboBoxDataSourceChange.java
+++ b/uitest/src/com/vaadin/tests/components/combobox/ComboBoxDataSourceChange.java
@@ -86,8 +86,8 @@ public class ComboBoxDataSourceChange extends TestBase {
cb2.addListener(new Property.ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
- currentValue
- .setValue(event.getProperty().getValue().toString());
+ currentValue.setValue(String.valueOf(event.getProperty()
+ .getValue()));
}
});
}
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.html b/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.html
new file mode 100644
index 0000000000..d16e4a3354
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.html
@@ -0,0 +1,27 @@
+<?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:8888/" />
+<title>New Test</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">New Test</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/run/com.vaadin.tests.components.orderedlayout.HorizontalLayoutVerticalAlign?restartApplication</td>
+ <td></td>
+</tr>
+<tr>
+ <td>screenCapture</td>
+ <td></td>
+ <td>alignments</td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.java b/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.java
new file mode 100644
index 0000000000..4dc9d8129e
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/HorizontalLayoutVerticalAlign.java
@@ -0,0 +1,44 @@
+package com.vaadin.tests.components.orderedlayout;
+
+import com.vaadin.tests.components.TestBase;
+import com.vaadin.ui.Alignment;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.TextArea;
+
+public class HorizontalLayoutVerticalAlign extends TestBase {
+
+ @Override
+ protected void setup() {
+ HorizontalLayout p = new HorizontalLayout();
+
+ p.addComponent(new TextArea());
+
+ Label top = new Label("top");
+ p.addComponent(top);
+ p.setComponentAlignment(top, Alignment.TOP_CENTER);
+
+ Label middle = new Label("middle");
+ p.addComponent(middle);
+ p.setComponentAlignment(middle, Alignment.MIDDLE_CENTER);
+
+ Label bottom = new Label("bottom");
+ p.addComponent(bottom);
+ p.setComponentAlignment(bottom, Alignment.BOTTOM_CENTER);
+
+ p.addComponent(new TextArea());
+
+ addComponent(p);
+ }
+
+ @Override
+ protected String getDescription() {
+ return "Vertical alignments should be top-middle-bottom";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 10852;
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/table/SetDataSourceWithPropertyIds.java b/uitest/src/com/vaadin/tests/components/table/SetDataSourceWithPropertyIds.java
index f6eb893528..5749912f43 100644
--- a/uitest/src/com/vaadin/tests/components/table/SetDataSourceWithPropertyIds.java
+++ b/uitest/src/com/vaadin/tests/components/table/SetDataSourceWithPropertyIds.java
@@ -4,7 +4,6 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import com.vaadin.data.Buffered.SourceException;
import com.vaadin.data.util.BeanItemContainer;
import com.vaadin.server.VaadinRequest;
import com.vaadin.shared.ui.MarginInfo;
@@ -12,6 +11,7 @@ import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Label;
import com.vaadin.ui.Table;
+import com.vaadin.ui.Table.CacheUpdateException;
public class SetDataSourceWithPropertyIds extends AbstractTestUI {
@@ -71,7 +71,7 @@ public class SetDataSourceWithPropertyIds extends AbstractTestUI {
table.setContainerDataSource(jobContainer);
table.setVisibleColumns(new String[] { "jobId" });
label.setValue("no Exception");
- } catch (SourceException e) {
+ } catch (CacheUpdateException e) {
ArrayList<String> propertyIds = new ArrayList<String>();
propertyIds.add("jobId");
table.setContainerDataSource(jobContainer, propertyIds);
diff --git a/uitest/src/com/vaadin/tests/components/table/TableDragColumn.html b/uitest/src/com/vaadin/tests/components/table/TableDragColumn.html
index 7c2dc2813c..5d0ba160fe 100644
--- a/uitest/src/com/vaadin/tests/components/table/TableDragColumn.html
+++ b/uitest/src/com/vaadin/tests/components/table/TableDragColumn.html
@@ -53,7 +53,7 @@
<td>vaadin=runcomvaadintestscomponentstableTables::Root/VOverlay[3]/VMenuBar[0]#item1</td>
<td>37,8</td>
</tr>
-<!-- Drag column to a new location -->
+<!-- Drag and drop column 1 to the left of column 4 -->
<tr>
<td>drag</td>
<td>vaadin=runcomvaadintestscomponentstableTables::PID_StestComponent/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]</td>
@@ -67,7 +67,7 @@
<tr>
<td>drop</td>
<td>vaadin=runcomvaadintestscomponentstableTables::PID_StestComponent/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[2]/domChild[2]</td>
- <td>10,10</td>
+ <td>70,10</td>
</tr>
<tr>
<td>screenCapture</td>
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
index 7bb36b7ebb..99051a9e7b 100644
--- a/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html
+++ b/uitest/src/com/vaadin/tests/components/uitest/base_theme_test.html
@@ -17,11 +17,6 @@
<td></td>
</tr>
<tr>
- <td>setSpeed</td>
- <td>150</td>
- <td>150</td>
-</tr>
-<tr>
<td>screenCapture</td>
<td></td>
<td>labels</td>
@@ -68,11 +63,6 @@
</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>
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
index ff112e4dc4..c4534b8064 100644
--- a/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html
+++ b/uitest/src/com/vaadin/tests/components/uitest/chameleon_theme_test.html
@@ -16,12 +16,7 @@
<td>/run/ThemeTestUI?restartApplication&amp;theme=chameleon</td>
<td></td>
</tr>
-<tr>
- <td>setSpeed</td>
- <td>150</td>
- <td>150</td>
-</tr>
-<tr>
+<tr>
<td>screenCapture</td>
<td></td>
<td>labels</td>
@@ -68,11 +63,6 @@
</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>
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
index 109f1f1610..0a073b5384 100644
--- a/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html
+++ b/uitest/src/com/vaadin/tests/components/uitest/liferay_theme_test.html
@@ -17,11 +17,6 @@
<td></td>
</tr>
<tr>
- <td>setSpeed</td>
- <td>150</td>
- <td>150</td>
-</tr>
-<tr>
<td>screenCapture</td>
<td></td>
<td>labels</td>
@@ -68,11 +63,6 @@
</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>
diff --git a/uitest/src/com/vaadin/tests/components/uitest/reindeer_theme_test.html b/uitest/src/com/vaadin/tests/components/uitest/reindeer_theme_test.html
index f5a654b21a..441a87a088 100644
--- a/uitest/src/com/vaadin/tests/components/uitest/reindeer_theme_test.html
+++ b/uitest/src/com/vaadin/tests/components/uitest/reindeer_theme_test.html
@@ -17,11 +17,6 @@
<td></td>
</tr>
<tr>
- <td>setSpeed</td>
- <td>150</td>
- <td>150</td>
-</tr>
-<tr>
<td>screenCapture</td>
<td></td>
<td>labels</td>
@@ -68,11 +63,6 @@
</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>
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
index 3c65875684..33939ef076 100644
--- a/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html
+++ b/uitest/src/com/vaadin/tests/components/uitest/runo_theme_test.html
@@ -17,11 +17,6 @@
<td></td>
</tr>
<tr>
- <td>setSpeed</td>
- <td>150</td>
- <td>150</td>
-</tr>
-<tr>
<td>screenCapture</td>
<td></td>
<td>labels</td>
@@ -68,11 +63,6 @@
</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>
diff --git a/uitest/src/com/vaadin/tests/components/upload/TestFileUpload.java b/uitest/src/com/vaadin/tests/components/upload/TestFileUpload.java
index ad86d0f593..b57c236b20 100644
--- a/uitest/src/com/vaadin/tests/components/upload/TestFileUpload.java
+++ b/uitest/src/com/vaadin/tests/components/upload/TestFileUpload.java
@@ -8,8 +8,11 @@ import org.apache.commons.codec.digest.DigestUtils;
import com.vaadin.tests.components.TestBase;
import com.vaadin.tests.util.Log;
import com.vaadin.ui.Upload;
-import com.vaadin.ui.Upload.FinishedEvent;
+import com.vaadin.ui.Upload.FailedEvent;
+import com.vaadin.ui.Upload.FailedListener;
import com.vaadin.ui.Upload.Receiver;
+import com.vaadin.ui.Upload.SucceededEvent;
+import com.vaadin.ui.Upload.SucceededListener;
public class TestFileUpload extends TestBase implements Receiver {
@@ -27,10 +30,22 @@ public class TestFileUpload extends TestBase implements Receiver {
}
});
u.setId("UPL");
- u.addListener(new Upload.FinishedListener() {
+ u.addFailedListener(new FailedListener() {
@Override
- public void uploadFinished(FinishedEvent event) {
+ public void uploadFailed(FailedEvent event) {
+ String hash = DigestUtils.md5Hex(baos.toByteArray());
+
+ log.log("<span style=\"color: red;\">Upload failed. Name: "
+ + event.getFilename() + ", Size: " + baos.size()
+ + ", md5: " + hash + "</span>");
+ baos.reset();
+ }
+ });
+ u.addSucceededListener(new SucceededListener() {
+
+ @Override
+ public void uploadSucceeded(SucceededEvent event) {
String hash = DigestUtils.md5Hex(baos.toByteArray());
log.log("Upload finished. Name: " + event.getFilename()
+ ", Size: " + baos.size() + ", md5: " + hash);
diff --git a/uitest/src/com/vaadin/tests/overlays/OverlayTouchScrolling.java b/uitest/src/com/vaadin/tests/overlays/OverlayTouchScrolling.java
new file mode 100644
index 0000000000..fdcfdf7266
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/overlays/OverlayTouchScrolling.java
@@ -0,0 +1,56 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.tests.overlays;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Notification;
+
+public class OverlayTouchScrolling extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+
+ final CssLayout green = new CssLayout();
+ green.setSizeFull();
+ final CssLayout layout = new CssLayout() {
+ @Override
+ protected String getCss(Component c) {
+ return "background:green;";
+ }
+ };
+ layout.setSizeFull();
+ layout.addComponent(green);
+ setContent(layout);
+
+ Button button = new Button("Tap me with a touch device");
+ button.addClickListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent event) {
+
+ Notification
+ .show("Now close this and you can scroll in mad places.");
+ green.addComponent(new Label(
+ "Thank you for clicking, now scroll (with touch device) to area without green background, which shouldn't be possible."));
+ }
+ });
+ green.addComponent(button);
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Using overlays breaks top level scrolling on touch devices";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 10860;
+ }
+}
diff --git a/uitest/vaadin-server.xml b/uitest/vaadin-server.xml
index 3628483436..e02fab8564 100644
--- a/uitest/vaadin-server.xml
+++ b/uitest/vaadin-server.xml
@@ -11,6 +11,10 @@
<java classname="org.mortbay.jetty.runner.Runner" fork="yes">
<arg value="--port" />
<arg value="8888" />
+ <arg value="--out" />
+ <arg value="${vaadin.basedir}/result/jetty.out" />
+ <arg value="--log" />
+ <arg value="${vaadin.basedir}/result/jetty.log" />
<arg value="${war.file}" />
<classpath refid="classpath.jetty" />
<jvmarg value="-ea" />