From 419c6c787508a8b9c14a4613a96f3ac8e48b1981 Mon Sep 17 00:00:00 2001 From: Jens Jansson Date: Fri, 28 Jun 2013 15:09:08 +0300 Subject: Implemented Focusable in MenuBar (#7674) Change-Id: I31cd6fafffacc16147e63d3878fcf025163deb5b --- server/src/com/vaadin/ui/MenuBar.java | 31 ++++++- .../com/vaadin/shared/ui/menubar/MenuBarState.java | 4 +- .../tests/components/menubar/MenuBarFocus.html | 71 ++++++++++++++ .../tests/components/menubar/MenuBarFocus.java | 102 +++++++++++++++++++++ 4 files changed, 205 insertions(+), 3 deletions(-) create mode 100644 uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.html create mode 100644 uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.java diff --git a/server/src/com/vaadin/ui/MenuBar.java b/server/src/com/vaadin/ui/MenuBar.java index 2bf5234f24..545a1e9e3e 100644 --- a/server/src/com/vaadin/ui/MenuBar.java +++ b/server/src/com/vaadin/ui/MenuBar.java @@ -26,6 +26,8 @@ import com.vaadin.server.PaintException; import com.vaadin.server.PaintTarget; import com.vaadin.server.Resource; import com.vaadin.shared.ui.menubar.MenuBarConstants; +import com.vaadin.shared.ui.menubar.MenuBarState; +import com.vaadin.ui.Component.Focusable; /** *

@@ -35,7 +37,8 @@ import com.vaadin.shared.ui.menubar.MenuBarConstants; *

*/ @SuppressWarnings("serial") -public class MenuBar extends AbstractComponent implements LegacyComponent { +public class MenuBar extends AbstractComponent implements LegacyComponent, + Focusable { // Items of the top-level menu private final List menuItems; @@ -49,6 +52,11 @@ public class MenuBar extends AbstractComponent implements LegacyComponent { private boolean htmlContentAllowed; + @Override + protected MenuBarState getState() { + return (MenuBarState) super.getState(); + } + /** Paint (serialise) the component for the client. */ @Override public void paintContent(PaintTarget target) throws PaintException { @@ -386,6 +394,27 @@ public class MenuBar extends AbstractComponent implements LegacyComponent { return htmlContentAllowed; } + @Override + public int getTabIndex() { + return getState().tabIndex; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.Component.Focusable#setTabIndex(int) + */ + @Override + public void setTabIndex(int tabIndex) { + getState().tabIndex = tabIndex; + } + + @Override + public void focus() { + // Overridden only to make public + super.focus(); + } + /** * This interface contains the layer for menu commands of the * {@link com.vaadin.ui.MenuBar} class. It's method will fire when the user diff --git a/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java b/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java index 2eb9ae7779..bf812dfbb0 100644 --- a/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java +++ b/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java @@ -15,9 +15,9 @@ */ package com.vaadin.shared.ui.menubar; -import com.vaadin.shared.AbstractComponentState; +import com.vaadin.shared.ui.TabIndexState; -public class MenuBarState extends AbstractComponentState { +public class MenuBarState extends TabIndexState { { primaryStyleName = "v-menubar"; } diff --git a/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.html b/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.html new file mode 100644 index 0000000000..cd8de3757a --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.html @@ -0,0 +1,71 @@ + + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
open/run/MenuBarFocus?restartApplication
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]down
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]down
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]enter
assertTextvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[2]/VLabel[0]Foo clicked
clickvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[1]/VButton[0]/domChild[0]/domChild[0]
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]down
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]down
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]down
pressSpecialKeyvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VMenuBar[0]enter
assertTextvaadin=runMenuBarFocus::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[3]/VLabel[0]Bar clicked
+ + \ No newline at end of file diff --git a/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.java b/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.java new file mode 100644 index 0000000000..2ea7a23333 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/menubar/MenuBarFocus.java @@ -0,0 +1,102 @@ +/* + * 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.tests.components.menubar; + +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.Button.ClickListener; +import com.vaadin.ui.Label; +import com.vaadin.ui.MenuBar; +import com.vaadin.ui.MenuBar.Command; +import com.vaadin.ui.MenuBar.MenuItem; + +public class MenuBarFocus extends AbstractTestUI { + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server. + * VaadinRequest) + */ + @Override + protected void setup(VaadinRequest request) { + final MenuBar bar = buildMenu(); + Button focusButton = buildButton(bar); + + addComponent(bar); + addComponent(focusButton); + getLayout().setSpacing(true); + } + + private MenuBar buildMenu() { + final MenuBar bar = new MenuBar(); + bar.setDescription("Root Menu"); + + Command command = new Command() { + + @Override + public void menuSelected(MenuItem selectedItem) { + addComponent(new Label(selectedItem.getText() + " clicked")); + + } + }; + + // File + final MenuItem file = bar.addItem("File", null); + file.addItem("Foo", command); + file.addItem("Bar", command); + + // Edit + MenuItem edit = bar.addItem("Edit", null); + edit.addItem("Baz", command); + edit.addItem("Bay", command); + + bar.setTabIndex(2); + return bar; + } + + private Button buildButton(final MenuBar bar) { + ClickListener buttonClickListener = new ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + bar.focus(); + } + }; + + Button focusButton = new Button("Click me to focus the menubar", + buttonClickListener); + focusButton.setTabIndex(1); + return focusButton; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() + */ + @Override + protected String getTestDescription() { + return "This test checks if you can focus a menu bar on the client from the server side"; + } + + @Override + protected Integer getTicketNumber() { + return 7674; + } + +} -- cgit v1.2.3 From a4f127722af09a0e67f8df7c9aa3916b52d4595a Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Fri, 28 Jun 2013 16:00:59 +0300 Subject: Fixed NPE in ApplicationRunnerServlet (#12145) If the path for a test case file contained special characters (such as space), they would get URL encoded which wouldn't work for File constructors. Fixed by using URI.getPath(), which does the decoding. Change-Id: I2a7c13b785adbb2e486d3807b115540c0ba70fa6 --- uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java b/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java index 8c7edcac2e..a2f3c59f07 100644 --- a/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java +++ b/uitest/src/com/vaadin/launcher/ApplicationRunnerServlet.java @@ -18,6 +18,8 @@ package com.vaadin.launcher; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.util.Collections; import java.util.LinkedHashSet; @@ -64,7 +66,13 @@ public class ApplicationRunnerServlet extends LegacyVaadinServlet { String str = TestBase.class.getName().replace('.', '/') + ".class"; URL url = getService().getClassLoader().getResource(str); if ("file".equals(url.getProtocol())) { - File comVaadinTests = new File(url.getPath()).getParentFile() + String path = url.getPath(); + try { + path = new URI(path).getPath(); + } catch (URISyntaxException e) { + getLogger().log(Level.FINE, "Failed to decode url", e); + } + File comVaadinTests = new File(path).getParentFile() .getParentFile(); addDirectories(comVaadinTests, defaultPackages, "com.vaadin.tests"); -- cgit v1.2.3 From 08d365a41885c62597b9f0d29d6ef59b45b36577 Mon Sep 17 00:00:00 2001 From: Teemu Pöntelin Date: Fri, 28 Jun 2013 15:13:45 +0300 Subject: Fixed slider value initialization on HSV and RGB tabs of ColorPicker. (#7863) Change-Id: I3776400d849d4ba9f76d6296603152c0a6464aaa --- .../components/colorpicker/ColorPickerPopup.java | 84 ++++++++-------------- .../components/colorpicker/ColorPickerHsvTest.html | 37 ++++++++++ .../components/colorpicker/ColorPickerHsvTest.java | 41 +++++++++++ 3 files changed, 109 insertions(+), 53 deletions(-) create mode 100644 uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.html create mode 100644 uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.java diff --git a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java index fee52d1a24..b1eef16024 100644 --- a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java +++ b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java @@ -276,11 +276,9 @@ public class ColorPickerPopup extends Window implements ClickListener, sliders.setStyleName("rgb-sliders"); redSlider = createRGBSlider("Red", "red"); - - try { - redSlider.setValue(((Integer) color.getRed()).doubleValue()); - } catch (ValueOutOfBoundsException e) { - } + greenSlider = createRGBSlider("Green", "green"); + blueSlider = createRGBSlider("Blue", "blue"); + setRgbSliderValues(color); redSlider.addValueChangeListener(new ValueChangeListener() { @Override @@ -296,13 +294,6 @@ public class ColorPickerPopup extends Window implements ClickListener, sliders.addComponent(redSlider); - greenSlider = createRGBSlider("Green", "green"); - - try { - greenSlider.setValue(((Integer) color.getGreen()).doubleValue()); - } catch (ValueOutOfBoundsException e) { - } - greenSlider.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { @@ -316,13 +307,6 @@ public class ColorPickerPopup extends Window implements ClickListener, }); sliders.addComponent(greenSlider); - blueSlider = createRGBSlider("Blue", "blue"); - - try { - blueSlider.setValue(((Integer) color.getBlue()).doubleValue()); - } catch (ValueOutOfBoundsException e) { - } - blueSlider.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { @@ -368,15 +352,15 @@ public class ColorPickerPopup extends Window implements ClickListener, hsvLayout.addComponent(hsvGradient); selectors.add(hsvGradient); - float[] hsv = color.getHSV(); VerticalLayout sliders = new VerticalLayout(); sliders.setStyleName("hsv-sliders"); hueSlider = new Slider("Hue", 0, 360); - try { - hueSlider.setValue(((Float) hsv[0]).doubleValue()); - } catch (ValueOutOfBoundsException e1) { - } + saturationSlider = new Slider("Saturation", 0, 100); + valueSlider = new Slider("Value", 0, 100); + + float[] hsv = color.getHSV(); + setHsvSliderValues(hsv); hueSlider.setStyleName("hsv-slider"); hueSlider.addStyleName("hue-slider"); @@ -410,13 +394,6 @@ public class ColorPickerPopup extends Window implements ClickListener, }); sliders.addComponent(hueSlider); - saturationSlider = new Slider("Saturation", 0, 100); - - try { - saturationSlider.setValue(((Float) hsv[1]).doubleValue()); - } catch (ValueOutOfBoundsException e1) { - } - saturationSlider.setStyleName("hsv-slider"); saturationSlider.setWidth("220px"); saturationSlider.setImmediate(true); @@ -438,13 +415,6 @@ public class ColorPickerPopup extends Window implements ClickListener, }); sliders.addComponent(saturationSlider); - valueSlider = new Slider("Value", 0, 100); - - try { - valueSlider.setValue(((Float) hsv[2]).doubleValue()); - } catch (ValueOutOfBoundsException e1) { - } - valueSlider.setStyleName("hsv-slider"); valueSlider.setWidth("220px"); valueSlider.setImmediate(true); @@ -576,23 +546,11 @@ public class ColorPickerPopup extends Window implements ClickListener, setColor(event.getColor()); updatingColors = true; - try { - redSlider - .setValue(((Integer) selectedColor.getRed()).doubleValue()); - blueSlider.setValue(((Integer) selectedColor.getBlue()) - .doubleValue()); - greenSlider.setValue(((Integer) selectedColor.getGreen()) - .doubleValue()); - - float[] hsv = selectedColor.getHSV(); - hueSlider.setValue(((Float) (hsv[0] * 360f)).doubleValue()); - saturationSlider.setValue(((Float) (hsv[1] * 100f)).doubleValue()); - valueSlider.setValue(((Float) (hsv[2] * 100f)).doubleValue()); + setRgbSliderValues(selectedColor); + float[] hsv = selectedColor.getHSV(); + setHsvSliderValues(hsv); - } catch (ValueOutOfBoundsException e) { - e.printStackTrace(); - } updatingColors = false; for (ColorSelector s : selectors) { @@ -603,6 +561,26 @@ public class ColorPickerPopup extends Window implements ClickListener, } } + private void setRgbSliderValues(Color color) { + try { + redSlider.setValue(((Integer) color.getRed()).doubleValue()); + blueSlider.setValue(((Integer) color.getBlue()).doubleValue()); + greenSlider.setValue(((Integer) color.getGreen()).doubleValue()); + } catch (ValueOutOfBoundsException e) { + e.printStackTrace(); + } + } + + private void setHsvSliderValues(float[] hsv) { + try { + hueSlider.setValue(((Float) (hsv[0] * 360f)).doubleValue()); + saturationSlider.setValue(((Float) (hsv[1] * 100f)).doubleValue()); + valueSlider.setValue(((Float) (hsv[2] * 100f)).doubleValue()); + } catch (ValueOutOfBoundsException e) { + e.printStackTrace(); + } + } + @Override public void addColorChangeListener(ColorChangeListener listener) { addListener(ColorChangeEvent.class, listener, COLOR_CHANGE_METHOD); diff --git a/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.html b/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.html new file mode 100644 index 0000000000..1c53673b41 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.html @@ -0,0 +1,37 @@ + + + + + + +ColorPickerTest + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ColorPickerTest
open/run/com.vaadin.tests.components.colorpicker.ColorPickerHsvTest?restartApplication
mouseClickvaadin=runcomvaadintestscomponentscolorpickerColorPickerHsvTest::PID_Scolorpicker/domChild[1]20,16
mouseClickvaadin=runcomvaadintestscomponentscolorpickerColorPickerHsvTest::/VWindow[0]/FocusableScrollPanel[0]/VVerticalLayout[0]/Slot[0]/VTabsheet[0]/domChild[0]/domChild[0]/domChild[0]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]16,5
screenCapturehsv-initial-sliders
+ + diff --git a/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.java b/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.java new file mode 100644 index 0000000000..ab77fbf2ba --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/colorpicker/ColorPickerHsvTest.java @@ -0,0 +1,41 @@ +package com.vaadin.tests.components.colorpicker; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.shared.ui.colorpicker.Color; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.ColorPickerArea; +import com.vaadin.ui.Label; +import com.vaadin.ui.VerticalLayout; + +/** + * Tests the HSV tab slider values when initially opening the tab. + */ +public class ColorPickerHsvTest extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + VerticalLayout layout = new VerticalLayout(); + layout.setMargin(true); + setContent(layout); + + layout.addComponent(new Label( + "HSV initial values when opening the tab for the first time")); + ColorPickerArea colorpicker = new ColorPickerArea(); + colorpicker.setColor(new Color(Integer.parseInt("00b4f0", 16))); + colorpicker.setDefaultCaptionEnabled(false); + colorpicker.setId("colorpicker"); + layout.addComponent(colorpicker); + + } + + @Override + protected String getTestDescription() { + return "Tests the slider values when initially opening the HSV tab."; + } + + @Override + protected Integer getTicketNumber() { + return 7863; + } + +} -- cgit v1.2.3 From da480bdce215249344a9c80bb257a4575f072ceb Mon Sep 17 00:00:00 2001 From: mtzukanov Date: Fri, 28 Jun 2013 15:52:48 +0300 Subject: Fix VaadinService.findUI to throw Error if UIConstants.UI_ID_PARAMETER is not set (#11943) Change-Id: I3cbb88e3fab4f39af8e4799d5a914ab9bd4733f5 --- server/src/com/vaadin/server/VaadinService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/server/src/com/vaadin/server/VaadinService.java b/server/src/com/vaadin/server/VaadinService.java index 18dc468cb0..cfbf2606ae 100644 --- a/server/src/com/vaadin/server/VaadinService.java +++ b/server/src/com/vaadin/server/VaadinService.java @@ -905,7 +905,7 @@ public abstract class VaadinService implements Serializable { * * @param request * the request for which a UI is desired - * @return the UI belonging to the request + * @return the UI belonging to the request or null if no UI is found * */ public UI findUI(VaadinRequest request) { @@ -915,9 +915,11 @@ public abstract class VaadinService implements Serializable { // Get UI id from the request String uiIdString = request.getParameter(UIConstants.UI_ID_PARAMETER); - int uiId = Integer.parseInt(uiIdString); - - UI ui = session.getUIById(uiId); + UI ui = null; + if (uiIdString != null) { + int uiId = Integer.parseInt(uiIdString); + ui = session.getUIById(uiId); + } UI.setCurrent(ui); return ui; -- cgit v1.2.3 From 6291a5080e2a6d2f0c5a955e5cf9ae984763a5aa Mon Sep 17 00:00:00 2001 From: Risto Yrjänä Date: Fri, 28 Jun 2013 15:53:03 +0300 Subject: Ensure that Slider diffstate always contains "value" (#12133) Force diff state to contain "value", so that value changes from value change listeners work. Change-Id: I5b2c661f1297ec0272c150a5a9ff4ca26f19fefe --- server/src/com/vaadin/ui/Slider.java | 17 ++++++ .../slider/SliderUpdateFromValueChange.html | 37 ++++++++++++ .../slider/SliderUpdateFromValueChange.java | 65 ++++++++++++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.html create mode 100644 uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.java diff --git a/server/src/com/vaadin/ui/Slider.java b/server/src/com/vaadin/ui/Slider.java index e63fdc5e10..44fc49ba9b 100644 --- a/server/src/com/vaadin/ui/Slider.java +++ b/server/src/com/vaadin/ui/Slider.java @@ -16,6 +16,8 @@ package com.vaadin.ui; +import org.json.JSONException; + import com.vaadin.shared.ui.slider.SliderOrientation; import com.vaadin.shared.ui.slider.SliderServerRpc; import com.vaadin.shared.ui.slider.SliderState; @@ -32,6 +34,21 @@ public class Slider extends AbstractField { @Override public void valueChanged(double value) { + /* + * Client side updates the state before sending the event so we need + * to make sure the cached state is updated to match the client. If + * we do not do this, a reverting setValue() call in a listener will + * not cause the new state to be sent to the client. + * + * See #12133. + */ + try { + getUI().getConnectorTracker().getDiffState(Slider.this) + .put("value", value); + } catch (JSONException e) { + throw new RuntimeException(e); + } + try { setValue(value, true); } catch (final ValueOutOfBoundsException e) { diff --git a/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.html b/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.html new file mode 100644 index 0000000000..81c5938eb2 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.html @@ -0,0 +1,37 @@ + + + + + + +SliderUpdateFromValueChange + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SliderUpdateFromValueChange
open/run/com.vaadin.tests.components.slider.SliderUpdateFromValueChange?restartApplication
dragAndDropvaadin=runcomvaadintestscomponentssliderSliderUpdateFromValueChange::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VSlider[0]/domChild[2]/domChild[0]67,0
dragAndDropvaadin=runcomvaadintestscomponentssliderSliderUpdateFromValueChange::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VSlider[0]/domChild[2]/domChild[0]-188,0
assertNotAttributevaadin=runcomvaadintestscomponentssliderSliderUpdateFromValueChange::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VSlider[0]/domChild[2]/domChild[0]@styleregex:.*(margin-left|MARGIN-LEFT): 0px.*
+ + diff --git a/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.java b/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.java new file mode 100644 index 0000000000..21b56b7972 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/slider/SliderUpdateFromValueChange.java @@ -0,0 +1,65 @@ +/* + * 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.tests.components.slider; + +import com.vaadin.data.Property.ValueChangeEvent; +import com.vaadin.data.Property.ValueChangeListener; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Slider; + +/** + * Testcase for #12133 + * + * @author Vaadin Ltd + */ +public class SliderUpdateFromValueChange extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + final Slider slider = new Slider(0, 100, 1); + slider.addValueChangeListener(new ValueChangeListener() { + + @Override + public void valueChange(ValueChangeEvent event) { + Double value = (Double) event.getProperty().getValue(); + if (value < 100.0) { + slider.setValue(100.0); + } + slider.markAsDirty(); + } + + }); + slider.setImmediate(true); + slider.setWidth(200, Unit.PIXELS); + + addComponent(slider); + } + + @Override + protected String getTestDescription() { + return "Slider.setValue() does not update graphical representation of Slider component"; + } + + @Override + protected Integer getTicketNumber() { + return 12133; + } +} -- cgit v1.2.3 From 7e7e698367d38d10cb05cf493bd0eee338b05c0c Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Fri, 28 Jun 2013 16:19:24 +0300 Subject: 32x32 favicons added, replacing the old favicons (#12143) Added new version for favicon.ico, which has 32x32 pixel version in addition to 16x16 pixels. Adds support for high resolution/retina displays. Change-Id: I49bd84b9d23f1e26ceee28dab1e26d9cd4f6b6d2 --- WebContent/VAADIN/themes/base/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/chameleon/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/liferay/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/reindeer/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/runo/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/tests-book/favicon.ico | Bin 1150 -> 6518 bytes WebContent/VAADIN/themes/tests-tickets/favicon.ico | Bin 1150 -> 6518 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/WebContent/VAADIN/themes/base/favicon.ico b/WebContent/VAADIN/themes/base/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/base/favicon.ico and b/WebContent/VAADIN/themes/base/favicon.ico differ diff --git a/WebContent/VAADIN/themes/chameleon/favicon.ico b/WebContent/VAADIN/themes/chameleon/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/chameleon/favicon.ico and b/WebContent/VAADIN/themes/chameleon/favicon.ico differ diff --git a/WebContent/VAADIN/themes/liferay/favicon.ico b/WebContent/VAADIN/themes/liferay/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/liferay/favicon.ico and b/WebContent/VAADIN/themes/liferay/favicon.ico differ diff --git a/WebContent/VAADIN/themes/reindeer/favicon.ico b/WebContent/VAADIN/themes/reindeer/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/reindeer/favicon.ico and b/WebContent/VAADIN/themes/reindeer/favicon.ico differ diff --git a/WebContent/VAADIN/themes/runo/favicon.ico b/WebContent/VAADIN/themes/runo/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/runo/favicon.ico and b/WebContent/VAADIN/themes/runo/favicon.ico differ diff --git a/WebContent/VAADIN/themes/tests-book/favicon.ico b/WebContent/VAADIN/themes/tests-book/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/tests-book/favicon.ico and b/WebContent/VAADIN/themes/tests-book/favicon.ico differ diff --git a/WebContent/VAADIN/themes/tests-tickets/favicon.ico b/WebContent/VAADIN/themes/tests-tickets/favicon.ico index e58158c02c..1f81f0de76 100644 Binary files a/WebContent/VAADIN/themes/tests-tickets/favicon.ico and b/WebContent/VAADIN/themes/tests-tickets/favicon.ico differ -- cgit v1.2.3 From 170205908d72e51ba447daabbc8b2323c119a97e Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Fri, 28 Jun 2013 16:31:48 +0300 Subject: Replace printStackTrace with getLogger().log() (#12147) Change-Id: I9ec61fdc7ddc06f129a9d69b99e6295a62c4b0d3 --- server/src/com/vaadin/server/VaadinServlet.java | 2 +- .../server/themeutils/SASSAddonImportFileCreator.java | 8 +++++++- .../ui/components/colorpicker/ColorPickerPopup.java | 16 ++++++++++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/server/src/com/vaadin/server/VaadinServlet.java b/server/src/com/vaadin/server/VaadinServlet.java index a9eb42578e..94601d6599 100644 --- a/server/src/com/vaadin/server/VaadinServlet.java +++ b/server/src/com/vaadin/server/VaadinServlet.java @@ -814,7 +814,7 @@ public class VaadinServlet extends HttpServlet implements Constants { new Object[] { realFilename, filename }); scss.compile(); } catch (Exception e) { - e.printStackTrace(); + getLogger().log(Level.WARNING, "Scss compilation failed", e); return false; } diff --git a/server/src/com/vaadin/server/themeutils/SASSAddonImportFileCreator.java b/server/src/com/vaadin/server/themeutils/SASSAddonImportFileCreator.java index f199c347eb..94ca9e7d5b 100644 --- a/server/src/com/vaadin/server/themeutils/SASSAddonImportFileCreator.java +++ b/server/src/com/vaadin/server/themeutils/SASSAddonImportFileCreator.java @@ -26,6 +26,8 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; import com.vaadin.server.widgetsetutils.ClassPathExplorer; import com.vaadin.server.widgetsetutils.ClassPathExplorer.LocationInfo; @@ -126,10 +128,14 @@ public class SASSAddonImportFileCreator { } catch (FileNotFoundException e) { // Should not happen since file is checked before this - e.printStackTrace(); + getLogger().log(Level.WARNING, "Error updating addons.scss", e); } } + private static Logger getLogger() { + return Logger.getLogger(SASSAddonImportFileCreator.class.getName()); + } + private static List addImport(PrintStream stream, String file, URL location) { diff --git a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java index b1eef16024..9774211bea 100644 --- a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java +++ b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java @@ -22,6 +22,8 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import com.vaadin.data.Property.ValueChangeEvent; import com.vaadin.data.Property.ValueChangeListener; @@ -567,7 +569,10 @@ public class ColorPickerPopup extends Window implements ClickListener, blueSlider.setValue(((Integer) color.getBlue()).doubleValue()); greenSlider.setValue(((Integer) color.getGreen()).doubleValue()); } catch (ValueOutOfBoundsException e) { - e.printStackTrace(); + getLogger().log( + Level.WARNING, + "Unable to set RGB color value to " + color.getRed() + "," + + color.getGreen() + "," + color.getBlue(), e); } } @@ -577,7 +582,10 @@ public class ColorPickerPopup extends Window implements ClickListener, saturationSlider.setValue(((Float) (hsv[1] * 100f)).doubleValue()); valueSlider.setValue(((Float) (hsv[2] * 100f)).doubleValue()); } catch (ValueOutOfBoundsException e) { - e.printStackTrace(); + getLogger().log( + Level.WARNING, + "Unable to set HSV color value to " + hsv[0] + "," + hsv[1] + + "," + hsv[2], e); } } @@ -764,4 +772,8 @@ public class ColorPickerPopup extends Window implements ClickListener, return color; } }; + + public static Logger getLogger() { + return Logger.getLogger(ColorPickerPopup.class.getName()); + } } \ No newline at end of file -- cgit v1.2.3 From b421d6e6a7841f370bf32f9d1f394b12bf905951 Mon Sep 17 00:00:00 2001 From: Sami Ekblad Date: Fri, 28 Jun 2013 16:23:14 +0300 Subject: Updated Javadoc for Table.getColumnAlignment fixing #6810 Change-Id: I05004cb874f5c32c03d28119d0522d3184a82292 --- server/src/com/vaadin/ui/Table.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index b5606b4e67..0fb6197c3e 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -1251,7 +1251,8 @@ public class Table extends AbstractSelect implements Action.Container, * * @param propertyId * the propertyID identifying the column. - * @return the specified column's alignment if it as one; null otherwise. + * @return the specified column's alignment if it as one; {@link Align#LEFT} + * otherwise. */ public Align getColumnAlignment(Object propertyId) { final Align a = columnAlignments.get(propertyId); -- cgit v1.2.3 From 414e3bf1c93f7e80b94ec2f0355e03c27412730a Mon Sep 17 00:00:00 2001 From: Marko Gronroos Date: Fri, 28 Jun 2013 16:19:55 +0300 Subject: Fixed an error in CustomComponent JavaDoc (#10038), and some improvements. Change-Id: Ifbdae94dc94405eca967a95fe783a85d778f461a --- server/src/com/vaadin/ui/CustomComponent.java | 56 +++++++++++++++++---------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/server/src/com/vaadin/ui/CustomComponent.java b/server/src/com/vaadin/ui/CustomComponent.java index ae92a514a8..9e004f7a17 100644 --- a/server/src/com/vaadin/ui/CustomComponent.java +++ b/server/src/com/vaadin/ui/CustomComponent.java @@ -20,12 +20,33 @@ import java.util.Collections; import java.util.Iterator; /** - * Custom component provides simple implementation of Component interface for - * creation of new UI components by composition of existing components. + * Custom component provides a simple implementation of the {@link Component} + * interface to allow creating new UI components by composition of existing + * server-side components. + * + *

+ * The component is used by inheriting the CustomComponent class and setting the + * composition root component. The composition root must be set with + * {@link #setCompositionRoot(Component)} before the CustomComponent is used, + * such as by adding it to a layout, so it is preferable to set it in the + * constructor. + *

+ * *

- * The component is used by inheriting the CustomComponent class and setting - * composite root inside the Custom component. The composite root itself can - * contain more components, but their interfaces are hidden from the users. + * The composition root itself can contain more components. The advantage of + * wrapping it in a CustomComponent is that its details, such as interfaces, are + * hidden from the users of the component, thereby contributing to information + * hiding. + *

+ * + *

+ * The CustomComponent does not display the caption of the composition root, so + * if you want to have it shown in the layout where the custom component is + * contained, you need to set it as caption of the CustomComponent. + *

+ * + *

+ * The component expands horizontally and has undefined height by default. *

* * @author Vaadin Ltd. @@ -43,27 +64,21 @@ public class CustomComponent extends AbstractComponent implements HasComponents * Constructs a new custom component. * *

- * The component is implemented by wrapping the methods of the composition - * root component given as parameter. The composition root must be set - * before the component can be used. + * Note that you must set the composition root before the component can be + * used, preferably in the constructor. *

*/ public CustomComponent() { - // expand horizontally by default - setWidth(100, UNITS_PERCENTAGE); + // Expand horizontally by default + setWidth(100, Unit.PERCENTAGE); } /** * Constructs a new custom component. * - *

- * The component is implemented by wrapping the methods of the composition - * root component given as parameter. The composition root must not be null - * and can not be changed after the composition. - *

- * * @param compositionRoot - * the root of the composition component tree. + * the root of the composition component tree. It must not be + * null. */ public CustomComponent(Component compositionRoot) { this(); @@ -80,10 +95,11 @@ public class CustomComponent extends AbstractComponent implements HasComponents } /** - * Sets the compositions root. + * Sets the composition root for the component. + * *

- * The composition root must be set to non-null value before the component - * can be used. The composition root can only be set once. + * You must set the composition root must to a non-null value before the + * component can be used. You can change it later. *

* * @param compositionRoot -- cgit v1.2.3 From 4583d07cd7094e2b987df6350b4b19eb4c01c210 Mon Sep 17 00:00:00 2001 From: Patrik Lindström Date: Fri, 28 Jun 2013 14:56:21 +0300 Subject: Fix NPE in Like.java (#10167) Change-Id: I041fbc5c3cda08d3cf3453cefc5f044c63dbe9bb --- server/src/com/vaadin/data/util/filter/Like.java | 5 +++ .../vaadin/data/util/filter/LikeFilterTest.java | 46 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 server/tests/src/com/vaadin/data/util/filter/LikeFilterTest.java diff --git a/server/src/com/vaadin/data/util/filter/Like.java b/server/src/com/vaadin/data/util/filter/Like.java index 91230bb1f1..4c15564105 100644 --- a/server/src/com/vaadin/data/util/filter/Like.java +++ b/server/src/com/vaadin/data/util/filter/Like.java @@ -60,6 +60,11 @@ public class Like implements Filter { String colValue = (String) item.getItemProperty(getPropertyId()) .getValue(); + // Fix issue #10167 - avoid NPE and drop null property values + if (colValue == null) { + return false; + } + String pattern = getValue().replace("%", ".*"); if (isCaseSensitive()) { return colValue.matches(pattern); diff --git a/server/tests/src/com/vaadin/data/util/filter/LikeFilterTest.java b/server/tests/src/com/vaadin/data/util/filter/LikeFilterTest.java new file mode 100644 index 0000000000..15ad85e10d --- /dev/null +++ b/server/tests/src/com/vaadin/data/util/filter/LikeFilterTest.java @@ -0,0 +1,46 @@ +/* + * 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.data.util.filter; + +import junit.framework.Assert; + +import com.vaadin.data.Item; +import com.vaadin.data.util.ObjectProperty; +import com.vaadin.data.util.PropertysetItem; + +public class LikeFilterTest extends AbstractFilterTest { + + protected Item item1 = new PropertysetItem(); + protected Item item2 = new PropertysetItem(); + protected Item item3 = new PropertysetItem(); + + public void testLikeWithNulls() { + + Like filter = new Like("value", "a"); + + item1.addItemProperty("value", new ObjectProperty("a")); + item2.addItemProperty("value", new ObjectProperty("b")); + item3.addItemProperty("value", new ObjectProperty(null, + String.class)); + + Assert.assertTrue(filter.passesFilter(null, item1)); + Assert.assertFalse(filter.passesFilter(null, item2)); + Assert.assertFalse(filter.passesFilter(null, item3)); + + } + +} -- cgit v1.2.3 From 6c4da294423a22f81840d9c0d807aca4ca9b8676 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Fri, 28 Jun 2013 16:47:10 +0300 Subject: Ensure table's cells aren't refreshed if table is detached. (#9138) Change-Id: I026cd70e9e518fa320f6ec3011194359385a3a4a --- server/src/com/vaadin/ui/Table.java | 2 +- .../table/RefreshRenderedCellsOnlyIfAttached.html | 41 +++++++ .../table/RefreshRenderedCellsOnlyIfAttached.java | 121 +++++++++++++++++++++ 3 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.html create mode 100644 uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.java diff --git a/server/src/com/vaadin/ui/Table.java b/server/src/com/vaadin/ui/Table.java index 0fb6197c3e..5dbf927658 100644 --- a/server/src/com/vaadin/ui/Table.java +++ b/server/src/com/vaadin/ui/Table.java @@ -1615,7 +1615,7 @@ public class Table extends AbstractSelect implements Action.Container, * guaranteed to be recreated. */ protected void refreshRenderedCells() { - if (getParent() == null) { + if (!isAttached()) { return; } diff --git a/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.html b/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.html new file mode 100644 index 0000000000..e6d4d69f81 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.html @@ -0,0 +1,41 @@ + + + + + + +RefreshRenderedCellsOnlyIfAttachedTest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RefreshRenderedCellsOnlyIfAttachedTest
open/run/RefreshRenderedCellsOnlyIfAttached?restartApplication
assertTextvaadin=runRefreshRenderedCellsOnlyIfAttached::PID_Slabeldefault
clickvaadin=runRefreshRenderedCellsOnlyIfAttached::PID_Sbutton/domChild[0]/domChild[0]
assertNotTextvaadin=runRefreshRenderedCellsOnlyIfAttached::PID_Slabeldefault
assertTextvaadin=runRefreshRenderedCellsOnlyIfAttached::PID_Slabeloriginal: false, now: false
+ + \ No newline at end of file diff --git a/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.java b/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.java new file mode 100644 index 0000000000..3e233c69c2 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/RefreshRenderedCellsOnlyIfAttached.java @@ -0,0 +1,121 @@ +/* + * 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.tests.components.table; + +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.Label; +import com.vaadin.ui.Table; +import com.vaadin.ui.VerticalLayout; + +/** + * There shouldn't be any attempts to refresh table's cells if the table isn't + * attached. + * + * @since + * @author Vaadin Ltd + */ +public class RefreshRenderedCellsOnlyIfAttached extends AbstractTestUI { + + VerticalLayout layout; + boolean check; + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server. + * VaadinRequest) + */ + @Override + protected void setup(VaadinRequest request) { + getLayout().setMargin(true); + check = false; + layout = new VerticalLayout(); + final Label l1 = new Label("default"); + l1.setId("label"); + final Label l2 = new Label("should be: default"); + final Table t = new Table() { + /* + * (non-Javadoc) + * + * @see com.vaadin.ui.Table#refreshRenderedCells() + */ + @Override + protected void refreshRenderedCells() { + boolean original = isRowCacheInvalidated(); + super.refreshRenderedCells(); + if (check) { + l1.setValue("original: " + original + ", now: " + + isRowCacheInvalidated()); + l2.setValue("should be: false & false"); + } + } + }; + t.addContainerProperty("text", String.class, ""); + t.addItem(new Object[] { "Foo" }, "foo"); + t.setId("table"); + layout.addComponent(t); + addComponent(l1); + addComponent(l2); + addComponent(layout); + + Button b = new Button("Detach table", new Button.ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + check = true; + removeTableParent(); + // call refreshRenderedCells + t.setColumnCollapsingAllowed(true); + } + }); + b.setId("button"); + addComponent(b); + } + + /** + * Remove Table's parent component. + * + * @since + */ + protected void removeTableParent() { + removeComponent(layout); + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription() + */ + @Override + protected String getTestDescription() { + return "There shouldn't be any attempts to refresh table's cells if the table isn't attached."; + } + + /* + * (non-Javadoc) + * + * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber() + */ + @Override + protected Integer getTicketNumber() { + return 9138; + } + +} -- cgit v1.2.3 From e37464cecc8ad9836684a4cf15f3c48b3c8565e0 Mon Sep 17 00:00:00 2001 From: Haijian Wang Date: Fri, 28 Jun 2013 16:18:13 +0300 Subject: #11638: Ending an imported SCSS file with a comment causes an error in the Sass Change-Id: Ib498f68caa7e87e2d9a21b29c9bfb2f30f35c701 --- .../com/vaadin/sass/internal/parser/Parser.java | 15434 ++++++++++--------- .../src/com/vaadin/sass/internal/parser/Parser.jj | 31 +- .../sass/internal/parser/ParserConstants.java | 650 +- .../sass/internal/parser/ParserTokenManager.java | 6984 +++++---- ...rt-file-which-contains-comment-in-last-line.css | 3 + ...t-file-which-contains-comment-in-last-line.scss | 4 + ...ported-file-contains-comments-in-last-line.scss | 2 + 7 files changed, 12445 insertions(+), 10663 deletions(-) create mode 100644 theme-compiler/tests/resources/automatic/css/import-file-which-contains-comment-in-last-line.css create mode 100644 theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss create mode 100644 theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss 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 382e8e6711..0d34e7e938 100755 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.java @@ -1,39 +1,53 @@ +/* + * 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. Parser.java */ package com.vaadin.sass.internal.parser; -import java.io.*; -import java.net.*; +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.net.URL; import java.util.ArrayList; import java.util.Locale; -import java.util.Map; import java.util.UUID; +import org.w3c.css.sac.CSSException; +import org.w3c.css.sac.CSSParseException; import org.w3c.css.sac.ConditionFactory; -import org.w3c.css.sac.Condition; -import org.w3c.css.sac.SelectorFactory; -import org.w3c.css.sac.SelectorList; -import org.w3c.css.sac.Selector; -import org.w3c.css.sac.SimpleSelector; import org.w3c.css.sac.DocumentHandler; -import org.w3c.css.sac.InputSource; import org.w3c.css.sac.ErrorHandler; -import org.w3c.css.sac.CSSException; -import org.w3c.css.sac.CSSParseException; -import org.w3c.css.sac.Locator; +import org.w3c.css.sac.InputSource; import org.w3c.css.sac.LexicalUnit; - -import org.w3c.flute.parser.selectors.SelectorFactoryImpl; +import org.w3c.css.sac.Locator; +import org.w3c.css.sac.SelectorFactory; +import org.w3c.css.sac.SelectorList; import org.w3c.flute.parser.selectors.ConditionFactoryImpl; - +import org.w3c.flute.parser.selectors.SelectorFactoryImpl; import org.w3c.flute.util.Encoding; -import com.vaadin.sass.internal.handler.*; - -import com.vaadin.sass.internal.tree.*; +import com.vaadin.sass.internal.handler.SCSSDocumentHandlerImpl; +import com.vaadin.sass.internal.tree.Node; +import com.vaadin.sass.internal.tree.VariableNode; /** * A CSS2 parser - * + * * @author Philippe Le H�garet * @version $Revision: 1.15 $ */ @@ -64,27 +78,32 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * @@TODO - * @exception CSSException Not yet implemented + * @exception CSSException + * Not yet implemented */ + @Override public void setLocale(Locale locale) throws CSSException { throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR); } - public InputSource getInputSource(){ + public InputSource getInputSource() { return source; } /** * Set the document handler for this parser */ + @Override public void setDocumentHandler(DocumentHandler handler) { - this.documentHandler = (SCSSDocumentHandlerImpl) handler; + documentHandler = (SCSSDocumentHandlerImpl) handler; } + @Override public void setSelectorFactory(SelectorFactory selectorFactory) { this.selectorFactory = selectorFactory; } + @Override public void setConditionFactory(ConditionFactory conditionFactory) { this.conditionFactory = conditionFactory; } @@ -92,19 +111,24 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Set the error handler for this parser */ + @Override public void setErrorHandler(ErrorHandler error) { - this.errorHandler = error; + errorHandler = error; } /** * Main parse methods - * - * @param source the source of the style sheet. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param source + * the source of the style sheet. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleSheet(InputSource source) - throws CSSException, IOException { + @Override + public void parseStyleSheet(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); if (selectorFactory == null) { @@ -119,26 +143,34 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Convenient method for URIs. - * - * @param systemId the fully resolved URI of the style sheet. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param systemId + * the fully resolved URI of the style sheet. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleSheet(String systemId) - throws CSSException, IOException { + @Override + public void parseStyleSheet(String systemId) throws CSSException, + IOException { parseStyleSheet(new InputSource(systemId)); } /** - * This method parses only one rule (style rule or at-rule, except @charset). - * - * @param source the source of the rule. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * This method parses only one rule (style rule or at-rule, except + * @charset). + * + * @param source + * the source of the rule. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ // TODO required by original parser but not used by Vaadin? - public void parseRule(InputSource source) - throws CSSException, IOException { + @Override + public void parseRule(InputSource source) throws CSSException, IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -154,13 +186,17 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * This method parses a style declaration (including the surrounding curly * braces). - * - * @param source the source of the style declaration. - * @exception IOException the source can't be parsed. - * @exception CSSException the source is not CSS valid. + * + * @param source + * the source of the style declaration. + * @exception IOException + * the source can't be parsed. + * @exception CSSException + * the source is not CSS valid. */ - public void parseStyleDeclaration(InputSource source) - throws CSSException, IOException { + @Override + public void parseStyleDeclaration(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -175,8 +211,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * This methods returns "http://www.w3.org/TR/REC-CSS2". + * * @return the string "http://www.w3.org/TR/REC-CSS2". */ + @Override public String getParserVersion() { return "http://www.w3.org/TR/REC-CSS2"; } @@ -184,8 +222,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { /** * Parse methods used by DOM Level 2 implementation. */ - public void parseImportRule(InputSource source) - throws CSSException, IOException { + public void parseImportRule(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -198,8 +236,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { _parseImportRule(); } - public void parseMediaRule(InputSource source) - throws CSSException, IOException { + public void parseMediaRule(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -212,14 +250,16 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { _parseMediaRule(); } - public SelectorList parseSelectors(InputSource source) - throws CSSException, IOException { + @Override + public SelectorList parseSelectors(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); return null; } + @Override public LexicalUnit parsePropertyValue(InputSource source) throws CSSException, IOException { this.source = source; @@ -228,8 +268,9 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { return expr(); } - public boolean parsePriority(InputSource source) - throws CSSException, IOException { + @Override + public boolean parsePriority(InputSource source) throws CSSException, + IOException { this.source = source; ReInit(getCharStreamWithLurk(source)); @@ -237,7 +278,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } /** - * Convert the source into a Reader. Used only by DOM Level 2 parser methods. + * Convert the source into a Reader. Used only by DOM Level 2 parser + * methods. */ private Reader getReader(InputSource source) throws IOException { if (source.getCharacterStream() != null) { @@ -249,7 +291,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { return new InputStreamReader(source.getByteStream(), "ASCII"); } else { return new InputStreamReader(source.getByteStream(), - source.getEncoding()); + source.getEncoding()); } } else { // systemId @@ -259,11 +301,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } /** - * Convert the source into a CharStream with encoding informations. - * The encoding can be found in the InputSource or in the CSS document. - * Since this method marks the reader and make a reset after looking for - * the charset declaration, you'll find the charset declaration into the - * stream. + * Convert the source into a CharStream with encoding informations. The + * encoding can be found in the InputSource or in the CSS document. Since + * this method marks the reader and make a reset after looking for the + * charset declaration, you'll find the charset declaration into the stream. */ private CharStream getCharStreamWithLurk(InputSource source) throws CSSException, IOException { @@ -283,7 +324,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } } - //use UTF-8 as the default encoding. + // use UTF-8 as the default encoding. String encoding = source.getEncoding(); InputStream input = source.getByteStream(); if (!input.markSupported()) { @@ -293,7 +334,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } // Mark either the original stream or the wrapped stream input.mark(100); - if(encoding == null){ + if (encoding == null) { encoding = "ASCII"; char c = ' '; @@ -302,14 +343,15 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (c == '@') { // hum, is it a charset ? - int size = 100; + int size = 100; byte[] buf = new byte[size]; input.read(buf, 0, 7); String keyword = new String(buf, 0, 7); if (keyword.equals("charset")) { // Yes, this is the charset declaration ! - // here I don't use the right declaration : white space are ' '. + // here I don't use the right declaration : white space are + // ' '. while ((c = (char) input.read()) == ' ') { // find the first quote } @@ -336,15 +378,17 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (c != ';') { // no semi colon at the end ? throw new CSSException("invalid charset declaration: " - + "missing semi colon"); + + "missing semi colon"); } encoding = new String(buf, 0, i); if (source.getEncoding() != null) { // compare the two encoding informations. - // For example, I don't accept to have ASCII and after UTF-8. + // For example, I don't accept to have ASCII and after + // UTF-8. // Is it really good ? That is the question. if (!encoding.equals(source.getEncoding())) { - throw new CSSException("invalid encoding information."); + throw new CSSException( + "invalid encoding information."); } } } // else no charset declaration available @@ -354,7 +398,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { source.setEncoding(encoding); // set the real reader of this source. source.setCharacterStream(new InputStreamReader(source.getByteStream(), - Encoding.getJavaEncoding(encoding))); + Encoding.getJavaEncoding(encoding))); // reset the stream (leave the charset declaration in the stream). input.reset(); @@ -362,6 +406,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } private LocatorImpl currentLocator; + private Locator getLocator() { if (currentLocator == null) { currentLocator = new LocatorImpl(this); @@ -369,6 +414,7 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } return currentLocator.reInit(this); } + private LocatorImpl getLocator(Token save) { if (currentLocator == null) { currentLocator = new LocatorImpl(this, save); @@ -385,8 +431,8 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { if (pe.specialConstructor) { StringBuffer errorM = new StringBuffer(); if (pe.currentToken != null) { - errorM.append("encountered \u005c"") - .append(pe.currentToken.next); + errorM.append("encountered \u005c"").append( + pe.currentToken.next); } errorM.append('"'); if (pe.expectedTokenSequences.length != 0) { @@ -402,10 +448,10 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } } errorHandler.error(new CSSParseException(errorM.toString(), - l, e)); + l, e)); } else { - errorHandler.error(new CSSParseException(e.getMessage(), - l, e)); + errorHandler.error(new CSSParseException(e.getMessage(), l, + e)); } } else if (e == null) { errorHandler.error(new CSSParseException("error", l, null)); @@ -416,7368 +462,8226 @@ public class Parser implements org.w3c.css.sac.Parser, ParserConstants { } private void reportWarningSkipText(Locator l, String text) { - if (errorHandler != null && text != null) { + if (errorHandler != null && text != null) { errorHandler.warning(new CSSParseException("Skipping: " + text, l)); } } -/* - * The grammar of CSS2 - */ + /* + * The grammar of CSS2 + */ -/** - * The main entry for the parser. - * - * @exception ParseException exception during the parse - */ - final public void parserUnit() throws ParseException { - try { - documentHandler.startDocument(source); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CHARSET_SYM: - charset(); - break; - default: - jj_la1[0] = jj_gen; - ; - } - label_1: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case CDO: - case CDC: - case ATKEYWORD: - ; - break; - default: - jj_la1[1] = jj_gen; - break label_1; + /** + * The main entry for the parser. + * + * @exception ParseException + * exception during the parse + */ + final public void parserUnit() throws ParseException { + try { + documentHandler.startDocument(source); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CHARSET_SYM: + charset(); + break; + default: + jj_la1[0] = jj_gen; + ; + } + label_1: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[1] = jj_gen; + break label_1; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + jj_consume_token(S); + comments(); + break; + case CDO: + case CDC: + case ATKEYWORD: + ignoreStatement(); + break; + default: + jj_la1[2] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + label_2: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORT_SYM: + ; + break; + default: + jj_la1[3] = jj_gen; + break label_2; + } + importDeclaration(); + label_3: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[4] = jj_gen; + break label_3; + } + ignoreStatement(); + label_4: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[5] = jj_gen; + break label_4; + } + jj_consume_token(S); + } + } + } + afterImportDeclaration(); + jj_consume_token(0); + } finally { + documentHandler.endDocument(source); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - jj_consume_token(S); - comments(); - break; - case CDO: - case CDC: - case ATKEYWORD: - ignoreStatement(); - break; - default: - jj_la1[2] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - label_2: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORT_SYM: - ; - break; - default: - jj_la1[3] = jj_gen; - break label_2; + } + + final public void charset() throws ParseException { + Token n; + try { + jj_consume_token(CHARSET_SYM); + label_5: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[6] = jj_gen; + break label_5; + } + jj_consume_token(S); + } + n = jj_consume_token(STRING); + label_6: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[7] = jj_gen; + break label_6; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + } catch (ParseException e) { + reportError(getLocator(e.currentToken.next), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (Exception e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + } - importDeclaration(); - label_3: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CDO: - case CDC: - case ATKEYWORD: + } + + final public void afterImportDeclaration() throws ParseException { + String ret; + Locator l; + label_7: while (true) { ; - break; - default: - jj_la1[4] = jj_gen; - break label_3; - } - ignoreStatement(); - label_4: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case MIXIN_SYM: + mixinDirective(); + break; + case EACH_SYM: + case IF_SYM: + controlDirective(); + break; + case INCLUDE_SYM: + includeDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case MEDIA_SYM: + media(); + break; + case PAGE_SYM: + page(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + case KEY_FRAME_SYM: + keyframes(); + break; default: - jj_la1[5] = jj_gen; - break label_4; + jj_la1[8] = jj_gen; + if (jj_2_1(2147483647)) { + variable(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + listModifyDirective(); + break; + default: + jj_la1[9] = jj_gen; + l = getLocator(); + ret = skipStatement(); + if ((ret == null) || (ret.length() == 0)) { + { + if (true) { + return; + } + } + } + if (ret.charAt(0) == '@') { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(l, ret); + } + } + } } - jj_consume_token(S); - } - } - } - afterImportDeclaration(); - jj_consume_token(0); - } finally { - documentHandler.endDocument(source); - } - } - - final public void charset() throws ParseException { - Token n; - try { - jj_consume_token(CHARSET_SYM); - label_5: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[6] = jj_gen; - break label_5; - } - jj_consume_token(S); - } - n = jj_consume_token(STRING); - label_6: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[7] = jj_gen; - break label_6; - } - jj_consume_token(S); - } - jj_consume_token(SEMICOLON); - } catch (ParseException e) { - reportError(getLocator(e.currentToken.next), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } catch (Exception e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } - } - - final public void afterImportDeclaration() throws ParseException { - String ret; - Locator l; - label_7: - while (true) { - ; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - case MIXIN_SYM: - mixinDirective(); - break; - case EACH_SYM: - case IF_SYM: - controlDirective(); - break; - case INCLUDE_SYM: - includeDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case MEDIA_SYM: - media(); - break; - case PAGE_SYM: - page(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - case KEY_FRAME_SYM: - keyframes(); - break; - default: - jj_la1[8] = jj_gen; - if (jj_2_1(2147483647)) { - variable(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - listModifyDirective(); - break; - default: - jj_la1[9] = jj_gen; - l = getLocator(); - ret = skipStatement(); - if ((ret == null) || (ret.length() == 0)) { - {if (true) return;} - } - if (ret.charAt(0) == '@') { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(l, ret); - } - } - } - } - label_8: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + label_8: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case CDC: + case ATKEYWORD: + ; + break; + default: + jj_la1[10] = jj_gen; + break label_8; + } + ignoreStatement(); + label_9: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[11] = jj_gen; + break label_9; + } + jj_consume_token(S); + } + } + } + } + + final public void ignoreStatement() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case CDO: + jj_consume_token(CDO); + break; case CDC: + jj_consume_token(CDC); + break; case ATKEYWORD: - ; - break; - default: - jj_la1[10] = jj_gen; - break label_8; - } - ignoreStatement(); - label_9: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + atRuleDeclaration(); break; - default: - jj_la1[11] = jj_gen; - break label_9; - } - jj_consume_token(S); - } - } - } - } - - final public void ignoreStatement() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CDO: - jj_consume_token(CDO); - break; - case CDC: - jj_consume_token(CDC); - break; - case ATKEYWORD: - atRuleDeclaration(); - break; - default: - jj_la1[12] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - -/** - * The import statement - * - * @exception ParseException exception during the parse - */ - final public void importDeclaration() throws ParseException { - Token n; - String uri; - MediaListImpl ml = new MediaListImpl(); - boolean isURL = false; - try { - jj_consume_token(IMPORT_SYM); - label_10: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[13] = jj_gen; - break label_10; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING: - n = jj_consume_token(STRING); - uri = convertStringIndex(n.image, 1, - n.image.length() -1); - break; - case URL: - n = jj_consume_token(URL); - isURL=true; - uri = n.image.substring(4, n.image.length()-1).trim(); - if ((uri.charAt(0) == '"') - || (uri.charAt(0) == '\u005c'')) { - uri = uri.substring(1, uri.length()-1); - } - break; - default: - jj_la1[14] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_11: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[15] = jj_gen; - break label_11; - } - jj_consume_token(S); - } - mediaStatement(ml); - jj_consume_token(SEMICOLON); - label_12: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; default: - jj_la1[16] = jj_gen; - break label_12; + jj_la1[12] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); } - jj_consume_token(S); - } - if (ml.getLength() == 0) { - // see section 6.3 of the CSS2 recommandation. - ml.addItem("all"); - } - documentHandler.importStyle(uri, ml, isURL); - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - } - } -/** - * @exception ParseException exception during the parse - */ - final public void keyframes() throws ParseException { - Token n; - boolean start = false; - String keyframeName = null; - String animationname = ""; - try { - n = jj_consume_token(KEY_FRAME_SYM); - label_13: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[17] = jj_gen; - break label_13; - } - jj_consume_token(S); - } - keyframeName = n.image; - label_14: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - animationname += n.image; - break; - case INTERPOLATION: - n = jj_consume_token(INTERPOLATION); - animationname += n.image; - break; - default: - jj_la1[18] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[19] = jj_gen; - break label_14; - } - } - label_15: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[20] = jj_gen; - break label_15; - } - jj_consume_token(S); - } - start = true; documentHandler.startKeyFrames(keyframeName, animationname); - jj_consume_token(LBRACE); - label_16: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[21] = jj_gen; - break label_16; - } - jj_consume_token(S); - } - label_17: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TO: - case FROM: - case PERCENTAGE: - ; - break; - default: - jj_la1[22] = jj_gen; - break label_17; - } - keyframeSelector(); - } - jj_consume_token(RBRACE); - label_18: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[23] = jj_gen; - break label_18; - } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - } finally { - if (start) { - documentHandler.endKeyFrames(); - } - } - } - - final public void keyframeSelector() throws ParseException { - Token n; - boolean start = false; - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case FROM: - n = jj_consume_token(FROM); - break; - case TO: - n = jj_consume_token(TO); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - break; - default: - jj_la1[24] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_19: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[25] = jj_gen; - break label_19; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_20: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[26] = jj_gen; - break label_20; - } - jj_consume_token(S); - } - start = true; - documentHandler.startKeyframeSelector(n.image); - label_21: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case MICROSOFT_RULE: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[27] = jj_gen; - break label_21; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - 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(); - } - } - jj_consume_token(RBRACE); - label_22: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[29] = jj_gen; - break label_22; - } - jj_consume_token(S); - } - } catch (ThrowedParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.e.currentToken.next.beginLine, - e.e.currentToken.next.beginColumn-1); - reportError(li, e.e); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); + /** + * The import statement + * + * @exception ParseException + * exception during the parse + */ + final public void importDeclaration() throws ParseException { + Token n; + String uri; + MediaListImpl ml = new MediaListImpl(); + boolean isURL = false; + try { + jj_consume_token(IMPORT_SYM); + label_10: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[13] = jj_gen; + break label_10; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case STRING: + n = jj_consume_token(STRING); + uri = convertStringIndex(n.image, 1, n.image.length() - 1); + break; + case URL: + n = jj_consume_token(URL); + isURL = true; + uri = n.image.substring(4, n.image.length() - 1).trim(); + if ((uri.charAt(0) == '"') || (uri.charAt(0) == '\u005c'')) { + uri = uri.substring(1, uri.length() - 1); + } + break; + default: + jj_la1[14] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_11: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[15] = jj_gen; + break label_11; + } + jj_consume_token(S); + } + mediaStatement(ml); + jj_consume_token(SEMICOLON); + label_12: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[16] = jj_gen; + break label_12; + } + jj_consume_token(S); + } + if (ml.getLength() == 0) { + // see section 6.3 of the CSS2 recommandation. + ml.addItem("all"); + } + documentHandler.importStyle(uri, ml, isURL); + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); - } catch (TokenMgrError e) { - reportWarningSkipText(getLocator(), skipStatement()); - } finally { - if (start) { - documentHandler.endKeyframeSelector(); } } - } -/** - * @exception ParseException exception during the parse - */ -/* see http://www.w3.org/TR/css3-mediaqueries/ */ - final public void media() throws ParseException { - boolean start = false; - String ret; - MediaListImpl ml = new MediaListImpl(); - try { - jj_consume_token(MEDIA_SYM); - label_23: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[30] = jj_gen; - break label_23; - } - jj_consume_token(S); - } - mediaStatement(ml); - start = true; documentHandler.startMedia(ml); - jj_consume_token(LBRACE); - label_24: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[31] = jj_gen; - break label_24; - } - jj_consume_token(S); - } - label_25: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CDO: - case LBRACE: - case DASHMATCH: - case INCLUDES: - case PLUS: - case MINUS: - case COMMA: - case SEMICOLON: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case NONASCII: - case DEBUG_SYM: - case WARN_SYM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case PERCENTAGE: - case HASH: - case IMPORT_SYM: - case MEDIA_SYM: + /** + * @exception ParseException + * exception during the parse + */ + final public void keyframes() throws ParseException { + Token n; + boolean start = false; + String keyframeName = null; + String animationname = ""; + try { + n = jj_consume_token(KEY_FRAME_SYM); + label_13: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[17] = jj_gen; + break label_13; + } + jj_consume_token(S); + } + keyframeName = n.image; + label_14: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + animationname += n.image; + break; + case INTERPOLATION: + n = jj_consume_token(INTERPOLATION); + animationname += n.image; + break; + default: + jj_la1[18] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[19] = jj_gen; + break label_14; + } + } + label_15: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[20] = jj_gen; + break label_15; + } + jj_consume_token(S); + } + start = true; + documentHandler.startKeyFrames(keyframeName, animationname); + jj_consume_token(LBRACE); + label_16: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[21] = jj_gen; + break label_16; + } + jj_consume_token(S); + } + label_17: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case TO: + case FROM: + case PERCENTAGE: + ; + break; + default: + jj_la1[22] = jj_gen; + break label_17; + } + keyframeSelector(); + } + jj_consume_token(RBRACE); + label_18: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[23] = jj_gen; + break label_18; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + } finally { + if (start) { + documentHandler.endKeyFrames(); + } + } + } + + final public void keyframeSelector() throws ParseException { + Token n; + boolean start = false; + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case FROM: + n = jj_consume_token(FROM); + break; + case TO: + n = jj_consume_token(TO); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + break; + default: + jj_la1[24] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_19: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[25] = jj_gen; + break label_19; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_20: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[26] = jj_gen; + break label_20; + } + jj_consume_token(S); + } + start = true; + documentHandler.startKeyframeSelector(n.image); + label_21: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case MICROSOFT_RULE: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[27] = jj_gen; + break label_21; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + 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(); + } + } + jj_consume_token(RBRACE); + label_22: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[29] = jj_gen; + break label_22; + } + jj_consume_token(S); + } + } catch (ThrowedParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.e.currentToken.next.beginLine, + e.e.currentToken.next.beginColumn - 1); + reportError(li, e.e); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (TokenMgrError e) { + reportWarningSkipText(getLocator(), skipStatement()); + } finally { + if (start) { + documentHandler.endKeyframeSelector(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + /* see http://www.w3.org/TR/css3-mediaqueries/ */ + final public void media() throws ParseException { + boolean start = false; + String ret; + MediaListImpl ml = new MediaListImpl(); + try { + jj_consume_token(MEDIA_SYM); + label_23: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[30] = jj_gen; + break label_23; + } + jj_consume_token(S); + } + mediaStatement(ml); + start = true; + documentHandler.startMedia(ml); + jj_consume_token(LBRACE); + label_24: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[31] = jj_gen; + break label_24; + } + jj_consume_token(S); + } + label_25: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CDO: + case LBRACE: + case DASHMATCH: + case INCLUDES: + case PLUS: + case MINUS: + case COMMA: + case SEMICOLON: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case NONASCII: + case DEBUG_SYM: + case WARN_SYM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case PERCENTAGE: + case HASH: + case IMPORT_SYM: + case MEDIA_SYM: + case CHARSET_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case ATKEYWORD: + case IMPORTANT_SYM: + case UNICODERANGE: + case FUNCTION: + case UNKNOWN: + ; + break; + default: + jj_la1[32] = jj_gen; + break label_25; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case CDO: + case LBRACE: + case DASHMATCH: + case INCLUDES: + case MINUS: + case COMMA: + case SEMICOLON: + case NONASCII: + case STRING: + case NUMBER: + case URL: + case PERCENTAGE: + case IMPORT_SYM: + case MEDIA_SYM: + case CHARSET_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case ATKEYWORD: + case IMPORTANT_SYM: + case UNICODERANGE: + case FUNCTION: + case UNKNOWN: + skipUnknownRule(); + break; + default: + jj_la1[33] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_26: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[34] = jj_gen; + break label_26; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } finally { + if (start) { + documentHandler.endMedia(ml); + } + } + } + + final public void mediaStatement(MediaListImpl ml) throws ParseException { + Token t; + t = getToken(1); + // loop over comma separated parts, add each to ml + while ((t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { + StringBuffer s = new StringBuffer(); + s.append(getToken(0).image); + while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF) + && (t.kind != SEMICOLON)) { + s.append(t.image); + getNextToken(); + t = getToken(1); + } + if (t.kind == COMMA) { + // skip the comma and the token before it that is still the + // active token + getNextToken(); + getNextToken(); + t = getToken(1); + } + String str = s.toString().trim(); + if (str.length() > 0) { + ml.addItem(str); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String medium() throws ParseException { + Token n; + n = jj_consume_token(IDENT); + { + if (true) { + return convertIdent(n.image); + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void page() throws ParseException { + boolean start = false; + Token n = null; + String page = null; + String pseudo = null; + try { + jj_consume_token(PAGE_SYM); + label_27: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[35] = jj_gen; + break label_27; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + label_28: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[36] = jj_gen; + break label_28; + } + jj_consume_token(S); + } + break; + default: + jj_la1[37] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + pseudo = pseudo_page(); + break; + default: + jj_la1[38] = jj_gen; + ; + } + if (n != null) { + page = convertIdent(n.image); + } + jj_consume_token(LBRACE); + label_29: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[39] = jj_gen; + break label_29; + } + jj_consume_token(S); + } + start = true; + documentHandler.startPage(page, pseudo); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[40] = jj_gen; + ; + } + label_30: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[41] = jj_gen; + break label_30; + } + jj_consume_token(SEMICOLON); + label_31: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[42] = jj_gen; + break label_31; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[43] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_32: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[44] = jj_gen; + break label_32; + } + jj_consume_token(S); + } + } catch (ParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + skipStatement(); + // reportWarningSkipText(li, skipStatement()); + } else { + skipStatement(); + } + } finally { + if (start) { + documentHandler.endPage(page, pseudo); + } + } + } + + final public String pseudo_page() throws ParseException { + Token n; + jj_consume_token(COLON); + n = jj_consume_token(IDENT); + label_33: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[45] = jj_gen; + break label_33; + } + jj_consume_token(S); + } + { + if (true) { + return convertIdent(n.image); + } + } + throw new Error("Missing return statement in function"); + } + + final public void fontFace() throws ParseException { + boolean start = false; + try { + jj_consume_token(FONT_FACE_SYM); + label_34: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[46] = jj_gen; + break label_34; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_35: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[47] = jj_gen; + break label_35; + } + jj_consume_token(S); + } + start = true; + documentHandler.startFontFace(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[48] = jj_gen; + ; + } + label_36: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[49] = jj_gen; + break label_36; + } + jj_consume_token(SEMICOLON); + label_37: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[50] = jj_gen; + break label_37; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[51] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_38: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[52] = jj_gen; + break label_38; + } + jj_consume_token(S); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } finally { + if (start) { + documentHandler.endFontFace(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void atRuleDeclaration() throws ParseException { + Token n; + String ret; + n = jj_consume_token(ATKEYWORD); + ret = skipStatement(); + if ((ret != null) && (ret.charAt(0) == '@')) { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(getLocator(), ret); + } + } + + final public void skipUnknownRule() throws ParseException { + Token n; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ATKEYWORD: + n = jj_consume_token(ATKEYWORD); + break; + case CDO: + n = jj_consume_token(CDO); + break; case CHARSET_SYM: - case PAGE_SYM: + n = jj_consume_token(CHARSET_SYM); + break; + case COMMA: + n = jj_consume_token(COMMA); + break; + case DASHMATCH: + n = jj_consume_token(DASHMATCH); + break; case FONT_FACE_SYM: - case ATKEYWORD: - case IMPORTANT_SYM: - case UNICODERANGE: + n = jj_consume_token(FONT_FACE_SYM); + break; case FUNCTION: - case UNKNOWN: - ; - break; - default: - jj_la1[32] = jj_gen; - break label_25; + n = jj_consume_token(FUNCTION); + break; + case IMPORTANT_SYM: + n = jj_consume_token(IMPORTANT_SYM); + break; + case IMPORT_SYM: + n = jj_consume_token(IMPORT_SYM); + break; + case INCLUDES: + n = jj_consume_token(INCLUDES); + break; + case LBRACE: + n = jj_consume_token(LBRACE); + break; + case MEDIA_SYM: + n = jj_consume_token(MEDIA_SYM); + break; + case NONASCII: + n = jj_consume_token(NONASCII); + break; + case NUMBER: + n = jj_consume_token(NUMBER); + break; + case PAGE_SYM: + n = jj_consume_token(PAGE_SYM); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + break; + case STRING: + n = jj_consume_token(STRING); + break; + case UNICODERANGE: + n = jj_consume_token(UNICODERANGE); + break; + case URL: + n = jj_consume_token(URL); + break; + case SEMICOLON: + n = jj_consume_token(SEMICOLON); + break; + case MINUS: + n = jj_consume_token(MINUS); + break; + case UNKNOWN: + n = jj_consume_token(UNKNOWN); + break; + default: + jj_la1[53] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + String ret; + Locator loc = getLocator(); + ret = skipStatement(); + if ((ret != null) && (n.image.charAt(0) == '@')) { + documentHandler.unrecognizedRule(ret); + } else { + reportWarningSkipText(loc, ret); + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public char combinator() throws ParseException { + char connector = ' '; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + connector = combinatorChar(); + break; + case S: + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + connector = combinatorChar(); + break; + default: + jj_la1[54] = jj_gen; + ; + } + break; + default: + jj_la1[55] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + { + if (true) { + return connector; + } + } + throw new Error("Missing return statement in function"); + } + + /** to refactor combinator and reuse in selector(). */ + final public char combinatorChar() throws ParseException { + Token t; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + t = jj_consume_token(PLUS); + break; + case PRECEDES: + t = jj_consume_token(PRECEDES); + break; + case SIBLING: + t = jj_consume_token(SIBLING); + break; + default: + jj_la1[56] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_39: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[57] = jj_gen; + break label_39; + } + jj_consume_token(S); + } + { + if (true) { + return t.image.charAt(0); + } + } + throw new Error("Missing return statement in function"); + } + + final public void microsoftExtension() throws ParseException { + Token n; + String name = ""; + String value = ""; + // This is not really taking the syntax of filter rules into account + n = jj_consume_token(MICROSOFT_RULE); + label_40: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[58] = jj_gen; + break label_40; + } + jj_consume_token(S); + } + name = n.image; + jj_consume_token(COLON); + label_41: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + value += n.image; + break; + case NUMBER: + n = jj_consume_token(NUMBER); + value += n.image; + break; + case STRING: + n = jj_consume_token(STRING); + value += n.image; + break; + case COMMA: + n = jj_consume_token(COMMA); + value += n.image; + break; + case INTERPOLATION: + n = jj_consume_token(INTERPOLATION); + value += n.image; + break; + case COLON: + n = jj_consume_token(COLON); + value += n.image; + break; + case FUNCTION: + n = jj_consume_token(FUNCTION); + value += n.image; + break; + case RPARAN: + n = jj_consume_token(RPARAN); + value += n.image; + break; + case EQ: + n = jj_consume_token(EQ); + value += n.image; + break; + case DOT: + n = jj_consume_token(DOT); + value += n.image; + break; + case S: + n = jj_consume_token(S); + if (value.lastIndexOf(' ') != value.length() - 1) { + value += n.image; + } + break; + default: + jj_la1[59] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case COMMA: + case DOT: + case RPARAN: + case COLON: + case INTERPOLATION: + case STRING: + case IDENT: + case NUMBER: + case FUNCTION: + ; + break; + default: + jj_la1[60] = jj_gen; + break label_41; + } + } + jj_consume_token(SEMICOLON); + label_42: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[61] = jj_gen; + break label_42; + } + jj_consume_token(S); + } + documentHandler.microsoftDirective(name, value); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String property() throws ParseException { + Token t; + String s = ""; + label_43: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[62] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[63] = jj_gen; + break label_43; + } + } + label_44: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[64] = jj_gen; + break label_44; + } + jj_consume_token(S); + } + { + if (true) { + return s; + } + } + throw new Error("Missing return statement in function"); + } + + final public String variableName() throws ParseException { + Token n; + n = jj_consume_token(VARIABLE); + label_45: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[65] = jj_gen; + break label_45; + } + jj_consume_token(S); + } + { + if (true) { + return convertIdent(n.image.substring(1)); + } + } + throw new Error("Missing return statement in function"); + } + + final public String functionName() throws ParseException { + Token n; + n = jj_consume_token(FUNCTION); + label_46: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[66] = jj_gen; + break label_46; + } + jj_consume_token(S); + } + { + if (true) { + return convertIdent(n.image.substring(0, n.image.length() - 1)); + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void styleRule() throws ParseException { + boolean start = false; + ArrayList l = null; + Token save; + Locator loc; + try { + l = selectorList(); + save = token; + jj_consume_token(LBRACE); + label_47: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[67] = jj_gen; + break label_47; + } + jj_consume_token(S); + } + start = true; + documentHandler.startSelector(l); + label_48: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case MICROSOFT_RULE: + case IDENT: + case VARIABLE: + case HASH: + case IMPORT_SYM: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[68] = jj_gen; + break label_48; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + case EACH_SYM: + case IF_SYM: + controlDirective(); + break; + case MICROSOFT_RULE: + microsoftExtension(); + break; + case IMPORT_SYM: + importDeclaration(); + break; + default: + jj_la1[69] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_49: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[70] = jj_gen; + break label_49; + } + jj_consume_token(S); + } + } catch (ThrowedParseException e) { + if (errorHandler != null) { + LocatorImpl li = new LocatorImpl(this, + e.e.currentToken.next.beginLine, + e.e.currentToken.next.beginColumn - 1); + reportError(li, e.e); + } + } catch (ParseException e) { + reportError(getLocator(), e); + skipStatement(); + // reportWarningSkipText(getLocator(), skipStatement()); + + } catch (TokenMgrError e) { + reportWarningSkipText(getLocator(), skipStatement()); + } finally { + if (start) { + documentHandler.endSelector(); + } + } + } + + final public ArrayList selectorList() throws ParseException { + ArrayList selectors = new ArrayList(); + String selector; + selector = selector(); + label_50: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[71] = jj_gen; + break label_50; + } + jj_consume_token(COMMA); + label_51: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[72] = jj_gen; + break label_51; + } + jj_consume_token(S); + } + selectors.add(selector); + selector = selector(); + } + selectors.add(selector); + { + if (true) { + return selectors; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String selector() throws ParseException { + String selector = null; + char comb; + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + selector = simple_selector(null, ' '); + break; + case PLUS: + case PRECEDES: + case SIBLING: + comb = combinatorChar(); + selector = simple_selector(selector, comb); + break; + default: + jj_la1[73] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_52: while (true) { + if (jj_2_2(2)) { + ; + } else { + break label_52; + } + comb = combinator(); + selector = simple_selector(selector, comb); + } + label_53: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[74] = jj_gen; + break label_53; + } + jj_consume_token(S); + } + { + if (true) { + return selector; + } + } + } catch (ParseException e) { + /* + * Token t = getToken(1); StringBuffer s = new StringBuffer(); + * s.append(getToken(0).image); while ((t.kind != COMMA) && (t.kind + * != SEMICOLON) && (t.kind != LBRACE) && (t.kind != EOF)) { + * s.append(t.image); getNextToken(); t = getToken(1); } + * reportWarningSkipText(getLocator(), s.toString()); + */ + Token t = getToken(1); + while ((t.kind != COMMA) && (t.kind != SEMICOLON) + && (t.kind != LBRACE) && (t.kind != EOF)) { + getNextToken(); + t = getToken(1); + } + + { + if (true) { + throw new ThrowedParseException(e); + } + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String simple_selector(String selector, char comb) + throws ParseException { + String simple_current = null; + String cond = null; + + pseudoElt = null; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ANY: + case PARENT: + case INTERPOLATION: + case IDENT: + simple_current = element_name(); + label_54: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[75] = jj_gen; + break label_54; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[76] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; + case HASH: + cond = hash(cond); + label_55: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + ; + break; + default: + jj_la1[77] = jj_gen; + break label_55; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[78] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; + case DOT: + cond = _class(cond); + label_56: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[79] = jj_gen; + break label_56; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[80] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; + case COLON: + cond = pseudo(cond); + label_57: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[81] = jj_gen; + break label_57; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[82] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; + case LBRACKET: + cond = attrib(cond); + label_58: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case LBRACKET: + case DOT: + case COLON: + case HASH: + ; + break; + default: + jj_la1[83] = jj_gen; + break label_58; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case HASH: + cond = hash(cond); + break; + case DOT: + cond = _class(cond); + break; + case LBRACKET: + cond = attrib(cond); + break; + case COLON: + cond = pseudo(cond); + break; + default: + jj_la1[84] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + break; + default: + jj_la1[85] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + if (simple_current == null) { + simple_current = ""; + } + if (cond != null) { + simple_current = simple_current + cond; + } + StringBuilder builder = new StringBuilder(); + switch (comb) { + case ' ': + if (selector != null) { + builder.append(selector).append(" "); + } + break; + case '+': + case '>': + case '~': + if (selector != null) { + builder.append(selector).append(" "); + } + builder.append(comb).append(" "); + break; + default: { + if (true) { + throw new ParseException("invalid state. send a bug report"); + } + } + } + builder.append(simple_current); + selector = builder.toString(); + + if (pseudoElt != null) { + selector = selector + pseudoElt; + } + { + if (true) { + return selector; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String _class(String pred) throws ParseException { + Token t; + String s = "."; + jj_consume_token(DOT); + label_59: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[86] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[87] = jj_gen; + break label_59; + } + } + if (pred == null) { + { + if (true) { + return s; + } + } + } else { + { + if (true) { + return pred + s; + } + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String element_name() throws ParseException { + Token t; + String s = ""; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + label_60: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + t = jj_consume_token(IDENT); + s += t.image; + break; + case INTERPOLATION: + t = jj_consume_token(INTERPOLATION); + s += t.image; + break; + default: + jj_la1[88] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + ; + break; + default: + jj_la1[89] = jj_gen; + break label_60; + } + } + { + if (true) { + return s; + } + } + break; + case ANY: + jj_consume_token(ANY); + { + if (true) { + return "*"; + } + } + break; + case PARENT: + jj_consume_token(PARENT); + { + if (true) { + return "&"; + } + } + break; + default: + jj_la1[90] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String attrib(String pred) throws ParseException { + int cases = 0; + Token att = null; + Token val = null; + String attValue = null; + jj_consume_token(LBRACKET); + label_61: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[91] = jj_gen; + break label_61; + } + jj_consume_token(S); + } + att = jj_consume_token(IDENT); + label_62: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[92] = jj_gen; + break label_62; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DASHMATCH: + case CARETMATCH: + case DOLLARMATCH: + case STARMATCH: + case INCLUDES: + case EQ: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case EQ: + jj_consume_token(EQ); + cases = 1; + break; + case INCLUDES: + jj_consume_token(INCLUDES); + cases = 2; + break; + case DASHMATCH: + jj_consume_token(DASHMATCH); + cases = 3; + break; + case CARETMATCH: + jj_consume_token(CARETMATCH); + cases = 4; + break; + case DOLLARMATCH: + jj_consume_token(DOLLARMATCH); + cases = 5; + break; + case STARMATCH: + jj_consume_token(STARMATCH); + cases = 6; + break; + default: + jj_la1[93] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_63: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[94] = jj_gen; + break label_63; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + val = jj_consume_token(IDENT); + attValue = val.image; + break; + case STRING: + val = jj_consume_token(STRING); + attValue = val.image; + break; + default: + jj_la1[95] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_64: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[96] = jj_gen; + break label_64; + } + jj_consume_token(S); + } + break; + default: + jj_la1[97] = jj_gen; + ; + } + jj_consume_token(RBRACKET); + String name = convertIdent(att.image); + String c; + switch (cases) { + case 0: + c = name; + break; + case 1: + c = name + "=" + attValue; + break; + case 2: + c = name + "~=" + attValue; + break; + case 3: + c = name + "|=" + attValue; + break; + case 4: + c = name + "^=" + attValue; + break; + case 5: + c = name + "$=" + attValue; + break; + case 6: + c = name + "*=" + attValue; + break; + default: + // never reached. + c = null; + } + c = "[" + c + "]"; + if (pred == null) { + { + if (true) { + return c; + } + } + } else { + { + if (true) { + return pred + c; + } + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String pseudo(String pred) throws ParseException { + Token n; + Token param; + String d; + boolean isPseudoElement = false; + jj_consume_token(COLON); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + isPseudoElement = true; + break; + default: + jj_la1[98] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + String s = ":" + convertIdent(n.image); + if (isPseudoElement) { + if (pseudoElt != null) { + { + if (true) { + throw new CSSParseException( + "duplicate pseudo element definition " + s, + getLocator()); + } + } + } else { + pseudoElt = ":" + s; + { + if (true) { + return pred; + } + } + } + } else { + String c = s; + if (pred == null) { + { + if (true) { + return c; + } + } + } else { + { + if (true) { + return pred + c; + } + } + } + } + break; + case FUNCTION: + n = jj_consume_token(FUNCTION); + label_65: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[99] = jj_gen; + break label_65; + } + jj_consume_token(S); + } + d = skipStatementUntilRightParan(); + jj_consume_token(RPARAN); + // accept anything between function and a right parenthesis + String f = convertIdent(n.image); + String colons = isPseudoElement ? "::" : ":"; + String pseudofn = colons + f + d + ")"; + if (pred == null) { + { + if (true) { + return pseudofn; + } + } + } else { + { + if (true) { + return pred + pseudofn; + } + } + } + break; + default: + jj_la1[100] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String hash(String pred) throws ParseException { + Token n; + n = jj_consume_token(HASH); + String d = n.image; + if (pred == null) { + { + if (true) { + return d; + } + } + } else { + { + if (true) { + return pred + d; + } + } + } + throw new Error("Missing return statement in function"); + } + + final public void variable() throws ParseException { + String name; + LexicalUnitImpl exp = null; + boolean guarded = false; + String raw; + try { + name = variableName(); + jj_consume_token(COLON); + label_66: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[101] = jj_gen; + break label_66; + } + jj_consume_token(S); + } + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case GUARDED_SYM: + guarded = guarded(); + break; + default: + jj_la1[102] = jj_gen; + ; + } + label_67: while (true) { + jj_consume_token(SEMICOLON); + label_68: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[103] = jj_gen; + break label_68; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[104] = jj_gen; + break label_67; + } + } + documentHandler.variable(name, exp, guarded); + } catch (JumpException e) { + skipAfterExpression(); + } catch (NumberFormatException e) { + if (errorHandler != null) { + errorHandler.error(new CSSParseException("Invalid number " + + e.getMessage(), getLocator(), e)); + } + reportWarningSkipText(getLocator(), skipAfterExpression()); + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + } else { + reportError(getLocator(), e); + } + skipAfterExpression(); + } else { + skipAfterExpression(); + } + } + } + + final public void controlDirective() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IF_SYM: + ifDirective(); + break; + case EACH_SYM: + eachDirective(); + break; + default: + jj_la1[105] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void ifContentStatement() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case CONTENT_SYM: + contentDirective(); + break; + case INCLUDE_SYM: + includeDirective(); + break; + case MEDIA_SYM: + media(); + break; + case EXTEND_SYM: + extendDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: + case IDENT: + case HASH: + styleRuleOrDeclarationOrNestedProperties(); + break; + case KEY_FRAME_SYM: + keyframes(); + break; + default: + jj_la1[106] = jj_gen; + if (jj_2_3(2147483647)) { + variable(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + listModifyDirective(); + break; + default: + jj_la1[107] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + } + } + + final public void ifDirective() throws ParseException { + Token n = null; + String s = null; + String evaluator = ""; + jj_consume_token(IF_SYM); + label_69: while (true) { + s = booleanExpressionToken(); + evaluator += s; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case PLUS: + case MINUS: + case PRECEDES: + case SUCCEEDS: + case DIV: + case ANY: + case LPARAN: + case RPARAN: + case COMPARE: + case OR: + case AND: + case NOT_EQ: + case IDENT: + case NUMBER: + case VARIABLE: + case CONTAINS: + ; + break; + default: + jj_la1[108] = jj_gen; + break label_69; + } + } + jj_consume_token(LBRACE); + label_70: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[109] = jj_gen; + break label_70; + } + jj_consume_token(S); + } + documentHandler.startIfElseDirective(); + documentHandler.ifDirective(evaluator); + label_71: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[110] = jj_gen; + break label_71; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_72: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[111] = jj_gen; + break label_72; + } + jj_consume_token(S); + } + label_73: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case ELSE_SYM: + ; + break; + default: + jj_la1[112] = jj_gen; + break label_73; + } + elseDirective(); + } + documentHandler.endIfElseDirective(); + } + + final public void elseDirective() throws ParseException { + String evaluator = ""; + Token n = null; + String s = null; + jj_consume_token(ELSE_SYM); + label_74: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[113] = jj_gen; + break label_74; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IF: + jj_consume_token(IF); + label_75: while (true) { + s = booleanExpressionToken(); + evaluator += s; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + case EQ: + case PLUS: + case MINUS: + case PRECEDES: + case SUCCEEDS: + case DIV: + case ANY: + case LPARAN: + case RPARAN: + case COMPARE: + case OR: + case AND: + case NOT_EQ: + case IDENT: + case NUMBER: + case VARIABLE: + case CONTAINS: + ; + break; + default: + jj_la1[114] = jj_gen; + break label_75; + } + } + break; + default: + jj_la1[115] = jj_gen; + ; + } + jj_consume_token(LBRACE); + label_76: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[116] = jj_gen; + break label_76; + } + jj_consume_token(S); + } + if (!evaluator.trim().equals("")) { + documentHandler.ifDirective(evaluator); + } else { + documentHandler.elseDirective(); + } + label_77: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[117] = jj_gen; + break label_77; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_78: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[118] = jj_gen; + break label_78; + } + jj_consume_token(S); + } + } + + final public String booleanExpressionToken() throws ParseException { + Token n = null; + String s = null; + if (jj_2_4(2147483647)) { + s = containsDirective(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + n = jj_consume_token(VARIABLE); + break; + case IDENT: + n = jj_consume_token(IDENT); + break; + case NUMBER: + n = jj_consume_token(NUMBER); + break; + case LPARAN: + n = jj_consume_token(LPARAN); + break; + case RPARAN: + n = jj_consume_token(RPARAN); + break; + case PLUS: + n = jj_consume_token(PLUS); + break; + case MINUS: + n = jj_consume_token(MINUS); + break; + case DIV: + n = jj_consume_token(DIV); + break; + case ANY: + n = jj_consume_token(ANY); + break; + case COMPARE: + n = jj_consume_token(COMPARE); + break; + case EQ: + n = jj_consume_token(EQ); + break; + case PRECEDES: + n = jj_consume_token(PRECEDES); + break; + case SUCCEEDS: + n = jj_consume_token(SUCCEEDS); + break; + case OR: + n = jj_consume_token(OR); + break; + case AND: + n = jj_consume_token(AND); + break; + case S: + n = jj_consume_token(S); + break; + case NOT_EQ: + n = jj_consume_token(NOT_EQ); + break; + default: + jj_la1[119] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + if (n != null) { + { + if (true) { + return n.image; + } + } + } else { + { + if (true) { + return s; + } + } + } + throw new Error("Missing return statement in function"); + } + + final public void eachDirective() throws ParseException { + Token var; + ArrayList list = null; + String listVariable = null; + jj_consume_token(EACH_SYM); + label_79: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[120] = jj_gen; + break label_79; + } + jj_consume_token(S); + } + var = jj_consume_token(VARIABLE); + label_80: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[121] = jj_gen; + break label_80; + } + jj_consume_token(S); + } + jj_consume_token(EACH_IN); + label_81: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[122] = jj_gen; + break label_81; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + list = stringList(); + documentHandler.startEachDirective(var.image, list); + break; + case VARIABLE: + listVariable = variableName(); + documentHandler.startEachDirective(var.image, listVariable); + break; + default: + jj_la1[123] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + jj_consume_token(LBRACE); + label_82: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[124] = jj_gen; + break label_82; + } + jj_consume_token(S); + } + label_83: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[125] = jj_gen; + break label_83; + } + ifContentStatement(); + } + jj_consume_token(RBRACE); + label_84: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[126] = jj_gen; + break label_84; + } + jj_consume_token(S); + } + documentHandler.endEachDirective(); + } + + final public ArrayList stringList() throws ParseException { + ArrayList strings = new ArrayList(); + Token input; + input = jj_consume_token(IDENT); + label_85: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[127] = jj_gen; + break label_85; + } + jj_consume_token(S); + } + strings.add(input.image); + label_86: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[128] = jj_gen; + break label_86; + } + jj_consume_token(COMMA); + label_87: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[129] = jj_gen; + break label_87; + } + jj_consume_token(S); + } + input = jj_consume_token(IDENT); + strings.add(input.image); + label_88: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[130] = jj_gen; + break label_88; + } + jj_consume_token(S); + } + } + { + if (true) { + return strings; + } + } + throw new Error("Missing return statement in function"); + } + + final public void mixinDirective() throws ParseException { + String name; + ArrayList args = null; + String body; + jj_consume_token(MIXIN_SYM); + label_89: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[131] = jj_gen; + break label_89; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + name = property(); + break; + case FUNCTION: + name = functionName(); + args = arglist(); + jj_consume_token(RPARAN); + label_90: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[132] = jj_gen; + break label_90; + } + jj_consume_token(S); + } + break; + default: + jj_la1[133] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + jj_consume_token(LBRACE); + label_91: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[134] = jj_gen; + break label_91; + } + jj_consume_token(S); + } + documentHandler.startMixinDirective(name, args); + label_92: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EACH_SYM: + case IF_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case PAGE_SYM: + case FONT_FACE_SYM: + case KEY_FRAME_SYM: + ; + break; + default: + jj_la1[135] = jj_gen; + break label_92; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case INCLUDE_SYM: + case DEBUG_SYM: + case WARN_SYM: + case EXTEND_SYM: + case CONTENT_SYM: + case IDENT: + case VARIABLE: + case HASH: + case MEDIA_SYM: + case KEY_FRAME_SYM: + ifContentStatement(); + break; + case EACH_SYM: + case IF_SYM: + controlDirective(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + case PAGE_SYM: + page(); + break; + default: + jj_la1[136] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + jj_consume_token(RBRACE); + label_93: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[137] = jj_gen; + break label_93; + } + jj_consume_token(S); + } + documentHandler.endMixinDirective(name, args); + } + + final public ArrayList arglist() throws ParseException { + ArrayList args = new ArrayList(); + VariableNode arg; + boolean hasNonOptionalArgument = false; + arg = mixinArg(); + label_94: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[138] = jj_gen; + break label_94; + } + jj_consume_token(COMMA); + label_95: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[139] = jj_gen; + break label_95; + } + jj_consume_token(S); + } + hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, + hasNonOptionalArgument); + args.add(arg); + arg = mixinArg(); + } + hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, + hasNonOptionalArgument); + args.add(arg); + { + if (true) { + return args; + } + } + throw new Error("Missing return statement in function"); + } + + boolean checkMixinForNonOptionalArguments(VariableNode arg, + boolean hasNonOptionalArguments) throws ParseException { + boolean currentArgHasArguments = arg.getExpr() != null + && arg.getExpr().getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE + && arg.getExpr().getNextLexicalUnit() != null; + + if (currentArgHasArguments) { + if (hasNonOptionalArguments) { + throw new ParseException("Sass Error: Required argument $" + + arg.getName() + + " must come before any optional arguments."); + } + return hasNonOptionalArguments; + } else { + return true; + } + } + + final public VariableNode mixinArg() throws ParseException { + String name; + Token variable = null; + LexicalUnitImpl first = null; + LexicalUnitImpl prev = null; + LexicalUnitImpl next = null; + name = variableName(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + case VARIABLE: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_96: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[140] = jj_gen; + break label_96; + } + jj_consume_token(S); + } + first = nonVariableTerm(null); + prev = first; + label_97: while (true) { + if (jj_2_5(3)) { + ; + } else { + break label_97; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_98: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[141] = jj_gen; + break label_98; + } + jj_consume_token(S); + } + break; + default: + jj_la1[142] = jj_gen; + ; + } + prev = nonVariableTerm(prev); + } + break; + case VARIABLE: + variable = jj_consume_token(VARIABLE); + first = LexicalUnitImpl.createVariable(token.beginLine, + token.beginColumn, prev, variable.image); + break; + default: + jj_la1[143] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + default: + jj_la1[144] = jj_gen; + ; + } + VariableNode arg = new VariableNode(name, first, false); + { + if (true) { + return arg; + } + } + throw new Error("Missing return statement in function"); + } + + final public ArrayList argValuelist() + throws ParseException { + ArrayList args = new ArrayList(); + LexicalUnitImpl first = null; + LexicalUnitImpl next = null; + LexicalUnitImpl prev = null; + first = term(null); + args.add(first); + prev = first; + label_99: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case COLON: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + ; + break; + default: + jj_la1[145] = jj_gen; + break label_99; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_100: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[146] = jj_gen; + break label_100; + } + jj_consume_token(S); + } + break; + default: + jj_la1[147] = jj_gen; + ; + } + next = term(prev); + prev.setNextLexicalUnit(next); + prev = next; + } + label_101: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + ; + break; + default: + jj_la1[148] = jj_gen; + break label_101; + } + jj_consume_token(COMMA); + label_102: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[149] = jj_gen; + break label_102; + } + jj_consume_token(S); + } + first = term(null); + args.add(first); + prev = first; + label_103: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case COLON: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + ; + break; + default: + jj_la1[150] = jj_gen; + break label_103; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COLON: + jj_consume_token(COLON); + label_104: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[151] = jj_gen; + break label_104; + } + jj_consume_token(S); + } + break; + default: + jj_la1[152] = jj_gen; + ; + } + next = term(prev); + prev.setNextLexicalUnit(next); + prev = next; + } + } + { + if (true) { + return args; + } + } + throw new Error("Missing return statement in function"); + } + + final public void includeDirective() throws ParseException { + String name; + ArrayList args = null; + jj_consume_token(INCLUDE_SYM); + label_105: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[153] = jj_gen; + break label_105; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + name = property(); + break; + case VARIABLE: + name = variableName(); + name = "$" + name; + break; + case FUNCTION: + name = functionName(); + args = argValuelist(); + jj_consume_token(RPARAN); + break; + default: + jj_la1[154] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + label_106: while (true) { + jj_consume_token(SEMICOLON); + label_107: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[155] = jj_gen; + break label_107; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[156] = jj_gen; + break label_106; + } + } + documentHandler.includeDirective(name, args); + break; + case LBRACE: + jj_consume_token(LBRACE); + label_108: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[157] = jj_gen; + break label_108; + } + jj_consume_token(S); + } + documentHandler.startIncludeContentBlock(name); + label_109: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case DEBUG_SYM: + case WARN_SYM: + case IDENT: + case HASH: + ; + break; + default: + jj_la1[158] = jj_gen; + break label_109; + } + styleRuleOrDeclarationOrNestedProperties(); + } + jj_consume_token(RBRACE); + label_110: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[159] = jj_gen; + break label_110; + } + jj_consume_token(S); + } + documentHandler.endIncludeContentBlock(); + break; + default: + jj_la1[160] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public String interpolation() throws ParseException { + Token n; + n = jj_consume_token(INTERPOLATION); + { + if (true) { + return n.image; + } + } + throw new Error("Missing return statement in function"); + } + + final public void listModifyDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + Token type = null; + // refactor, remove those 3 LOOKAHEAD(5). + n = jj_consume_token(VARIABLE); + variable = n.image; + label_111: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[161] = jj_gen; + break label_111; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_112: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[162] = jj_gen; + break label_112; + } + jj_consume_token(S); + } + 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[163] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_113: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[164] = jj_gen; + break label_113; + } + 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[165] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_114: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[166] = jj_gen; + break label_114; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_115: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[167] = jj_gen; + break label_115; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_116: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[168] = jj_gen; + break label_116; + } + jj_consume_token(S); + } + break; + default: + jj_la1[169] = 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_117: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[170] = jj_gen; + break label_117; + } + jj_consume_token(S); + } + jj_consume_token(SEMICOLON); + label_118: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[171] = jj_gen; + break label_118; + } + jj_consume_token(S); + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void appendDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + n = jj_consume_token(VARIABLE); + variable = n.image; + label_119: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[172] = jj_gen; + break label_119; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_120: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[173] = jj_gen; + break label_120; + } + jj_consume_token(S); + } + jj_consume_token(APPEND); + label_121: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[174] = jj_gen; + break label_121; + } + jj_consume_token(S); + } + list = listModifyDirectiveArgs(0); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case RPARAN: + jj_consume_token(RPARAN); + break; + default: + jj_la1[175] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_122: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[176] = jj_gen; + break label_122; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_123: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[177] = jj_gen; + break label_123; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_124: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[178] = jj_gen; + break label_124; + } + jj_consume_token(S); + } + break; + default: + jj_la1[179] = jj_gen; + ; + } + jj_consume_token(RPARAN); + documentHandler.appendDirective(variable, list, remove, separator); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void removeDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + n = jj_consume_token(VARIABLE); + variable = n.image; + label_125: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[180] = jj_gen; + break label_125; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_126: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[181] = jj_gen; + break label_126; + } + jj_consume_token(S); + } + jj_consume_token(REMOVE); + label_127: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[182] = jj_gen; + break label_127; + } + 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[183] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_128: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[184] = jj_gen; + break label_128; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_129: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[185] = jj_gen; + break label_129; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_130: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[186] = jj_gen; + break label_130; + } + jj_consume_token(S); + } + break; + default: + jj_la1[187] = jj_gen; + ; + } + jj_consume_token(RPARAN); + documentHandler.removeDirective(variable, list, remove, separator); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public String containsDirective() throws ParseException { + String list = null; + String remove = null; + String separator = null; + String variable = null; + Token n = null; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case VARIABLE: + n = jj_consume_token(VARIABLE); + variable = n.image; + label_131: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[188] = jj_gen; + break label_131; + } + jj_consume_token(S); + } + jj_consume_token(COLON); + label_132: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[189] = jj_gen; + break label_132; + } + jj_consume_token(S); + } + break; + default: + jj_la1[190] = jj_gen; + ; + } + jj_consume_token(CONTAINS); + label_133: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[191] = jj_gen; + break label_133; + } + 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[192] = jj_gen; + ; + } + jj_consume_token(COMMA); + label_134: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[193] = jj_gen; + break label_134; + } + jj_consume_token(S); + } + remove = listModifyDirectiveArgs(1); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + jj_consume_token(COMMA); + label_135: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[194] = jj_gen; + break label_135; + } + jj_consume_token(S); + } + n = jj_consume_token(IDENT); + separator = n.image; + label_136: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[195] = jj_gen; + break label_136; + } + jj_consume_token(S); + } + break; + default: + jj_la1[196] = jj_gen; + ; + } + jj_consume_token(RPARAN); + /* + * if it is not in the form like + * "$contains : contains($items, .v-button);"for example in @if, like + * "@if (contains(a b c, b))", then create a tempvariable for contains(a + * b c, b); + */ + if (variable == null) { + variable = "$var_" + UUID.randomUUID(); + } + documentHandler.containsDirective(variable, list, remove, separator); + { + if (true) { + return variable; + } + } + throw new Error("Missing return statement in function"); + } + + String listModifyDirectiveArgs(int nest) throws ParseException { + String list = ""; + int nesting = nest; + Token t = null; + + while (true) { + t = getToken(1); + String s = t.image; + if (t.kind == VARIABLE || t.kind == IDENT) { + list += s; + } else if (s.toLowerCase().equals("auto") + || s.toLowerCase().equals("space") + || s.toLowerCase().equals("comma")) { + int i = 2; + Token temp = getToken(i); + boolean isLast = true; + while (temp.kind != SEMICOLON) { + if (temp.kind != RPARAN || temp.kind != S) { + isLast = false; + } + i++; + temp = getToken(i); + } + + if (isLast) { + return list; + } + } else if (t.kind == STRING) { + list += s.substring(1, s.length()).substring(0, s.length() - 2); + + } else if (t.kind == LPARAN) { + nesting++; + if (nesting > nest + 1) { + throw new CSSParseException( + "Only one ( ) pair per parameter allowed", + getLocator()); + } + } else if (t.kind == RPARAN) { + nesting--; + if (nesting == 0) { + return list; + } + } else if (t.kind == COMMA) { + if (nesting == nest) { + return list; + } else { + list += ","; + } + + } else if (t.kind == S) { + list += " "; + } else if (t.kind == LBRACE) { + throw new CSSParseException("Invalid token,'{' found", + getLocator()); + } + + getNextToken(); + } + } + + final public Node returnDirective() throws ParseException { + String raw; + raw = skipStatement(); + { + if (true) { + return null; + } + } + throw new Error("Missing return statement in function"); + } + + final public void debuggingDirective() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + debugDirective(); + break; + case WARN_SYM: + warnDirective(); + break; + default: + jj_la1[197] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void debugDirective() throws ParseException { + jj_consume_token(DEBUG_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call + // documentHandler.debugDirective() etc. + System.out.println(content); + label_137: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[198] = jj_gen; + break label_137; + } + jj_consume_token(S); + } + } + + final public void warnDirective() throws ParseException { + jj_consume_token(WARN_SYM); + String content = skipStatementUntilSemiColon(); + // TODO should evaluate the content expression, call + // documentHandler.warnDirective() etc. + System.err.println(content); + label_138: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[199] = jj_gen; + break label_138; + } + jj_consume_token(S); + } + } + + final public Node forDirective() throws ParseException { + String var; + String from; + String to; + boolean exclusive; + String body; + Token tok; + var = variableName(); + int[] toThrough = { TO, THROUGH }; + from = skipStatementUntil(toThrough); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case TO: + tok = jj_consume_token(TO); + exclusive = true; + break; + case THROUGH: + tok = jj_consume_token(THROUGH); + exclusive = false; + break; + default: + jj_la1[200] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + to = skipStatementUntilLeftBrace(); + label_139: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[201] = jj_gen; + break label_139; + } + jj_consume_token(S); + } + body = skipStatement(); + { + if (true) { + return documentHandler.forDirective(var, from, to, exclusive, + body); + } + } + throw new Error("Missing return statement in function"); + } + + final public Node whileDirective() throws ParseException { + String condition; + String body; + condition = skipStatementUntilLeftBrace(); + body = skipStatement(); + { + if (true) { + return documentHandler.whileDirective(condition, body); + } + } + throw new Error("Missing return statement in function"); + } + + final public void extendDirective() throws ParseException { + ArrayList list; + jj_consume_token(EXTEND_SYM); + label_140: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[202] = jj_gen; + break label_140; + } + jj_consume_token(S); + } + list = selectorList(); + label_141: while (true) { + jj_consume_token(SEMICOLON); + label_142: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[203] = jj_gen; + break label_142; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[204] = jj_gen; + break label_141; + } + } + documentHandler.extendDirective(list); + } + + final public void contentDirective() throws ParseException { + jj_consume_token(CONTENT_SYM); + label_143: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[205] = jj_gen; + break label_143; + } + jj_consume_token(S); + } + label_144: while (true) { + jj_consume_token(SEMICOLON); + label_145: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[206] = jj_gen; + break label_145; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[207] = jj_gen; + break label_144; + } + } + documentHandler.contentDirective(); + } + + Node importDirective() throws ParseException { + return null; + } + + Node charsetDirective() throws ParseException { + return null; + } + + Node mozDocumentDirective() throws ParseException { + return null; + } + + Node supportsDirective() throws ParseException { + return null; + } + + final public void nestedProperties() throws ParseException { + String name; + LexicalUnit exp; + name = property(); + jj_consume_token(COLON); + label_146: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[208] = jj_gen; + break label_146; + } + jj_consume_token(S); + } + jj_consume_token(LBRACE); + label_147: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[209] = jj_gen; + break label_147; + } + jj_consume_token(S); + } + documentHandler.startNestedProperties(name); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[210] = jj_gen; + ; + } + label_148: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[211] = jj_gen; + break label_148; + } + jj_consume_token(SEMICOLON); + label_149: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[212] = jj_gen; + break label_149; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[213] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + documentHandler.endNestedProperties(name); + label_150: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[214] = jj_gen; + break label_150; + } + jj_consume_token(S); + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void styleRuleOrDeclarationOrNestedProperties() + throws ParseException { + try { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + default: + jj_la1[215] = jj_gen; + if (jj_2_6(2147483647)) { + styleRule(); + } else if (jj_2_7(3)) { + declarationOrNestedProperties(); + } else { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + default: + jj_la1[216] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + } + } catch (JumpException e) { + skipAfterExpression(); + // reportWarningSkipText(getLocator(), skipAfterExpression()); + + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + } else { + reportError(getLocator(), e); + } + skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ + } else { + skipAfterExpression(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void declarationOrNestedProperties() throws ParseException { + boolean important = false; + String name; + LexicalUnitImpl exp; + Token save; + String comment = null; + try { + name = property(); + save = token; + jj_consume_token(COLON); + label_151: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[217] = jj_gen; + break label_151; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORTANT_SYM: + important = prio(); + break; + default: + jj_la1[218] = jj_gen; + ; + } + Token next = getToken(1); + if (next.kind == SEMICOLON || next.kind == RBRACE) { + while (next.kind == SEMICOLON) { + skipStatement(); + next = getToken(1); + } + if (token.specialToken != null + && token.specialToken != null + && token.specialToken.image.startsWith("/**")) { + documentHandler.property(name, exp, important, + token.specialToken.image); + } else { + documentHandler.property(name, exp, important, null); + } + } + break; + case LBRACE: + jj_consume_token(LBRACE); + label_152: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[219] = jj_gen; + break label_152; + } + jj_consume_token(S); + } + documentHandler.startNestedProperties(name); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[220] = jj_gen; + ; + } + label_153: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[221] = jj_gen; + break label_153; + } + jj_consume_token(SEMICOLON); + label_154: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[222] = jj_gen; + break label_154; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[223] = jj_gen; + ; + } + } + jj_consume_token(RBRACE); + label_155: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[224] = jj_gen; + break label_155; + } + jj_consume_token(S); + } + documentHandler.endNestedProperties(name); + break; + default: + jj_la1[225] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (JumpException e) { + skipAfterExpression(); + // reportWarningSkipText(getLocator(), skipAfterExpression()); + + } catch (NumberFormatException e) { + if (errorHandler != null) { + errorHandler.error(new CSSParseException("Invalid number " + + e.getMessage(), getLocator(), e)); + } + reportWarningSkipText(getLocator(), skipAfterExpression()); + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + } else { + reportError(getLocator(), e); + } + skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ + } else { + skipAfterExpression(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public void declaration() throws ParseException { + boolean important = false; + String name; + LexicalUnit exp; + Token save; + try { + name = property(); + save = token; + jj_consume_token(COLON); + label_156: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[226] = jj_gen; + break label_156; + } + jj_consume_token(S); + } + exp = expr(); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORTANT_SYM: + important = prio(); + break; + default: + jj_la1[227] = jj_gen; + ; + } + documentHandler.property(name, exp, important); + } catch (JumpException e) { + skipAfterExpression(); + // reportWarningSkipText(getLocator(), skipAfterExpression()); + + } catch (NumberFormatException e) { + if (errorHandler != null) { + errorHandler.error(new CSSParseException("Invalid number " + + e.getMessage(), getLocator(), e)); + } + reportWarningSkipText(getLocator(), skipAfterExpression()); + } catch (ParseException e) { + if (errorHandler != null) { + if (e.currentToken != null) { + LocatorImpl li = new LocatorImpl(this, + e.currentToken.next.beginLine, + e.currentToken.next.beginColumn - 1); + reportError(li, e); + } else { + reportError(getLocator(), e); + } + skipAfterExpression(); + /* + * LocatorImpl loc = (LocatorImpl) getLocator(); loc.column--; + * reportWarningSkipText(loc, skipAfterExpression()); + */ + } else { + skipAfterExpression(); + } + } + } + + /** + * @exception ParseException + * exception during the parse + */ + final public boolean prio() throws ParseException { + jj_consume_token(IMPORTANT_SYM); + label_157: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[228] = jj_gen; + break label_157; + } + jj_consume_token(S); + } + { + if (true) { + return true; + } + } + throw new Error("Missing return statement in function"); + } + + final public boolean guarded() throws ParseException { + jj_consume_token(GUARDED_SYM); + label_158: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[229] = jj_gen; + break label_158; + } + jj_consume_token(S); + } + { + if (true) { + return true; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl operator(LexicalUnitImpl prev) + throws ParseException { + Token n; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case COMMA: + /* + * (comments copied from basic_arithmetics.scss)supports: 1. + * standard arithmetic operations (+, -, *, /, %) 2. / is treated as + * css operator, unless one of its operands is variable or there is + * another binary arithmetic operatorlimits: 1. cannot mix + * arithmetic and css operations, e.g. "margin: 1px + 3px 2px" will + * fail 2. space between add and minus operator and their following + * operand is mandatory. e.g. "1 + 2" is valid, "1+2" is not 3. + * parenthesis is not supported now. + */ + n = jj_consume_token(COMMA); + label_159: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[230] = jj_gen; + break label_159; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createComma(n.beginLine, + n.beginColumn, prev); + } + } + break; + case DIV: + n = jj_consume_token(DIV); + label_160: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[231] = jj_gen; + break label_160; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createSlash(n.beginLine, + n.beginColumn, prev); + } + } + break; + case ANY: + n = jj_consume_token(ANY); + label_161: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[232] = jj_gen; + break label_161; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createMultiply(n.beginLine, + n.beginColumn, prev); + } + } + break; + case MOD: + n = jj_consume_token(MOD); + label_162: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[233] = jj_gen; + break label_162; + } + jj_consume_token(S); + } + { + if (true) { + return LexicalUnitImpl.createModulo(n.beginLine, + n.beginColumn, prev); + } + } + break; + case PLUS: + n = jj_consume_token(PLUS); + label_163: while (true) { + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[234] = jj_gen; + break label_163; + } + } + { + if (true) { + return LexicalUnitImpl.createAdd(n.beginLine, + n.beginColumn, prev); + } + } + break; + case MINUS: + n = jj_consume_token(MINUS); + label_164: while (true) { + jj_consume_token(S); + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[235] = jj_gen; + break label_164; + } + } + { + if (true) { + return LexicalUnitImpl.createMinus(n.beginLine, + n.beginColumn, prev); + } + } + break; + default: + jj_la1[236] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl expr() throws ParseException { + LexicalUnitImpl first, res; + char op; + first = term(null); + res = first; + label_165: while (true) { + if (jj_2_8(2)) { + ; + } else { + break label_165; + } + if (jj_2_9(2)) { + res = operator(res); + } else { + ; + } + res = term(res); + } + { + if (true) { + return first; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public char unaryOperator() throws ParseException { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case MINUS: + jj_consume_token(MINUS); + { + if (true) { + return '-'; + } + } + break; + case PLUS: + jj_consume_token(PLUS); + { + if (true) { + return '+'; + } + } + break; + default: + jj_la1[237] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl term(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; + Token n = null; + char op = ' '; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + result = nonVariableTerm(prev); + break; + case VARIABLE: + result = variableTerm(prev); + break; + default: + jj_la1[238] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + { + if (true) { + return result; + } + } + throw new Error("Missing return statement in function"); + } + + final public LexicalUnitImpl variableTerm(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; + String varName = ""; + varName = variableName(); + result = LexicalUnitImpl.createVariable(token.beginLine, + token.beginColumn, prev, varName); + { + if (true) { + return result; + } + } + throw new Error("Missing return statement in function"); + } + + final public LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) + throws ParseException { + LexicalUnitImpl result = null; + Token n = null; + char op = ' '; + String varName; + String s = ""; + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case NUMBER: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case FUNCTION: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + op = unaryOperator(); + break; + default: + jj_la1[239] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case NUMBER: + n = jj_consume_token(NUMBER); + result = LexicalUnitImpl.createNumber(n.beginLine, + n.beginColumn, prev, number(op, n, 0)); + break; + case PERCENTAGE: + n = jj_consume_token(PERCENTAGE); + result = LexicalUnitImpl.createPercentage(n.beginLine, + n.beginColumn, prev, number(op, n, 1)); + break; + case PT: + n = jj_consume_token(PT); + result = LexicalUnitImpl.createPT(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case CM: + n = jj_consume_token(CM); + result = LexicalUnitImpl.createCM(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case MM: + n = jj_consume_token(MM); + result = LexicalUnitImpl.createMM(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case PC: + n = jj_consume_token(PC); + result = LexicalUnitImpl.createPC(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case IN: + n = jj_consume_token(IN); + result = LexicalUnitImpl.createIN(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case PX: + n = jj_consume_token(PX); + result = LexicalUnitImpl.createPX(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case EMS: + n = jj_consume_token(EMS); + result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case LEM: + n = jj_consume_token(LEM); + result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case REM: + n = jj_consume_token(REM); + result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case EXS: + n = jj_consume_token(EXS); + result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case DEG: + n = jj_consume_token(DEG); + result = LexicalUnitImpl.createDEG(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case RAD: + n = jj_consume_token(RAD); + result = LexicalUnitImpl.createRAD(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case GRAD: + n = jj_consume_token(GRAD); + result = LexicalUnitImpl.createGRAD(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case SECOND: + n = jj_consume_token(SECOND); + result = LexicalUnitImpl.createS(n.beginLine, n.beginColumn, + prev, number(op, n, 1)); + break; + case MS: + n = jj_consume_token(MS); + result = LexicalUnitImpl.createMS(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case HZ: + n = jj_consume_token(HZ); + result = LexicalUnitImpl.createHZ(n.beginLine, n.beginColumn, + prev, number(op, n, 2)); + break; + case KHZ: + n = jj_consume_token(KHZ); + result = LexicalUnitImpl.createKHZ(n.beginLine, n.beginColumn, + prev, number(op, n, 3)); + break; + case DIMEN: + n = jj_consume_token(DIMEN); + s = n.image; + int i = 0; + while (i < s.length() + && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { + i++; + } + result = LexicalUnitImpl.createDimen(n.beginLine, + n.beginColumn, prev, Float.valueOf(s.substring(0, i)) + .floatValue(), s.substring(i)); + break; + case FUNCTION: + result = function(op, prev); + break; + default: + jj_la1[240] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case URL: + case HASH: + case UNICODERANGE: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case STRING: + n = jj_consume_token(STRING); + result = LexicalUnitImpl.createString(n.beginLine, + n.beginColumn, prev, + convertStringIndex(n.image, 1, n.image.length() - 1)); + break; + case DOT: + case TO: + case THROUGH: + case FROM: + case IDENT: + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case DOT: + jj_consume_token(DOT); + s += "."; + break; + default: + jj_la1[241] = jj_gen; + ; + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IDENT: + n = jj_consume_token(IDENT); + break; + case TO: + n = jj_consume_token(TO); + break; + case THROUGH: + n = jj_consume_token(THROUGH); + break; + case FROM: + n = jj_consume_token(FROM); + break; + default: + jj_la1[242] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + s += convertIdent(n.image); + if ("inherit".equals(s)) { + result = LexicalUnitImpl.createInherit(n.beginLine, + n.beginColumn, prev); + } else { + result = LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, prev, convertIdent(n.image)); + } + + /* + * / Auto correction code used in the CSS Validator but must not + * be used by a conformant CSS2 parser. Common error : H1 { + * color : black background : white } + * + * Token t = getToken(1); Token semicolon = new Token(); + * semicolon.kind = SEMICOLON; semicolon.image = ";"; if (t.kind + * == COLON) { // @@SEEME. (generate a warning?) // @@SEEME if + * expression is a single ident, generate an error ? + * rejectToken(semicolon); + * + * result = prev; } / + */ + + break; + case HASH: + result = hexcolor(prev); + break; + case URL: + result = url(prev); + break; + case UNICODERANGE: + result = unicode(prev); + break; + default: + jj_la1[243] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + default: + jj_la1[244] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + label_166: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[245] = jj_gen; + break label_166; + } + jj_consume_token(S); + } + { + if (true) { + return result; + } + } + throw new Error("Missing return statement in function"); + } + + /** + * Handle all CSS2 functions. + * + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl function(char operator, LexicalUnitImpl prev) + throws ParseException { + Token n; + LexicalUnit params = null; + n = jj_consume_token(FUNCTION); + label_167: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[246] = jj_gen; + break label_167; + } + jj_consume_token(S); + } + String fname = convertIdent(n.image); + if ("alpha(".equals(fname)) { + String body = skipStatementUntilSemiColon(); + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, null, "alpha(" + body); + } + } + } else if ("expression(".equals(fname)) { + String body = skipStatementUntilSemiColon(); + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, + n.beginColumn, null, "expression(" + body); + } + } + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case PLUS: + case MINUS: + case DOT: + case TO: + case THROUGH: + case FROM: + case STRING: + case IDENT: + case NUMBER: + case URL: + case VARIABLE: + case PERCENTAGE: + case PT: + case MM: + case CM: + case PC: + case IN: + case PX: + case EMS: + case LEM: + case REM: + case EXS: + case DEG: + case RAD: + case GRAD: + case MS: + case SECOND: + case HZ: + case KHZ: + case DIMEN: + case HASH: + case UNICODERANGE: + case FUNCTION: + params = expr(); + break; + default: + jj_la1[247] = jj_gen; + ; + } + jj_consume_token(RPARAN); + if (operator != ' ') { + { + if (true) { + throw new CSSParseException( + "invalid operator before a function.", getLocator()); + } + } + } + String f = convertIdent(n.image); + LexicalUnitImpl l = (LexicalUnitImpl) params; + boolean loop = true; + if ("rgb(".equals(f)) { + // this is a RGB declaration (e.g. rgb(255, 50%, 0) ) + int i = 0; + while (loop && l != null && i < 5) { + switch (i) { + case 0: + case 2: + case 4: + if ((l.getLexicalUnitType() != LexicalUnit.SAC_INTEGER) + && (l.getLexicalUnitType() != LexicalUnit.SAC_PERCENTAGE)) { + loop = false; + } + break; + case 1: + case 3: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } + } + if (loop) { + l = l.getNextLexicalUnit(); + i++; + } + } + if ((i == 5) && loop && (l == null)) { + { + if (true) { + return LexicalUnitImpl.createRGBColor(n.beginLine, + n.beginColumn, prev, params); + } + } + } else { + if (errorHandler != null) { + String errorText; + Locator loc; + if (i < 5) { + if (params == null) { + loc = new LocatorImpl(this, n.beginLine, + n.beginColumn - 1); + errorText = "not enough parameters."; + } else if (l == null) { + loc = new LocatorImpl(this, n.beginLine, + n.beginColumn - 1); + errorText = "not enough parameters: " + + params.toString(); + } else { + loc = new LocatorImpl(this, l.getLineNumber(), + l.getColumnNumber()); + errorText = "invalid parameter: " + l.toString(); + } + } else { + loc = new LocatorImpl(this, l.getLineNumber(), + l.getColumnNumber()); + errorText = "too many parameters: " + l.toString(); + } + errorHandler.error(new CSSParseException(errorText, loc)); + } + + { + if (true) { + throw new JumpException(); + } + } + } + } else if ("counter".equals(f)) { + int i = 0; + while (loop && l != null && i < 3) { + switch (i) { + case 0: + case 2: + if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { + loop = false; + } + break; + case 1: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } + } + l = l.getNextLexicalUnit(); + i++; + } + if (((i == 1) || (i == 3)) && loop && (l == null)) { + { + if (true) { + return LexicalUnitImpl.createCounter(n.beginLine, + n.beginColumn, prev, params); + } + } + } + + } else if ("counters(".equals(f)) { + + int i = 0; + while (loop && l != null && i < 5) { + switch (i) { + case 0: + case 4: + if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { + loop = false; + } + break; + case 2: + if (l.getLexicalUnitType() != LexicalUnit.SAC_STRING_VALUE) { + loop = false; + } + break; + case 1: + case 3: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } + } + l = l.getNextLexicalUnit(); + i++; + } + if (((i == 3) || (i == 5)) && loop && (l == null)) { + { + if (true) { + return LexicalUnitImpl.createCounters(n.beginLine, + n.beginColumn, prev, params); + } + } + } + } else if ("attr(".equals(f)) { + if ((l != null) && (l.getNextLexicalUnit() == null) + && (l.getLexicalUnitType() == LexicalUnit.SAC_IDENT)) { + { + if (true) { + return LexicalUnitImpl.createAttr(l.getLineNumber(), + l.getColumnNumber(), prev, l.getStringValue()); + } + } + } + } else if ("rect(".equals(f)) { + int i = 0; + while (loop && l != null && i < 7) { + switch (i) { + case 0: + case 2: + case 4: + case 6: + switch (l.getLexicalUnitType()) { + case LexicalUnit.SAC_INTEGER: + if (l.getIntegerValue() != 0) { + loop = false; + } + break; + case LexicalUnit.SAC_IDENT: + if (!l.getStringValue().equals("auto")) { + loop = false; + } + break; + case LexicalUnit.SAC_EM: + case LexicalUnit.SAC_EX: + case LexicalUnit.SAC_PIXEL: + case LexicalUnit.SAC_CENTIMETER: + case LexicalUnit.SAC_MILLIMETER: + case LexicalUnit.SAC_INCH: + case LexicalUnit.SAC_POINT: + case LexicalUnit.SAC_PICA: + // nothing + break; + default: + loop = false; + } + break; + case 1: + case 3: + case 5: + if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { + loop = false; + } + break; + default: { + if (true) { + throw new ParseException("implementation error"); + } + } + } + l = l.getNextLexicalUnit(); + i++; + } + if ((i == 7) && loop && (l == null)) { + { + if (true) { + return LexicalUnitImpl.createRect(n.beginLine, + n.beginColumn, prev, params); + } + } + } + } + { + if (true) { + return LexicalUnitImpl.createFunction(n.beginLine, + n.beginColumn, prev, f.substring(0, f.length() - 1), + params); + } + } + throw new Error("Missing return statement in function"); + } + + final public LexicalUnitImpl unicode(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(UNICODERANGE); + LexicalUnitImpl params = null; + String s = n.image.substring(2); + int index = s.indexOf('-'); + if (index == -1) { + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s, 16)); + } else { + String s1 = s.substring(0, index); + String s2 = s.substring(index); + + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s1, 16)); + params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, + params, Integer.parseInt(s2, 16)); + } + + { + if (true) { + return LexicalUnitImpl.createUnicodeRange(n.beginLine, + n.beginColumn, prev, params); + } + } + throw new Error("Missing return statement in function"); + } + + final public LexicalUnitImpl url(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(URL); + String urlname = n.image.substring(4, n.image.length() - 1).trim(); + { + if (true) { + return LexicalUnitImpl.createURL(n.beginLine, n.beginColumn, + prev, urlname); + } + } + throw new Error("Missing return statement in function"); + } + + /** + * @exception ParseException + * exception during the parse + */ + final public LexicalUnitImpl hexcolor(LexicalUnitImpl prev) + throws ParseException { + Token n; + n = jj_consume_token(HASH); + int r; + LexicalUnitImpl first, params = null; + String s = n.image.substring(1); + + if (s.length() != 3 && s.length() != 6) { + first = null; + { + if (true) { + throw new CSSParseException( + "invalid hexadecimal notation for RGB: " + s, + getLocator()); + } + } + } + { + if (true) { + return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, + prev, n.image); + } + } + throw new Error("Missing return statement in function"); + } + + float number(char operator, Token n, int lengthUnit) throws ParseException { + String image = n.image; + float f = 0; + + if (lengthUnit != 0) { + image = image.substring(0, image.length() - lengthUnit); + } + f = Float.valueOf(image).floatValue(); + return (operator == '-') ? -f : f; + } + + String skipStatementUntilSemiColon() throws ParseException { + int[] semicolon = { SEMICOLON }; + return skipStatementUntil(semicolon); + } + + String skipStatementUntilLeftBrace() throws ParseException { + int[] lBrace = { LBRACE }; + return skipStatementUntil(lBrace); + } + + String skipStatementUntilRightParan() throws ParseException { + int[] rParan = { RPARAN }; + return skipStatementUntil(rParan); + } + + String skipStatementUntil(int[] symbols) throws ParseException { + StringBuffer s = new StringBuffer(); + boolean stop = false; + Token tok; + while (!stop) { + tok = getToken(1); + if (tok.kind == EOF) { + return null; + } + for (int sym : symbols) { + if (tok.kind == sym) { + stop = true; + break; + } + } + if (!stop) { + if (tok.image != null) { + s.append(tok.image); + } + getNextToken(); + } + } + return s.toString().trim(); + } + + String skipStatement() throws ParseException { + StringBuffer s = new StringBuffer(); + Token tok = getToken(0); + if (tok.image != null) { + s.append(tok.image); + } + while (true) { + tok = getToken(1); + if (tok.kind == EOF) { + return null; + } + s.append(tok.image); + if (tok.kind == LBRACE) { + getNextToken(); + s.append(skip_to_matching_brace()); + getNextToken(); + tok = getToken(1); + break; + } else if (tok.kind == RBRACE) { + getNextToken(); + tok = getToken(1); + break; + } else if (tok.kind == SEMICOLON) { + getNextToken(); + tok = getToken(1); + break; + } + getNextToken(); + } + + // skip white space + while (true) { + if (tok.kind != S) { + break; + } + tok = getNextToken(); + tok = getToken(1); + } + + return s.toString().trim(); + } + + String skip_to_matching_brace() throws ParseException { + StringBuffer s = new StringBuffer(); + Token tok; + int nesting = 1; + while (true) { + tok = getToken(1); + if (tok.kind == EOF) { + break; + } + s.append(tok.image); + if (tok.kind == LBRACE) { + nesting++; + } else if (tok.kind == RBRACE) { + nesting--; + if (nesting == 0) { + break; + } + } + getNextToken(); + } + return s.toString(); + } + + String convertStringIndex(String s, int start, int len) + throws ParseException { + StringBuffer buf = new StringBuffer(len); + int index = start; + + while (index < len) { + char c = s.charAt(index); + if (c == '\u005c\u005c') { + if (++index < len) { + c = s.charAt(index); + switch (c) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + buf.append('\u005c\u005c'); + while (index < len) { + buf.append(s.charAt(index++)); + } + break; + case '\u005cn': + case '\u005cf': + break; + case '\u005cr': + if (index + 1 < len) { + if (s.charAt(index + 1) == '\u005cn') { + index++; + } + } + break; + default: + buf.append(c); + } + } else { + throw new CSSParseException("invalid string " + s, + getLocator()); + } + } else { + buf.append(c); + } + index++; + } + + return buf.toString(); + } + + String convertIdent(String s) throws ParseException { + return convertStringIndex(s, 0, s.length()); + } + + String convertString(String s) throws ParseException { + return convertStringIndex(s, 0, s.length()); + } + + void comments() throws ParseException { + /* + * keeps only the multiple line comments, single line comments are + * skipped + */ + if (token.specialToken != null && token.specialToken.image != null + && token.specialToken.image.startsWith("/*")) { + Token tmp_t = token.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + documentHandler.comment(tmp_t.image); + tmp_t = tmp_t.next; + } + } + } + + void rejectToken(Token t) throws ParseException { + Token fakeToken = new Token(); + t.next = token; + fakeToken.next = t; + token = fakeToken; + } + + String skipAfterExpression() throws ParseException { + Token t = getToken(1); + StringBuffer s = new StringBuffer(); + s.append(getToken(0).image); + + while ((t.kind != RBRACE) && (t.kind != SEMICOLON) && (t.kind != EOF)) { + s.append(t.image); + getNextToken(); + t = getToken(1); + } + + return s.toString(); + } + + /** + * The following functions are useful for a DOM CSS implementation only and + * are not part of the general CSS2 parser. + */ + // TODO required by original parser but not used by Vaadin? + final public void _parseRule() throws ParseException { + String ret = null; + label_168: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[248] = jj_gen; + break label_168; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case IMPORT_SYM: + importDeclaration(); + break; + case DEBUG_SYM: + case WARN_SYM: + debuggingDirective(); + break; + case PLUS: + case PRECEDES: + case SIBLING: + case LBRACKET: + case ANY: + case PARENT: + case DOT: + case COLON: + case INTERPOLATION: + case IDENT: + case HASH: + styleRule(); + break; + case MEDIA_SYM: + media(); + break; + case PAGE_SYM: + page(); + break; + case FONT_FACE_SYM: + fontFace(); + break; + default: + jj_la1[249] = jj_gen; + ret = skipStatement(); + if ((ret == null) || (ret.length() == 0)) { + { + if (true) { + return; + } + } + } + if (ret.charAt(0) == '@') { + documentHandler.unrecognizedRule(ret); + } else { + { + if (true) { + throw new CSSParseException("unrecognize rule: " + ret, + getLocator()); + } + } + } + } + } + + final public void _parseImportRule() throws ParseException { + label_169: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[250] = jj_gen; + break label_169; + } + jj_consume_token(S); + } + importDeclaration(); + } + + final public void _parseMediaRule() throws ParseException { + label_170: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[251] = jj_gen; + break label_170; + } + jj_consume_token(S); + } + media(); + } + + final public void _parseDeclarationBlock() throws ParseException { + label_171: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[252] = jj_gen; + break label_171; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[253] = jj_gen; + ; + } + label_172: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case SEMICOLON: + ; + break; + default: + jj_la1[254] = jj_gen; + break label_172; + } + jj_consume_token(SEMICOLON); + label_173: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[255] = jj_gen; + break label_173; + } + jj_consume_token(S); + } + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case INTERPOLATION: + case IDENT: + declaration(); + break; + default: + jj_la1[256] = jj_gen; + ; + } + } + } + + final public ArrayList _parseSelectors() throws ParseException { + ArrayList p = null; + try { + label_174: while (true) { + switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { + case S: + ; + break; + default: + jj_la1[257] = jj_gen; + break label_174; + } + jj_consume_token(S); + } + p = selectorList(); + { + if (true) { + return p; + } + } + } catch (ThrowedParseException e) { + { + if (true) { + throw (ParseException) e.e.fillInStackTrace(); + } + } + } + throw new Error("Missing return statement in function"); + } + + private boolean jj_2_1(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_1(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(0, xla); + } + } + + private boolean jj_2_2(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_2(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(1, xla); + } + } + + private boolean jj_2_3(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_3(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(2, xla); + } + } + + private boolean jj_2_4(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_4(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(3, xla); + } + } + + private boolean jj_2_5(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_5(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(4, xla); + } + } + + private boolean jj_2_6(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_6(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(5, xla); + } + } + + private boolean jj_2_7(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_7(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(6, xla); + } + } + + private boolean jj_2_8(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_8(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(7, xla); + } + } + + private boolean jj_2_9(int xla) { + jj_la = xla; + jj_lastpos = jj_scanpos = token; + try { + return !jj_3_9(); + } catch (LookaheadSuccess ls) { + return true; + } finally { + jj_save(8, xla); + } + } + + private boolean jj_3R_211() { + if (jj_scan_token(MINUS)) { + return true; + } + Token xsp; + if (jj_scan_token(1)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_187() { + if (jj_3R_212()) { + return true; + } + return false; + } + + private boolean jj_3R_210() { + if (jj_scan_token(PLUS)) { + return true; + } + Token xsp; + if (jj_scan_token(1)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_209() { + if (jj_scan_token(MOD)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_208() { + if (jj_scan_token(ANY)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_207() { + if (jj_scan_token(DIV)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_206() { + 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_184() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_206()) { + jj_scanpos = xsp; + if (jj_3R_207()) { + jj_scanpos = xsp; + if (jj_3R_208()) { + jj_scanpos = xsp; + if (jj_3R_209()) { + jj_scanpos = xsp; + if (jj_3R_210()) { + jj_scanpos = xsp; + if (jj_3R_211()) { + return true; + } + } + } + } + } + } + return false; + } + + private boolean jj_3R_214() { + if (jj_3R_213()) { + return true; + } + return false; + } + + private boolean jj_3R_213() { + Token xsp; + xsp = jj_scanpos; + if (jj_scan_token(18)) { + jj_scanpos = xsp; + if (jj_scan_token(22)) { + jj_scanpos = xsp; + if (jj_scan_token(23)) { + return true; + } + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_175() { + if (jj_3R_185()) { + return true; + } + if (jj_scan_token(COLON)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_3R_186()) { + return true; + } + xsp = jj_scanpos; + if (jj_3R_187()) { + jj_scanpos = xsp; + } + if (jj_3R_188()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_188()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_212() { + if (jj_scan_token(GUARDED_SYM)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_190() { + if (jj_scan_token(S)) { + return true; + } + Token xsp; + xsp = jj_scanpos; + if (jj_3R_214()) { + jj_scanpos = xsp; + } + return false; + } + + private boolean jj_3R_189() { + if (jj_3R_213()) { + return true; + } + return false; + } + + private boolean jj_3R_176() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_189()) { + jj_scanpos = xsp; + if (jj_3R_190()) { + return true; + } + } + return false; + } + + private boolean jj_3R_196() { + if (jj_scan_token(VARIABLE)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_scan_token(COLON)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_178() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_196()) { + jj_scanpos = xsp; + } + if (jj_scan_token(CONTAINS)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (true) { + jj_la = 0; + jj_scanpos = jj_lastpos; + return false; + } + return false; + } + + private boolean jj_3R_216() { + if (jj_scan_token(HASH)) { + return true; + } + return false; + } + + private boolean jj_3R_286() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_287() { + if (jj_scan_token(FUNCTION)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (true) { + jj_la = 0; + jj_scanpos = jj_lastpos; + return false; + } + return false; + } + + private boolean jj_3R_285() { + if (jj_scan_token(COLON)) { + return true; + } + return false; + } + + private boolean jj_3R_218() { + if (jj_scan_token(COLON)) { + return true; + } + Token xsp; + xsp = jj_scanpos; + if (jj_3R_285()) { + jj_scanpos = xsp; + } + xsp = jj_scanpos; + if (jj_3R_286()) { + jj_scanpos = xsp; + if (jj_3R_287()) { + return true; + } + } + return false; + } + + private boolean jj_3_7() { + if (jj_3R_182()) { + return true; + } + return false; + } + + private boolean jj_3R_203() { + if (jj_scan_token(LBRACE)) { + return true; + } + return false; + } + + private boolean jj_3R_306() { + if (jj_scan_token(STRING)) { + return true; + } + return false; + } + + private boolean jj_3R_304() { + if (jj_scan_token(STARMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_305() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_303() { + if (jj_scan_token(DOLLARMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_302() { + if (jj_scan_token(CARETMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_301() { + if (jj_scan_token(DASHMATCH)) { + return true; + } + return false; + } + + private boolean jj_3R_300() { + if (jj_scan_token(INCLUDES)) { + return true; + } + return false; + } + + private boolean jj_3R_267() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } + + private boolean jj_3R_299() { + if (jj_scan_token(EQ)) { + return true; + } + return false; + } + + private boolean jj_3R_202() { + if (jj_3R_186()) { + return true; + } + return false; + } + + private boolean jj_3R_292() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_299()) { + jj_scanpos = xsp; + if (jj_3R_300()) { + jj_scanpos = xsp; + if (jj_3R_301()) { + jj_scanpos = xsp; + if (jj_3R_302()) { + jj_scanpos = xsp; + if (jj_3R_303()) { + jj_scanpos = xsp; + if (jj_3R_304()) { + return true; + } + } + } + } + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + xsp = jj_scanpos; + if (jj_3R_305()) { + jj_scanpos = xsp; + if (jj_3R_306()) { + return true; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3_6() { + if (jj_3R_181()) { + return true; + } + if (jj_scan_token(LBRACE)) { + return true; + } + return false; + } + + private boolean jj_3R_219() { + if (jj_scan_token(LBRACKET)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_scan_token(IDENT)) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + xsp = jj_scanpos; + if (jj_3R_292()) { + jj_scanpos = xsp; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + return false; + } + + private boolean jj_3R_182() { + if (jj_3R_201()) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case CDO: - case LBRACE: - case DASHMATCH: - case INCLUDES: - case MINUS: - case COMMA: - case SEMICOLON: - case NONASCII: - case STRING: - case NUMBER: - case URL: - case PERCENTAGE: - case IMPORT_SYM: - case MEDIA_SYM: - case CHARSET_SYM: - case PAGE_SYM: - case FONT_FACE_SYM: - case ATKEYWORD: - case IMPORTANT_SYM: - case UNICODERANGE: - case FUNCTION: - case UNKNOWN: - skipUnknownRule(); - break; - default: - jj_la1[33] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_26: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[34] = jj_gen; - break label_26; - } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } finally { - if (start) { - documentHandler.endMedia(ml); - } - } - } - - final public void mediaStatement(MediaListImpl ml) throws ParseException { - Token t; - t = getToken(1); - // loop over comma separated parts, add each to ml - while ((t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); - while ((t.kind != COMMA) && (t.kind != LBRACE) && (t.kind != EOF) && (t.kind != SEMICOLON)) { - s.append(t.image); - getNextToken(); - t = getToken(1); + if (jj_scan_token(COLON)) { + return true; } - if (t.kind == COMMA) { - // skip the comma and the token before it that is still the active token - getNextToken(); - getNextToken(); - t = getToken(1); + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } } - String str = s.toString().trim(); - if (str.length() > 0) { - ml.addItem(str); + xsp = jj_scanpos; + if (jj_3R_202()) { + jj_scanpos = xsp; + if (jj_3R_203()) { + return true; + } } - } - } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String medium() throws ParseException { - Token n; - n = jj_consume_token(IDENT); - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_298() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public void page() throws ParseException { - boolean start = false; - Token n = null; - String page = null; - String pseudo = null; - try { - jj_consume_token(PAGE_SYM); - label_27: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[35] = jj_gen; - break label_27; + private boolean jj_3R_253() { + if (jj_scan_token(PARENT)) { + return true; + } + return false; + } + + private boolean jj_3R_265() { + if (jj_3R_186()) { + return true; + } + return false; + } + + private boolean jj_3R_252() { + if (jj_scan_token(ANY)) { + return true; + } + return false; + } + + private boolean jj_3R_262() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_266()) { + jj_scanpos = xsp; + if (jj_3R_267()) { + return true; + } + } + return false; + } + + private boolean jj_3R_266() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; + } + + private boolean jj_3R_215() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_251()) { + jj_scanpos = xsp; + if (jj_3R_252()) { + jj_scanpos = xsp; + if (jj_3R_253()) { + return true; + } + } + } + return false; + } + + private boolean jj_3R_251() { + Token xsp; + if (jj_3R_262()) { + return true; } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - label_28: while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[36] = jj_gen; - break label_28; - } - jj_consume_token(S); - } - break; - default: - jj_la1[37] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - pseudo = pseudo_page(); - break; - default: - jj_la1[38] = jj_gen; - ; - } - if (n != null) { - page = convertIdent(n.image); - } - jj_consume_token(LBRACE); - label_29: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[39] = jj_gen; - break label_29; - } - jj_consume_token(S); - } - start = true; - documentHandler.startPage(page, pseudo); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[40] = jj_gen; - ; - } - label_30: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[41] = jj_gen; - break label_30; + xsp = jj_scanpos; + if (jj_3R_262()) { + jj_scanpos = xsp; + break; + } } - jj_consume_token(SEMICOLON); - label_31: + return false; + } + + private boolean jj_3R_179() { + if (jj_scan_token(COMMA)) { + return true; + } + Token xsp; while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[42] = jj_gen; - break label_31; - } - jj_consume_token(S); + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[43] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - label_32: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[44] = jj_gen; - break label_32; - } - jj_consume_token(S); - } - } catch (ParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - skipStatement(); - // reportWarningSkipText(li, skipStatement()); - } else { - skipStatement(); - } - } finally { - if (start) { - documentHandler.endPage(page, pseudo); - } - } - } - - final public String pseudo_page() throws ParseException { - Token n; - jj_consume_token(COLON); - n = jj_consume_token(IDENT); - label_33: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[45] = jj_gen; - break label_33; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image);} - throw new Error("Missing return statement in function"); - } - - final public void fontFace() throws ParseException { - boolean start = false; - try { - jj_consume_token(FONT_FACE_SYM); - label_34: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[46] = jj_gen; - break label_34; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_35: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[47] = jj_gen; - break label_35; - } - jj_consume_token(S); - } - start = true; documentHandler.startFontFace(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[48] = jj_gen; - ; - } - label_36: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[49] = jj_gen; - break label_36; + return false; + } + + private boolean jj_3R_255() { + if (jj_scan_token(FUNCTION)) { + return true; } - jj_consume_token(SEMICOLON); - label_37: + Token xsp; while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[50] = jj_gen; - break label_37; - } - jj_consume_token(S); + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[51] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - label_38: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[52] = jj_gen; - break label_38; + xsp = jj_scanpos; + if (jj_3R_265()) { + jj_scanpos = xsp; } - jj_consume_token(S); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); + if (jj_scan_token(RPARAN)) { + return true; + } + return false; + } - } finally { - if (start) { - documentHandler.endFontFace(); - } + private boolean jj_3R_297() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; } - } -/** - * @exception ParseException exception during the parse - */ - final public void atRuleDeclaration() throws ParseException { - Token n; - String ret; - n = jj_consume_token(ATKEYWORD); - ret=skipStatement(); - if ((ret != null) && (ret.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(getLocator(), ret); + private boolean jj_3R_280() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_297()) { + jj_scanpos = xsp; + if (jj_3R_298()) { + return true; + } } - } - - final public void skipUnknownRule() throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ATKEYWORD: - n = jj_consume_token(ATKEYWORD); - break; - case CDO: - n = jj_consume_token(CDO); - break; - case CHARSET_SYM: - n = jj_consume_token(CHARSET_SYM); - break; - case COMMA: - n = jj_consume_token(COMMA); - break; - case DASHMATCH: - n = jj_consume_token(DASHMATCH); - break; - case FONT_FACE_SYM: - n = jj_consume_token(FONT_FACE_SYM); - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - break; - case IMPORTANT_SYM: - n = jj_consume_token(IMPORTANT_SYM); - break; - case IMPORT_SYM: - n = jj_consume_token(IMPORT_SYM); - break; - case INCLUDES: - n = jj_consume_token(INCLUDES); - break; - case LBRACE: - n = jj_consume_token(LBRACE); - break; - case MEDIA_SYM: - n = jj_consume_token(MEDIA_SYM); - break; - case NONASCII: - n = jj_consume_token(NONASCII); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case PAGE_SYM: - n = jj_consume_token(PAGE_SYM); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - break; - case STRING: - n = jj_consume_token(STRING); - break; - case UNICODERANGE: - n = jj_consume_token(UNICODERANGE); - break; - case URL: - n = jj_consume_token(URL); - break; - case SEMICOLON: - n = jj_consume_token(SEMICOLON); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case UNKNOWN: - n = jj_consume_token(UNKNOWN); - break; - default: - jj_la1[53] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - String ret; - Locator loc = getLocator(); - ret=skipStatement(); - if ((ret != null) && (n.image.charAt(0) == '@')) { - documentHandler.unrecognizedRule(ret); - } else { - reportWarningSkipText(loc, ret); - } - } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public char combinator() throws ParseException { -char connector = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - case S: - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - connector = combinatorChar(); - break; - default: - jj_la1[54] = jj_gen; - ; - } - break; - default: - jj_la1[55] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return connector;} - throw new Error("Missing return statement in function"); - } - -/**to refactor combinator and reuse in selector().*/ - final public char combinatorChar() throws ParseException { - Token t; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - t = jj_consume_token(PLUS); - break; - case PRECEDES: - t = jj_consume_token(PRECEDES); - break; - case SIBLING: - t = jj_consume_token(SIBLING); - break; - default: - jj_la1[56] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_39: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[57] = jj_gen; - break label_39; - } - jj_consume_token(S); - } - {if (true) return t.image.charAt(0);} - throw new Error("Missing return statement in function"); - } - - final public void microsoftExtension() throws ParseException { - Token n; - String name = ""; - String value = ""; - // This is not really taking the syntax of filter rules into account - n = jj_consume_token(MICROSOFT_RULE); - label_40: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[58] = jj_gen; - break label_40; - } - jj_consume_token(S); - } - name = n.image; - jj_consume_token(COLON); - label_41: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - value += n.image; - break; - case NUMBER: - n = jj_consume_token(NUMBER); - value += n.image; - break; - case STRING: - n = jj_consume_token(STRING); - value += n.image; - break; - case COMMA: - n = jj_consume_token(COMMA); - value += n.image; - break; - case INTERPOLATION: - n = jj_consume_token(INTERPOLATION); - value += n.image; - break; - case COLON: - n = jj_consume_token(COLON); - value += n.image; - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - value += n.image; - break; - case RPARAN: - n = jj_consume_token(RPARAN); - value += n.image; - break; - case EQ: - n = jj_consume_token(EQ); - value += n.image; - break; - case DOT: - n = jj_consume_token(DOT); - value += n.image; - break; - case S: - n = jj_consume_token(S); - if(value.lastIndexOf(' ') != value.length()-1) - { value += n.image; } - break; - default: - jj_la1[59] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case COMMA: - case DOT: - case RPARAN: - case COLON: - case INTERPOLATION: - case STRING: - case IDENT: - case NUMBER: - case FUNCTION: - ; - break; - default: - jj_la1[60] = jj_gen; - break label_41; - } - } - jj_consume_token(SEMICOLON); - label_42: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[61] = jj_gen; - break label_42; - } - jj_consume_token(S); - } - documentHandler.microsoftDirective(name, value); - } + private boolean jj_3R_246() { + if (jj_3R_259()) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String property() throws ParseException { - Token t;String s = ""; - label_43: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[62] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[63] = jj_gen; - break label_43; - } - } - label_44: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[64] = jj_gen; - break label_44; - } - jj_consume_token(S); - } - {if (true) return s;} - throw new Error("Missing return statement in function"); - } - - final public String variableName() throws ParseException { - Token n; - n = jj_consume_token(VARIABLE); - label_45: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[65] = jj_gen; - break label_45; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(1));} - throw new Error("Missing return statement in function"); - } - - final public String functionName() throws ParseException { - Token n; - n = jj_consume_token(FUNCTION); - label_46: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[66] = jj_gen; - break label_46; - } - jj_consume_token(S); - } - {if (true) return convertIdent(n.image.substring(0, n.image.length()-1));} - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_296() { + if (jj_3R_218()) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public void styleRule() throws ParseException { - boolean start = false; - ArrayList l = null; - Token save; - Locator loc; - try { - l = selectorList(); - save = token; - jj_consume_token(LBRACE); - label_47: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[67] = jj_gen; - break label_47; - } - jj_consume_token(S); - } - start = true; - documentHandler.startSelector(l); - label_48: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case MICROSOFT_RULE: - case IDENT: - case VARIABLE: - case HASH: - case IMPORT_SYM: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[68] = jj_gen; - break label_48; + private boolean jj_3R_245() { + if (jj_3R_258()) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case EACH_SYM: - case IF_SYM: - controlDirective(); - break; - case MICROSOFT_RULE: - microsoftExtension(); - break; - case IMPORT_SYM: - importDeclaration(); - break; - default: - jj_la1[69] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_49: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[70] = jj_gen; - break label_49; - } - jj_consume_token(S); - } - } catch (ThrowedParseException e) { - if (errorHandler != null) { - LocatorImpl li = new LocatorImpl(this, - e.e.currentToken.next.beginLine, - e.e.currentToken.next.beginColumn-1); - reportError(li, e.e); - } - } catch (ParseException e) { - reportError(getLocator(), e); - skipStatement(); - // reportWarningSkipText(getLocator(), skipStatement()); - - } catch (TokenMgrError e) { - reportWarningSkipText(getLocator(), skipStatement()); - } finally { - if (start) { - documentHandler.endSelector(); - } - } - } - - final public ArrayList selectorList() throws ParseException { - ArrayList selectors = new ArrayList(); - String selector; - selector = selector(); - label_50: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[71] = jj_gen; - break label_50; - } - jj_consume_token(COMMA); - label_51: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[72] = jj_gen; - break label_51; + return false; + } + + private boolean jj_3R_244() { + if (jj_3R_257()) { + return true; + } + return false; + } + + private boolean jj_3_5() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_179()) { + jj_scanpos = xsp; + } + if (jj_3R_180()) { + return true; + } + return false; + } + + private boolean jj_3R_217() { + if (jj_scan_token(DOT)) { + return true; + } + Token xsp; + if (jj_3R_280()) { + return true; + } + while (true) { + xsp = jj_scanpos; + if (jj_3R_280()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_294() { + if (jj_3R_217()) { + return true; + } + return false; + } + + private boolean jj_3R_289() { + if (jj_3R_217()) { + return true; + } + return false; + } + + private boolean jj_3R_291() { + if (jj_3R_218()) { + return true; + } + return false; + } + + private boolean jj_3R_279() { + if (jj_3R_218()) { + return true; + } + return false; + } + + private boolean jj_3R_282() { + if (jj_3R_217()) { + return true; + } + return false; + } + + private boolean jj_3R_284() { + if (jj_3R_218()) { + return true; + } + return false; + } + + private boolean jj_3R_295() { + if (jj_3R_219()) { + return true; + } + return false; + } + + private boolean jj_3R_272() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_293()) { + jj_scanpos = xsp; + if (jj_3R_294()) { + jj_scanpos = xsp; + if (jj_3R_295()) { + jj_scanpos = xsp; + if (jj_3R_296()) { + return true; + } + } + } + } + return false; + } + + private boolean jj_3R_293() { + if (jj_3R_216()) { + return true; + } + return false; + } + + private boolean jj_3R_271() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_288()) { + jj_scanpos = xsp; + 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_288() { + if (jj_3R_216()) { + return true; + } + return false; + } + + private boolean jj_3R_276() { + if (jj_3R_218()) { + return true; + } + return false; + } + + private boolean jj_3R_270() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_281()) { + jj_scanpos = xsp; + if (jj_3R_282()) { + jj_scanpos = xsp; + if (jj_3R_283()) { + jj_scanpos = xsp; + if (jj_3R_284()) { + return true; + } + } + } + } + return false; + } + + private boolean jj_3R_281() { + if (jj_3R_216()) { + return true; + } + return false; + } + + private boolean jj_3R_290() { + if (jj_3R_219()) { + return true; } - jj_consume_token(S); - } - selectors.add(selector); - selector = selector(); + return false; } - selectors.add(selector); - {if (true) return selectors;} - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public String selector() throws ParseException { - String selector = null; - char comb; - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - selector = simple_selector(null, ' '); - break; - case PLUS: - case PRECEDES: - case SIBLING: - comb = combinatorChar(); - selector = simple_selector(selector, comb); - break; - default: - jj_la1[73] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_52: - while (true) { - if (jj_2_2(2)) { - ; - } else { - break label_52; - } - comb = combinator(); - selector = simple_selector(selector, comb); - } - label_53: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[74] = jj_gen; - break label_53; - } - jj_consume_token(S); - } - {if (true) return selector;} - } catch (ParseException e) { - /* - Token t = getToken(1); - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - s.append(t.image); - getNextToken(); - t = getToken(1); - } - reportWarningSkipText(getLocator(), s.toString()); - */ - Token t = getToken(1); - while ((t.kind != COMMA) && (t.kind != SEMICOLON) - && (t.kind != LBRACE) && (t.kind != EOF)) { - getNextToken(); - t = getToken(1); - } + private boolean jj_3R_278() { + if (jj_3R_219()) { + return true; + } + return false; + } - {if (true) throw new ThrowedParseException(e);} + private boolean jj_3R_283() { + if (jj_3R_219()) { + return true; + } + return false; } - throw new Error("Missing return statement in function"); - } -/** - * @exception ParseException exception during the parse - */ - final public String simple_selector(String selector, char comb) throws ParseException { - String simple_current = null; - String cond = null; - - pseudoElt = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ANY: - case PARENT: - case INTERPOLATION: - case IDENT: - simple_current = element_name(); - label_54: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[75] = jj_gen; - break label_54; + private boolean jj_3R_269() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_277()) { + jj_scanpos = xsp; + if (jj_3R_278()) { + jj_scanpos = xsp; + if (jj_3R_279()) { + return true; + } + } } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[76] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case HASH: - cond = hash(cond); - label_55: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - ; - break; - default: - jj_la1[77] = jj_gen; - break label_55; + return false; + } + + private boolean jj_3R_274() { + if (jj_3R_217()) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[78] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case DOT: - cond = _class(cond); - label_56: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[79] = jj_gen; - break label_56; + return false; + } + + private boolean jj_3R_277() { + if (jj_3R_217()) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[80] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case COLON: - cond = pseudo(cond); - label_57: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[81] = jj_gen; - break label_57; + return false; + } + + private boolean jj_3R_256() { + if (jj_scan_token(DOT)) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[82] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - case LBRACKET: - cond = attrib(cond); - label_58: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case LBRACKET: - case DOT: - case COLON: - case HASH: - ; - break; - default: - jj_la1[83] = jj_gen; - break label_58; + return false; + } + + private boolean jj_3R_243() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_256()) { + jj_scanpos = xsp; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case HASH: - cond = hash(cond); - break; - case DOT: - cond = _class(cond); - break; - case LBRACKET: - cond = attrib(cond); - break; - case COLON: - cond = pseudo(cond); - break; - default: - jj_la1[84] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - break; - default: - jj_la1[85] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - if (simple_current == null) { - simple_current = ""; - } - if (cond != null) { - simple_current = simple_current + cond; - } - StringBuilder builder = new StringBuilder(); - switch (comb) { - case ' ': - if(selector!=null){ - builder.append(selector).append(" "); - } - break; - case '+': - case '>': - case '~': - if(selector!=null){ - builder.append(selector).append(" "); + xsp = jj_scanpos; + if (jj_scan_token(72)) { + jj_scanpos = xsp; + if (jj_scan_token(49)) { + jj_scanpos = xsp; + if (jj_scan_token(50)) { + jj_scanpos = xsp; + if (jj_scan_token(52)) { + return true; } - builder.append(comb).append(" "); - break; - default: - {if (true) throw new ParseException("invalid state. send a bug report");} + } } - builder.append(simple_current); - selector = builder.toString(); + } + return false; + } - if (pseudoElt != null) { - selector = selector + pseudoElt; + private boolean jj_3R_195() { + if (jj_3R_219()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_272()) { + jj_scanpos = xsp; + break; } - {if (true) return selector;} - throw new Error("Missing return statement in function"); - } - -/** - * @exception ParseException exception during the parse - */ - final public String _class(String pred) throws ParseException { - Token t; -String s = "."; - jj_consume_token(DOT); - label_59: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[86] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[87] = jj_gen; - break label_59; - } - } - if (pred == null) { - {if (true) return s;} - } else { - {if (true) return pred + s;} - } - throw new Error("Missing return statement in function"); - } + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String element_name() throws ParseException { - Token t; String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - label_60: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - t = jj_consume_token(IDENT); - s += t.image; - break; - case INTERPOLATION: - t = jj_consume_token(INTERPOLATION); - s += t.image; - break; - default: - jj_la1[88] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); + private boolean jj_3R_242() { + if (jj_scan_token(STRING)) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - ; - break; - default: - jj_la1[89] = jj_gen; - break label_60; - } - } - {if (true) return s;} - break; - case ANY: - jj_consume_token(ANY); - {if (true) return "*";} - break; - case PARENT: - jj_consume_token(PARENT); - {if (true) return "&";} - break; - default: - jj_la1[90] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String attrib(String pred) throws ParseException { - int cases = 0; - Token att = null; - Token val = null; - String attValue = null; - jj_consume_token(LBRACKET); - label_61: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[91] = jj_gen; - break label_61; - } - jj_consume_token(S); - } - att = jj_consume_token(IDENT); - label_62: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[92] = jj_gen; - break label_62; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DASHMATCH: - case CARETMATCH: - case DOLLARMATCH: - case STARMATCH: - case INCLUDES: - case EQ: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case EQ: - jj_consume_token(EQ); - cases = 1; - break; - case INCLUDES: - jj_consume_token(INCLUDES); - cases = 2; - break; - case DASHMATCH: - jj_consume_token(DASHMATCH); - cases = 3; - break; - case CARETMATCH: - jj_consume_token(CARETMATCH); - cases = 4; - break; - case DOLLARMATCH: - jj_consume_token(DOLLARMATCH); - cases = 5; - break; - case STARMATCH: - jj_consume_token(STARMATCH); - cases = 6; - break; - default: - jj_la1[93] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_63: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[94] = jj_gen; - break label_63; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - val = jj_consume_token(IDENT); - attValue = val.image; - break; - case STRING: - val = jj_consume_token(STRING); - attValue = val.image; - break; - default: - jj_la1[95] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_64: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[96] = jj_gen; - break label_64; - } - jj_consume_token(S); - } - break; - default: - jj_la1[97] = jj_gen; - ; - } - jj_consume_token(RBRACKET); - String name = convertIdent(att.image); - String c; - switch (cases) { - case 0: - c = name; - break; - case 1: - c = name + "=" + attValue; - break; - case 2: - c = name + "~=" + attValue; - break; - case 3: - c = name + "|=" +attValue; - break; - case 4: - c = name + "^=" +attValue; - break; - case 5: - c = name + "$=" +attValue; - break; - case 6: - c = name + "*=" +attValue; - break; - default: - // never reached. - c = null; - } - c = "[" + c + "]"; - if (pred == null) { - {if (true) return c;} - } else { - {if (true) return pred + c;} - } - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_241() { + if (jj_3R_255()) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String pseudo(String pred) throws ParseException { - Token n; -Token param; -String d; -boolean isPseudoElement = false; - jj_consume_token(COLON); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - isPseudoElement=true; - break; - default: - jj_la1[98] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - String s = ":" + convertIdent(n.image); - if (isPseudoElement) { - if (pseudoElt != null) { - {if (true) throw new CSSParseException("duplicate pseudo element definition " - + s, getLocator());} - } else { - pseudoElt = ":"+s; - {if (true) return pred;} - } - } else { - String c = s; - if (pred == null) { - {if (true) return c;} - } else { - {if (true) return pred + c;} + private boolean jj_3R_194() { + if (jj_3R_218()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_271()) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + private boolean jj_3R_198() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_242()) { + jj_scanpos = xsp; + if (jj_3R_243()) { + jj_scanpos = xsp; + if (jj_3R_244()) { + jj_scanpos = xsp; + if (jj_3R_245()) { + jj_scanpos = xsp; + if (jj_3R_246()) { + return true; + } + } } } - break; - case FUNCTION: - n = jj_consume_token(FUNCTION); - label_65: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[99] = jj_gen; - break label_65; - } - jj_consume_token(S); - } - d = skipStatementUntilRightParan(); - jj_consume_token(RPARAN); - // accept anything between function and a right parenthesis - String f = convertIdent(n.image); - String colons = isPseudoElement ? "::" : ":"; - String pseudofn = colons + f + d + ")"; - if (pred == null) { - {if (true) return pseudofn;} - } else { - {if (true) return pred + pseudofn;} - } - break; - default: - jj_la1[100] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public String hash(String pred) throws ParseException { - Token n; - n = jj_consume_token(HASH); - String d = n.image; - if (pred == null) { - {if (true) return d;} - } else { - {if (true) return pred + d;} - } - throw new Error("Missing return statement in function"); - } - - final public void variable() throws ParseException { - String name; - LexicalUnitImpl exp = null; - boolean guarded = false; - String raw; - try { - name = variableName(); - jj_consume_token(COLON); - label_66: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[101] = jj_gen; - break label_66; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case GUARDED_SYM: - guarded = guarded(); - break; - default: - jj_la1[102] = jj_gen; - ; - } - label_67: - while (true) { - jj_consume_token(SEMICOLON); - label_68: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[103] = jj_gen; - break label_68; - } - jj_consume_token(S); + private boolean jj_3R_275() { + if (jj_3R_219()) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[104] = jj_gen; - break label_67; + return false; + } + + private boolean jj_3R_193() { + if (jj_3R_217()) { + return true; } - } - documentHandler.variable(name, exp, guarded); - } catch (JumpException e) { - skipAfterExpression(); - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_270()) { + jj_scanpos = xsp; + break; } - skipAfterExpression(); - } else { - skipAfterExpression(); + } + return false; + } + + private boolean jj_3R_192() { + if (jj_3R_216()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_269()) { + jj_scanpos = xsp; + break; } + } + return false; } - } - - final public void controlDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF_SYM: - ifDirective(); - break; - case EACH_SYM: - eachDirective(); - break; - default: - jj_la1[105] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void ifContentStatement() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case CONTENT_SYM: - contentDirective(); - break; - case INCLUDE_SYM: - includeDirective(); - break; - case MEDIA_SYM: - media(); - break; - case EXTEND_SYM: - extendDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - styleRuleOrDeclarationOrNestedProperties(); - break; - case KEY_FRAME_SYM: - keyframes(); - break; - default: - jj_la1[106] = jj_gen; - if (jj_2_3(2147483647)) { - variable(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - listModifyDirective(); - break; - default: - jj_la1[107] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } - - final public void ifDirective() throws ParseException { - Token n = null; - String s = null; - String evaluator = ""; - jj_consume_token(IF_SYM); - label_69: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case PLUS: - case MINUS: - case PRECEDES: - case SUCCEEDS: - case DIV: - case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: - case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[108] = jj_gen; - break label_69; - } - } - jj_consume_token(LBRACE); - label_70: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[109] = jj_gen; - break label_70; - } - jj_consume_token(S); - } - documentHandler.startIfElseDirective(); - documentHandler.ifDirective(evaluator); - label_71: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[110] = jj_gen; - break label_71; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_72: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[111] = jj_gen; - break label_72; - } - jj_consume_token(S); - } - label_73: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case ELSE_SYM: - ; - break; - default: - jj_la1[112] = jj_gen; - break label_73; - } - elseDirective(); - } - documentHandler.endIfElseDirective(); - } - - final public void elseDirective() throws ParseException { - String evaluator = ""; - Token n = null; - String s = null; - jj_consume_token(ELSE_SYM); - label_74: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[113] = jj_gen; - break label_74; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IF: - jj_consume_token(IF); - label_75: - while (true) { - s = booleanExpressionToken(); - evaluator += s; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - case EQ: - case PLUS: - case MINUS: - case PRECEDES: - case SUCCEEDS: - case DIV: - case ANY: - case LPARAN: - case RPARAN: - case COMPARE: - case OR: - case AND: - case NOT_EQ: - case IDENT: - case NUMBER: - case VARIABLE: - case CONTAINS: - ; - break; - default: - jj_la1[114] = jj_gen; - break label_75; - } - } - break; - default: - jj_la1[115] = jj_gen; - ; - } - jj_consume_token(LBRACE); - label_76: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[116] = jj_gen; - break label_76; - } - jj_consume_token(S); - } - if(!evaluator.trim().equals("")){ documentHandler.ifDirective(evaluator); } - else{ documentHandler.elseDirective(); } - label_77: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[117] = jj_gen; - break label_77; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_78: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[118] = jj_gen; - break label_78; - } - jj_consume_token(S); - } - } - - final public String booleanExpressionToken() throws ParseException { - Token n = null; - String s = null; - if (jj_2_4(2147483647)) { - s = containsDirective(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - break; - case IDENT: - n = jj_consume_token(IDENT); - break; - case NUMBER: - n = jj_consume_token(NUMBER); - break; - case LPARAN: - n = jj_consume_token(LPARAN); - break; - case RPARAN: - n = jj_consume_token(RPARAN); - break; - case PLUS: - n = jj_consume_token(PLUS); - break; - case MINUS: - n = jj_consume_token(MINUS); - break; - case DIV: - n = jj_consume_token(DIV); - break; - case ANY: - n = jj_consume_token(ANY); - break; - case COMPARE: - n = jj_consume_token(COMPARE); - break; - case EQ: - n = jj_consume_token(EQ); - break; - case PRECEDES: - n = jj_consume_token(PRECEDES); - break; - case SUCCEEDS: - n = jj_consume_token(SUCCEEDS); - break; - case OR: - n = jj_consume_token(OR); - break; - case AND: - n = jj_consume_token(AND); - break; - case S: - n = jj_consume_token(S); - break; - case NOT_EQ: - n = jj_consume_token(NOT_EQ); - break; - default: - jj_la1[119] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - if(n!=null){{if (true) return n.image;}} - else{{if (true) return s;}} - throw new Error("Missing return statement in function"); - } - - final public void eachDirective() throws ParseException { - Token var; - ArrayList list = null; - String listVariable = null; - jj_consume_token(EACH_SYM); - label_79: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[120] = jj_gen; - break label_79; - } - jj_consume_token(S); - } - var = jj_consume_token(VARIABLE); - label_80: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[121] = jj_gen; - break label_80; - } - jj_consume_token(S); - } - jj_consume_token(EACH_IN); - label_81: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[122] = jj_gen; - break label_81; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - list = stringList(); - documentHandler.startEachDirective(var.image, list); - break; - case VARIABLE: - listVariable = variableName(); - documentHandler.startEachDirective(var.image, listVariable); - break; - default: - jj_la1[123] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_82: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[124] = jj_gen; - break label_82; - } - jj_consume_token(S); - } - label_83: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[125] = jj_gen; - break label_83; - } - ifContentStatement(); - } - jj_consume_token(RBRACE); - label_84: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[126] = jj_gen; - break label_84; - } - jj_consume_token(S); - } - documentHandler.endEachDirective(); - } - - final public ArrayList stringList() throws ParseException { - ArrayList strings = new ArrayList(); - Token input; - input = jj_consume_token(IDENT); - label_85: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[127] = jj_gen; - break label_85; - } - jj_consume_token(S); - } - strings.add(input.image); - label_86: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[128] = jj_gen; - break label_86; - } - jj_consume_token(COMMA); - label_87: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[129] = jj_gen; - break label_87; - } - jj_consume_token(S); - } - input = jj_consume_token(IDENT); - strings.add(input.image); - label_88: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[130] = jj_gen; - break label_88; - } - jj_consume_token(S); - } - } - {if (true) return strings;} - throw new Error("Missing return statement in function"); - } - - final public void mixinDirective() throws ParseException { - String name; - ArrayList args = null; - String body; - jj_consume_token(MIXIN_SYM); - label_89: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[131] = jj_gen; - break label_89; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case FUNCTION: - name = functionName(); - args = arglist(); - jj_consume_token(RPARAN); - label_90: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[132] = jj_gen; - break label_90; - } - jj_consume_token(S); - } - break; - default: - jj_la1[133] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(LBRACE); - label_91: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[134] = jj_gen; - break label_91; - } - jj_consume_token(S); - } - documentHandler.startMixinDirective(name, args); - label_92: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EACH_SYM: - case IF_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case PAGE_SYM: - case FONT_FACE_SYM: - case KEY_FRAME_SYM: - ; - break; - default: - jj_la1[135] = jj_gen; - break label_92; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case INCLUDE_SYM: - case DEBUG_SYM: - case WARN_SYM: - case EXTEND_SYM: - case CONTENT_SYM: - case IDENT: - case VARIABLE: - case HASH: - case MEDIA_SYM: - case KEY_FRAME_SYM: - ifContentStatement(); - break; - case EACH_SYM: - case IF_SYM: - controlDirective(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - case PAGE_SYM: - page(); - break; - default: - jj_la1[136] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(RBRACE); - label_93: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[137] = jj_gen; - break label_93; - } - jj_consume_token(S); - } - documentHandler.endMixinDirective(name, args); - } - - final public ArrayList arglist() throws ParseException { - ArrayList args = new ArrayList(); - VariableNode arg; - boolean hasNonOptionalArgument = false; - arg = mixinArg(); - label_94: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[138] = jj_gen; - break label_94; - } - jj_consume_token(COMMA); - label_95: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[139] = jj_gen; - break label_95; + + private boolean jj_3R_268() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_273()) { + jj_scanpos = xsp; + if (jj_3R_274()) { + jj_scanpos = xsp; + if (jj_3R_275()) { + jj_scanpos = xsp; + if (jj_3R_276()) { + return true; + } + } + } } - jj_consume_token(S); - } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - arg = mixinArg(); + return false; } - hasNonOptionalArgument = checkMixinForNonOptionalArguments(arg, hasNonOptionalArgument); args.add(arg); - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - boolean checkMixinForNonOptionalArguments(VariableNode arg, boolean hasNonOptionalArguments) throws ParseException { - boolean currentArgHasArguments = arg.getExpr() != null && arg.getExpr().getLexicalUnitType() == LexicalUnitImpl.SCSS_VARIABLE && arg.getExpr().getNextLexicalUnit() != null; + private boolean jj_3R_273() { + if (jj_3R_216()) { + return true; + } + return false; + } - if(currentArgHasArguments) - { - if(hasNonOptionalArguments) - { - throw new ParseException("Sass Error: Required argument $"+ arg.getName() +" must come before any optional arguments."); - } - return hasNonOptionalArguments; - }else - { - return true; - } - } - - final public VariableNode mixinArg() throws ParseException { - String name; - Token variable = null; - LexicalUnitImpl first = null; - LexicalUnitImpl prev = null; - LexicalUnitImpl next = null; - name = variableName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - case VARIABLE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_96: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[140] = jj_gen; - break label_96; - } - jj_consume_token(S); + private boolean jj_3R_191() { + if (jj_3R_215()) { + return true; } - first = nonVariableTerm(null); - prev = first; - label_97: + Token xsp; while (true) { - if (jj_2_5(3)) { - ; - } else { - break label_97; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_98: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; + xsp = jj_scanpos; + if (jj_3R_268()) { + jj_scanpos = xsp; break; - default: - jj_la1[141] = jj_gen; - break label_98; - } - jj_consume_token(S); } - break; - default: - jj_la1[142] = jj_gen; - ; - } - prev = nonVariableTerm(prev); - } - break; - case VARIABLE: - variable = jj_consume_token(VARIABLE); - first = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, variable.image); - break; - default: - jj_la1[143] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[144] = jj_gen; - ; - } - VariableNode arg = new VariableNode(name, first, false); - {if (true) return arg;} - throw new Error("Missing return statement in function"); - } - - final public ArrayList argValuelist() throws ParseException { - ArrayList args = new ArrayList(); - LexicalUnitImpl first = null; - LexicalUnitImpl next = null; - LexicalUnitImpl prev = null; - first = term(null); - args.add(first); prev = first; - label_99: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case COLON: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - ; - break; - default: - jj_la1[145] = jj_gen; - break label_99; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_100: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[146] = jj_gen; - break label_100; - } - jj_consume_token(S); - } - break; - default: - jj_la1[147] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - label_101: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - ; - break; - default: - jj_la1[148] = jj_gen; - break label_101; - } - jj_consume_token(COMMA); - label_102: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[149] = jj_gen; - break label_102; - } - jj_consume_token(S); - } - first = term(null); - args.add(first); prev = first; - label_103: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case COLON: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - ; - break; - default: - jj_la1[150] = jj_gen; - break label_103; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COLON: - jj_consume_token(COLON); - label_104: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[151] = jj_gen; - break label_104; + return false; + } + + private boolean jj_3R_177() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_191()) { + jj_scanpos = xsp; + if (jj_3R_192()) { + jj_scanpos = xsp; + if (jj_3R_193()) { + jj_scanpos = xsp; + if (jj_3R_194()) { + jj_scanpos = xsp; + if (jj_3R_195()) { + return true; + } + } + } } - jj_consume_token(S); - } - break; - default: - jj_la1[152] = jj_gen; - ; - } - next = term(prev); - prev.setNextLexicalUnit(next); prev = next; - } - } - {if (true) return args;} - throw new Error("Missing return statement in function"); - } - - final public void includeDirective() throws ParseException { - String name; - ArrayList args=null; - jj_consume_token(INCLUDE_SYM); - label_105: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[153] = jj_gen; - break label_105; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - name = property(); - break; - case VARIABLE: - name = variableName(); - name = "$"+name; - break; - case FUNCTION: - name = functionName(); - args = argValuelist(); - jj_consume_token(RPARAN); - break; - default: - jj_la1[154] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - label_106: - while (true) { - jj_consume_token(SEMICOLON); - label_107: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[155] = jj_gen; - break label_107; - } - jj_consume_token(S); } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[156] = jj_gen; - break label_106; + return false; + } + + private boolean jj_3R_240() { + if (jj_scan_token(DIMEN)) { + return true; } - } - documentHandler.includeDirective(name, args); - break; - case LBRACE: - jj_consume_token(LBRACE); - label_108: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[157] = jj_gen; - break label_108; - } - jj_consume_token(S); - } - documentHandler.startIncludeContentBlock(name); - label_109: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case DEBUG_SYM: - case WARN_SYM: - case IDENT: - case HASH: - ; - break; - default: - jj_la1[158] = jj_gen; - break label_109; - } - styleRuleOrDeclarationOrNestedProperties(); - } - jj_consume_token(RBRACE); - label_110: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[159] = jj_gen; - break label_110; - } - jj_consume_token(S); - } - documentHandler.endIncludeContentBlock(); - break; - default: - jj_la1[160] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public String interpolation() throws ParseException { - Token n; - n = jj_consume_token(INTERPOLATION); - {if (true) return n.image;} - throw new Error("Missing return statement in function"); - } - - final public void listModifyDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - Token type = null; - //refactor, remove those 3 LOOKAHEAD(5). - n = jj_consume_token(VARIABLE); - variable = n.image; - label_111: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[161] = jj_gen; - break label_111; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_112: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[162] = jj_gen; - break label_112; - } - jj_consume_token(S); - } - 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[163] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_113: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[164] = jj_gen; - break label_113; - } - 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[165] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_114: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[166] = jj_gen; - break label_114; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_115: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[167] = jj_gen; - break label_115; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_116: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[168] = jj_gen; - break label_116; - } - jj_consume_token(S); - } - break; - default: - jj_la1[169] = 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_117: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[170] = jj_gen; - break label_117; - } - jj_consume_token(S); - } - jj_consume_token(SEMICOLON); - label_118: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[171] = jj_gen; - break label_118; - } - jj_consume_token(S); - } - } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public void appendDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - n = jj_consume_token(VARIABLE); - variable = n.image; - label_119: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[172] = jj_gen; - break label_119; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_120: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[173] = jj_gen; - break label_120; - } - jj_consume_token(S); - } - jj_consume_token(APPEND); - label_121: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[174] = jj_gen; - break label_121; - } - jj_consume_token(S); - } - list = listModifyDirectiveArgs(0); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case RPARAN: - jj_consume_token(RPARAN); - break; - default: - jj_la1[175] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_122: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[176] = jj_gen; - break label_122; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_123: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[177] = jj_gen; - break label_123; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_124: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[178] = jj_gen; - break label_124; + private boolean jj_3R_248() { + if (jj_3R_213()) { + return true; + } + if (jj_3R_177()) { + return true; } - jj_consume_token(S); - } - break; - default: - jj_la1[179] = jj_gen; - ; + return false; } - jj_consume_token(RPARAN); - documentHandler.appendDirective(variable,list,remove,separator); - } -/** - * @exception ParseException exception during the parse - */ - final public void removeDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - n = jj_consume_token(VARIABLE); - variable = n.image; - label_125: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[180] = jj_gen; - break label_125; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_126: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[181] = jj_gen; - break label_126; - } - jj_consume_token(S); - } - jj_consume_token(REMOVE); - label_127: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[182] = jj_gen; - break label_127; - } - 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[183] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_128: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[184] = jj_gen; - break label_128; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_129: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[185] = jj_gen; - break label_129; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_130: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[186] = jj_gen; - break label_130; + private boolean jj_3R_239() { + if (jj_scan_token(KHZ)) { + return true; } - jj_consume_token(S); - } - break; - default: - jj_la1[187] = jj_gen; - ; + return false; } - jj_consume_token(RPARAN); - documentHandler.removeDirective(variable,list,remove,separator); - } -/** - * @exception ParseException exception during the parse - */ - final public String containsDirective() throws ParseException { - String list = null; - String remove = null; - String separator = null; - String variable = null; - Token n = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case VARIABLE: - n = jj_consume_token(VARIABLE); - variable = n.image; - label_131: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[188] = jj_gen; - break label_131; - } - jj_consume_token(S); - } - jj_consume_token(COLON); - label_132: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[189] = jj_gen; - break label_132; - } - jj_consume_token(S); - } - break; - default: - jj_la1[190] = jj_gen; - ; - } - jj_consume_token(CONTAINS); - label_133: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[191] = jj_gen; - break label_133; - } - 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[192] = jj_gen; - ; - } - jj_consume_token(COMMA); - label_134: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[193] = jj_gen; - break label_134; - } - jj_consume_token(S); - } - remove = listModifyDirectiveArgs(1); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - jj_consume_token(COMMA); - label_135: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[194] = jj_gen; - break label_135; - } - jj_consume_token(S); - } - n = jj_consume_token(IDENT); - separator = n.image; - label_136: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[195] = jj_gen; - break label_136; - } - jj_consume_token(S); - } - break; - default: - jj_la1[196] = jj_gen; - ; - } - jj_consume_token(RPARAN); - /* - *if it is not in the form like "$contains : contains($items, .v-button);" - *for example in @if, like "@if (contains(a b c, b))", then create a temp - *variable for contains(a b c, b); - */ - if(variable == null){ - variable = "$var_"+UUID.randomUUID(); - } - documentHandler.containsDirective(variable,list,remove,separator); - {if (true) return variable;} - throw new Error("Missing return statement in function"); - } - - String listModifyDirectiveArgs(int nest) throws ParseException { - String list = ""; - int nesting = nest; - Token t = null; + private boolean jj_3R_238() { + if (jj_scan_token(HZ)) { + return true; + } + return false; + } - while(true) - { - t = getToken(1); - String s = t.image; - if(t.kind == VARIABLE||t.kind == IDENT) - { - list += s; - }else if(s.toLowerCase().equals("auto")||s.toLowerCase().equals("space")||s.toLowerCase().equals("comma")) - { - int i = 2; - Token temp = getToken(i); - boolean isLast = true; - while(temp.kind != SEMICOLON) - { - if(temp.kind != RPARAN || temp.kind != S) - { - isLast = false; - } - i++; - temp = getToken(i); - } + private boolean jj_3R_237() { + if (jj_scan_token(MS)) { + return true; + } + return false; + } - if(isLast) - { - return list; - } - } - else if(t.kind == STRING) - { - list += s.substring(1,s.length()).substring(0,s.length()-2); + private boolean jj_3R_236() { + if (jj_scan_token(SECOND)) { + return true; + } + return false; + } - }else if(t.kind == LPARAN) - { - nesting++; - if(nesting > nest+1) - { - throw new CSSParseException("Only one ( ) pair per parameter allowed", getLocator()); - } - }else if(t.kind == RPARAN) - { - nesting--; - if(nesting == 0) - { - return list; - } - } else if(t.kind == COMMA) - { - if(nesting == nest) - { - return list; - }else - { - list += ","; - } + private boolean jj_3R_235() { + if (jj_scan_token(GRAD)) { + return true; + } + return false; + } - }else if(t.kind == S) - { - list += " "; - } else if(t.kind == LBRACE) - { - throw new CSSParseException("Invalid token,'{' found", getLocator()); - } + private boolean jj_3R_234() { + if (jj_scan_token(RAD)) { + return true; + } + return false; + } - getNextToken(); + private boolean jj_3R_233() { + if (jj_scan_token(DEG)) { + return true; } - } - - final public Node returnDirective() throws ParseException { - String raw; - raw = skipStatement(); - {if (true) return null;} - throw new Error("Missing return statement in function"); - } - - final public void debuggingDirective() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - debugDirective(); - break; - case WARN_SYM: - warnDirective(); - break; - default: - jj_la1[197] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void debugDirective() throws ParseException { - jj_consume_token(DEBUG_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.debugDirective() etc. - System.out.println(content); - label_137: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[198] = jj_gen; - break label_137; - } - jj_consume_token(S); - } - } - - final public void warnDirective() throws ParseException { - jj_consume_token(WARN_SYM); - String content = skipStatementUntilSemiColon(); - // TODO should evaluate the content expression, call documentHandler.warnDirective() etc. - System.err.println(content); - label_138: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[199] = jj_gen; - break label_138; - } - jj_consume_token(S); - } - } - - final public Node forDirective() throws ParseException { - String var; - String from; - String to; - boolean exclusive; - String body; - Token tok; - var = variableName(); - int[] toThrough = {TO, THROUGH}; - from = skipStatementUntil(toThrough); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case TO: - tok = jj_consume_token(TO); - exclusive = true; - break; - case THROUGH: - tok = jj_consume_token(THROUGH); - exclusive = false; - break; - default: - jj_la1[200] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - to = skipStatementUntilLeftBrace(); - label_139: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[201] = jj_gen; - break label_139; - } - jj_consume_token(S); - } - body = skipStatement(); - {if (true) return documentHandler.forDirective(var, from, to, exclusive, body);} - throw new Error("Missing return statement in function"); - } - - final public Node whileDirective() throws ParseException { - String condition; - String body; - condition = skipStatementUntilLeftBrace(); - body = skipStatement(); - {if (true) return documentHandler.whileDirective(condition, body);} - throw new Error("Missing return statement in function"); - } - - final public void extendDirective() throws ParseException { - ArrayList list; - jj_consume_token(EXTEND_SYM); - label_140: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[202] = jj_gen; - break label_140; - } - jj_consume_token(S); - } - list = selectorList(); - label_141: - while (true) { - jj_consume_token(SEMICOLON); - label_142: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[203] = jj_gen; - break label_142; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[204] = jj_gen; - break label_141; - } - } - documentHandler.extendDirective(list); - } - - final public void contentDirective() throws ParseException { - jj_consume_token(CONTENT_SYM); - label_143: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[205] = jj_gen; - break label_143; - } - jj_consume_token(S); - } - label_144: - while (true) { - jj_consume_token(SEMICOLON); - label_145: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[206] = jj_gen; - break label_145; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[207] = jj_gen; - break label_144; - } - } - documentHandler.contentDirective(); - } - - Node importDirective() throws ParseException { - return null; - } - - Node charsetDirective() throws ParseException { - return null; - } - - Node mozDocumentDirective() throws ParseException { - return null; - } - - Node supportsDirective() throws ParseException { - return null; - } - - final public void nestedProperties() throws ParseException { - String name; -LexicalUnit exp; - name = property(); - jj_consume_token(COLON); - label_146: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[208] = jj_gen; - break label_146; - } - jj_consume_token(S); - } - jj_consume_token(LBRACE); - label_147: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[209] = jj_gen; - break label_147; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[210] = jj_gen; - ; - } - label_148: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[211] = jj_gen; - break label_148; - } - jj_consume_token(SEMICOLON); - label_149: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[212] = jj_gen; - break label_149; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[213] = jj_gen; - ; - } - } - jj_consume_token(RBRACE); - documentHandler.endNestedProperties(name); - label_150: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[214] = jj_gen; - break label_150; - } - jj_consume_token(S); - } - } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public void styleRuleOrDeclarationOrNestedProperties() throws ParseException { - try { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - default: - jj_la1[215] = jj_gen; - if (jj_2_6(2147483647)) { - styleRule(); - } else if (jj_2_7(3)) { - declarationOrNestedProperties(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - default: - jj_la1[216] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } + private boolean jj_3R_232() { + if (jj_scan_token(EXS)) { + return true; + } + return false; } - } -/** - * @exception ParseException exception during the parse - */ - final public void declarationOrNestedProperties() throws ParseException { - boolean important = false; - String name; - LexicalUnitImpl exp; - Token save; - String comment = null; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_151: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[217] = jj_gen; - break label_151; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[218] = jj_gen; - ; - } - Token next = getToken(1); - if(next.kind == SEMICOLON || next.kind == RBRACE){ - while(next.kind == SEMICOLON){ - skipStatement(); - next = getToken(1); - } - if(token.specialToken!=null){ - documentHandler.property(name, exp, important, token.specialToken.image); - }else{ - documentHandler.property(name, exp, important, null); - } - } - break; - case LBRACE: - jj_consume_token(LBRACE); - label_152: + private boolean jj_3R_231() { + if (jj_scan_token(REM)) { + return true; + } + return false; + } + + private boolean jj_3R_230() { + if (jj_scan_token(LEM)) { + return true; + } + return false; + } + + private boolean jj_3R_229() { + if (jj_scan_token(EMS)) { + return true; + } + return false; + } + + private boolean jj_3_2() { + if (jj_3R_176()) { + return true; + } + if (jj_3R_177()) { + return true; + } + return false; + } + + private boolean jj_3R_228() { + if (jj_scan_token(PX)) { + return true; + } + return false; + } + + private boolean jj_3R_227() { + if (jj_scan_token(IN)) { + return true; + } + return false; + } + + private boolean jj_3R_200() { + if (jj_scan_token(COMMA)) { + return true; + } + Token xsp; while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[219] = jj_gen; - break label_152; - } - jj_consume_token(S); - } - documentHandler.startNestedProperties(name); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[220] = jj_gen; - ; + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + if (jj_3R_199()) { + return true; + } + return false; + } + + private boolean jj_3R_247() { + if (jj_3R_177()) { + return true; + } + return false; + } + + private boolean jj_3R_226() { + if (jj_scan_token(PC)) { + return true; + } + return false; + } + + private boolean jj_3R_225() { + if (jj_scan_token(MM)) { + return true; + } + return false; + } + + private boolean jj_3R_199() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_247()) { + jj_scanpos = xsp; + if (jj_3R_248()) { + return true; + } } - label_153: while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[221] = jj_gen; - break label_153; - } - jj_consume_token(SEMICOLON); - label_154: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[222] = jj_gen; - break label_154; + xsp = jj_scanpos; + if (jj_3_2()) { + jj_scanpos = xsp; + break; } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[223] = jj_gen; - ; - } } - jj_consume_token(RBRACE); - label_155: while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[224] = jj_gen; - break label_155; - } - jj_consume_token(S); - } - documentHandler.endNestedProperties(name); - break; - default: - jj_la1[225] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; } - } - -/** - * @exception ParseException exception during the parse - */ - final public void declaration() throws ParseException { - boolean important = false; - String name; - LexicalUnit exp; - Token save; - try { - name = property(); - save = token; - jj_consume_token(COLON); - label_156: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[226] = jj_gen; - break label_156; - } - jj_consume_token(S); - } - exp = expr(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORTANT_SYM: - important = prio(); - break; - default: - jj_la1[227] = jj_gen; - ; - } - documentHandler.property(name, exp, important); - } catch (JumpException e) { - skipAfterExpression(); - // reportWarningSkipText(getLocator(), skipAfterExpression()); - - } catch (NumberFormatException e) { - if (errorHandler != null) { - errorHandler.error(new CSSParseException("Invalid number " - + e.getMessage(), - getLocator(), - e)); - } - reportWarningSkipText(getLocator(), skipAfterExpression()); - } catch (ParseException e) { - if (errorHandler != null) { - if (e.currentToken != null) { - LocatorImpl li = new LocatorImpl(this, - e.currentToken.next.beginLine, - e.currentToken.next.beginColumn-1); - reportError(li, e); - } else { - reportError(getLocator(), e); - } - skipAfterExpression(); - /* - LocatorImpl loc = (LocatorImpl) getLocator(); - loc.column--; - reportWarningSkipText(loc, skipAfterExpression()); - */ - } else { - skipAfterExpression(); - } - } - } -/** - * @exception ParseException exception during the parse - */ - final public boolean prio() throws ParseException { - jj_consume_token(IMPORTANT_SYM); - label_157: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[228] = jj_gen; - break label_157; - } - jj_consume_token(S); - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - - final public boolean guarded() throws ParseException { - jj_consume_token(GUARDED_SYM); - label_158: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[229] = jj_gen; - break label_158; - } - jj_consume_token(S); - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_224() { + if (jj_scan_token(CM)) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl operator(LexicalUnitImpl prev) throws ParseException { - Token n; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case COMMA: - /* (comments copied from basic_arithmetics.scss) - *supports: - * 1. standard arithmetic operations (+, -, *, /, %) - * 2. / is treated as css operator, unless one of its operands is variable or there is another binary arithmetic operator - *limits: - * 1. cannot mix arithmetic and css operations, e.g. "margin: 1px + 3px 2px" will fail - * 2. space between add and minus operator and their following operand is mandatory. e.g. "1 + 2" is valid, "1+2" is not - * 3. parenthesis is not supported now. - */ - n = jj_consume_token(COMMA); - label_159: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[230] = jj_gen; - break label_159; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createComma(n.beginLine, - n.beginColumn, - prev);} - break; - case DIV: - n = jj_consume_token(DIV); - label_160: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[231] = jj_gen; - break label_160; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createSlash(n.beginLine, - n.beginColumn, - prev);} - break; - case ANY: - n = jj_consume_token(ANY); - label_161: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[232] = jj_gen; - break label_161; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createMultiply(n.beginLine, - n.beginColumn, - prev);} - break; - case MOD: - n = jj_consume_token(MOD); - label_162: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[233] = jj_gen; - break label_162; - } - jj_consume_token(S); - } - {if (true) return LexicalUnitImpl.createModulo(n.beginLine, - n.beginColumn, - prev);} - break; - case PLUS: - n = jj_consume_token(PLUS); - label_163: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[234] = jj_gen; - break label_163; - } - } - {if (true) return LexicalUnitImpl.createAdd(n.beginLine, - n.beginColumn, - prev);} - break; - case MINUS: - n = jj_consume_token(MINUS); - label_164: - while (true) { - jj_consume_token(S); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[235] = jj_gen; - break label_164; - } - } - {if (true) return LexicalUnitImpl.createMinus(n.beginLine, - n.beginColumn, - prev);} - break; - default: - jj_la1[236] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_223() { + if (jj_scan_token(PT)) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl expr() throws ParseException { - LexicalUnitImpl first, res; - char op; - first = term(null); - res = first; - label_165: - while (true) { - if (jj_2_8(2)) { - ; - } else { - break label_165; - } - if (jj_2_9(2)) { - res = operator(res); - } else { - ; - } - res = term(res); - } - {if (true) return first;} - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_222() { + if (jj_scan_token(PERCENTAGE)) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public char unaryOperator() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case MINUS: - jj_consume_token(MINUS); - {if (true) return '-';} - break; - case PLUS: - jj_consume_token(PLUS); - {if (true) return '+';} - break; - default: - jj_la1[237] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } + private boolean jj_3R_205() { + if (jj_3R_250()) { + return true; + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl term(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - result = nonVariableTerm(prev); - break; - case VARIABLE: - result = variableTerm(prev); - break; - default: - jj_la1[238] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl variableTerm(LexicalUnitImpl prev) throws ParseException { - LexicalUnitImpl result = null; - String varName = ""; - varName = variableName(); - result = LexicalUnitImpl.createVariable(token.beginLine, token.beginColumn, - prev, varName); {if (true) return result;} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl nonVariableTerm(LexicalUnitImpl prev) throws ParseException { -LexicalUnitImpl result = null; - Token n = null; - char op = ' '; - String varName; - String s = ""; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case NUMBER: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case FUNCTION: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - op = unaryOperator(); - break; - default: - jj_la1[239] = jj_gen; - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case NUMBER: - n = jj_consume_token(NUMBER); - result = LexicalUnitImpl.createNumber(n.beginLine, n.beginColumn, - prev, number(op, n, 0)); - break; - case PERCENTAGE: - n = jj_consume_token(PERCENTAGE); - result = LexicalUnitImpl.createPercentage(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case PT: - n = jj_consume_token(PT); - result = LexicalUnitImpl.createPT(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case CM: - n = jj_consume_token(CM); - result = LexicalUnitImpl.createCM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case MM: - n = jj_consume_token(MM); - result = LexicalUnitImpl.createMM(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PC: - n = jj_consume_token(PC); - result = LexicalUnitImpl.createPC(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case IN: - n = jj_consume_token(IN); - result = LexicalUnitImpl.createIN(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case PX: - n = jj_consume_token(PX); - result = LexicalUnitImpl.createPX(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case EMS: - n = jj_consume_token(EMS); - result = LexicalUnitImpl.createEMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case LEM: - n = jj_consume_token(LEM); - result = LexicalUnitImpl.createLEM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case REM: - n = jj_consume_token(REM); - result = LexicalUnitImpl.createREM(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case EXS: - n = jj_consume_token(EXS); - result = LexicalUnitImpl.createEXS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case DEG: - n = jj_consume_token(DEG); - result = LexicalUnitImpl.createDEG(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case RAD: - n = jj_consume_token(RAD); - result = LexicalUnitImpl.createRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case GRAD: - n = jj_consume_token(GRAD); - result = LexicalUnitImpl.createGRAD(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case SECOND: - n = jj_consume_token(SECOND); - result = LexicalUnitImpl.createS(n.beginLine, n.beginColumn, - prev, number(op, n, 1)); - break; - case MS: - n = jj_consume_token(MS); - result = LexicalUnitImpl.createMS(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case HZ: - n = jj_consume_token(HZ); - result = LexicalUnitImpl.createHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 2)); - break; - case KHZ: - n = jj_consume_token(KHZ); - result = LexicalUnitImpl.createKHZ(n.beginLine, n.beginColumn, - prev, number(op, n, 3)); - break; - case DIMEN: - n = jj_consume_token(DIMEN); - s = n.image; - int i = 0; - while (i < s.length() - && (Character.isDigit(s.charAt(i)) || (s.charAt(i) == '.'))) { - i++; - } - result = LexicalUnitImpl.createDimen(n.beginLine, n.beginColumn, prev, - Float.valueOf(s.substring(0, i)).floatValue(), - s.substring(i)); - break; - case FUNCTION: - result = function(op, prev); - break; - default: - jj_la1[240] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case URL: - case HASH: - case UNICODERANGE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case STRING: - n = jj_consume_token(STRING); - result = - LexicalUnitImpl.createString(n.beginLine, n.beginColumn, prev, - convertStringIndex(n.image, 1, - n.image.length() -1)); - break; - case DOT: - case TO: - case THROUGH: - case FROM: - case IDENT: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case DOT: - jj_consume_token(DOT); - s+="."; - break; - default: - jj_la1[241] = jj_gen; - ; + private boolean jj_3R_221() { + if (jj_scan_token(NUMBER)) { + return true; } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IDENT: - n = jj_consume_token(IDENT); - break; - case TO: - n = jj_consume_token(TO); - break; - case THROUGH: - n = jj_consume_token(THROUGH); - break; - case FROM: - n = jj_consume_token(FROM); - break; - default: - jj_la1[242] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - s += convertIdent(n.image); - if ("inherit".equals(s)) { - result = LexicalUnitImpl.createInherit(n.beginLine, n.beginColumn, - prev); - } else { - result = LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, convertIdent(n.image)); - } - - /* / - Auto correction code used in the CSS Validator but must not - be used by a conformant CSS2 parser. - * Common error : - * H1 { - * color : black - * background : white - * } - * - Token t = getToken(1); - Token semicolon = new Token(); - semicolon.kind = SEMICOLON; - semicolon.image = ";"; - if (t.kind == COLON) { - // @@SEEME. (generate a warning?) - // @@SEEME if expression is a single ident, - generate an error ? - rejectToken(semicolon); - - result = prev; - } - / */ - - break; - case HASH: - result = hexcolor(prev); - break; - case URL: - result = url(prev); - break; - case UNICODERANGE: - result = unicode(prev); - break; - default: - jj_la1[243] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - jj_la1[244] = jj_gen; - jj_consume_token(-1); - throw new ParseException(); - } - label_166: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[245] = jj_gen; - break label_166; - } - jj_consume_token(S); - } - {if (true) return result;} - throw new Error("Missing return statement in function"); - } + return false; + } -/** - * Handle all CSS2 functions. - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl function(char operator, LexicalUnitImpl prev) throws ParseException { - Token n; - LexicalUnit params = null; - n = jj_consume_token(FUNCTION); - label_167: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[246] = jj_gen; - break label_167; - } - jj_consume_token(S); + private boolean jj_3_1() { + if (jj_3R_175()) { + return true; + } + return false; } - String fname = convertIdent(n.image); - if("alpha(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "alpha("+body);} - }else if("expression(".equals(fname)){ - String body = skipStatementUntilSemiColon(); - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - null, "expression("+body);} - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case PLUS: - case MINUS: - case DOT: - case TO: - case THROUGH: - case FROM: - case STRING: - case IDENT: - case NUMBER: - case URL: - case VARIABLE: - case PERCENTAGE: - case PT: - case MM: - case CM: - case PC: - case IN: - case PX: - case EMS: - case LEM: - case REM: - case EXS: - case DEG: - case RAD: - case GRAD: - case MS: - case SECOND: - case HZ: - case KHZ: - case DIMEN: - case HASH: - case UNICODERANGE: - case FUNCTION: - params = expr(); - break; - default: - jj_la1[247] = jj_gen; - ; - } - jj_consume_token(RPARAN); - if (operator != ' ') { - {if (true) throw new CSSParseException("invalid operator before a function.", - getLocator());} + + private boolean jj_3R_220() { + if (jj_3R_254()) { + return true; } - String f = convertIdent(n.image); - LexicalUnitImpl l = (LexicalUnitImpl) params; - boolean loop = true; - if ("rgb(".equals(f)) { - // this is a RGB declaration (e.g. rgb(255, 50%, 0) ) - int i = 0; - while (loop && l != null && i < 5) { - switch (i) { - case 0: - case 2: - case 4: - if ((l.getLexicalUnitType() != LexicalUnit.SAC_INTEGER) - && (l.getLexicalUnitType() != LexicalUnit.SAC_PERCENTAGE)) { - loop = false; - } - break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} - } - if (loop) { - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; - } + return false; + } + + private boolean jj_3R_181() { + if (jj_3R_199()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3R_200()) { + jj_scanpos = xsp; + break; } - if ((i == 5) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRGBColor(n.beginLine, - n.beginColumn, - prev, params);} - } else { - if (errorHandler != null) { - String errorText; - Locator loc; - if (i < 5) { - if (params == null) { - loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); - errorText = "not enough parameters."; - } else if (l == null) { - loc = new LocatorImpl(this, n.beginLine, - n.beginColumn-1); - errorText = "not enough parameters: " - + params.toString(); - } else { - loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "invalid parameter: " - + l.toString(); + } + return false; + } + + private boolean jj_3R_197() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_220()) { + jj_scanpos = xsp; + } + xsp = jj_scanpos; + if (jj_3R_221()) { + jj_scanpos = xsp; + if (jj_3R_222()) { + jj_scanpos = xsp; + if (jj_3R_223()) { + jj_scanpos = xsp; + if (jj_3R_224()) { + jj_scanpos = xsp; + if (jj_3R_225()) { + jj_scanpos = xsp; + if (jj_3R_226()) { + jj_scanpos = xsp; + if (jj_3R_227()) { + jj_scanpos = xsp; + if (jj_3R_228()) { + jj_scanpos = xsp; + if (jj_3R_229()) { + jj_scanpos = xsp; + if (jj_3R_230()) { + jj_scanpos = xsp; + if (jj_3R_231()) { + jj_scanpos = xsp; + if (jj_3R_232()) { + jj_scanpos = xsp; + if (jj_3R_233()) { + jj_scanpos = xsp; + if (jj_3R_234()) { + jj_scanpos = xsp; + if (jj_3R_235()) { + jj_scanpos = xsp; + if (jj_3R_236()) { + jj_scanpos = xsp; + if (jj_3R_237()) { + jj_scanpos = xsp; + if (jj_3R_238()) { + jj_scanpos = xsp; + if (jj_3R_239()) { + jj_scanpos = xsp; + if (jj_3R_240()) { + jj_scanpos = xsp; + if (jj_3R_241()) { + return true; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } } - } else { - loc = new LocatorImpl(this, l.getLineNumber(), - l.getColumnNumber()); - errorText = "too many parameters: " - + l.toString(); } - errorHandler.error(new CSSParseException(errorText, loc)); } + } + } + return false; + } - {if (true) throw new JumpException();} + private boolean jj_3R_180() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_197()) { + jj_scanpos = xsp; + if (jj_3R_198()) { + return true; } - } else if ("counter".equals(f)) { - int i = 0; - while (loop && l != null && i < 3) { - switch (i) { - case 0: - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 1: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} - } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - if (((i == 1) || (i == 3)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounter(n.beginLine, n.beginColumn, - prev, params);} + } + return false; + } + + private boolean jj_3R_257() { + if (jj_scan_token(HASH)) { + return true; + } + return false; + } + + private boolean jj_3_4() { + if (jj_3R_178()) { + return true; + } + return false; + } + + private boolean jj_3R_250() { + if (jj_3R_185()) { + return true; + } + return false; + } + + private boolean jj_3R_258() { + if (jj_scan_token(URL)) { + return true; + } + return false; + } + + private boolean jj_3R_204() { + if (jj_3R_180()) { + return true; + } + return false; + } + + private boolean jj_3R_183() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_204()) { + jj_scanpos = xsp; + if (jj_3R_205()) { + return true; } + } + return false; + } - } else if ("counters(".equals(f)) { + private boolean jj_3_9() { + if (jj_3R_184()) { + return true; + } + return false; + } - int i = 0; - while (loop && l != null && i < 5) { - switch (i) { - case 0: - case 4: - if (l.getLexicalUnitType() != LexicalUnit.SAC_IDENT) { - loop = false; - } - break; - case 2: - if (l.getLexicalUnitType() != LexicalUnit.SAC_STRING_VALUE) { - loop = false; - } - break; - case 1: - case 3: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} - } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + private boolean jj_3R_261() { + if (jj_scan_token(INTERPOLATION)) { + return true; + } + return false; + } + + private boolean jj_3_3() { + if (jj_3R_175()) { + return true; + } + return false; + } + + private boolean jj_3R_264() { + if (jj_scan_token(PLUS)) { + return true; + } + return false; + } + + private boolean jj_3R_254() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_263()) { + jj_scanpos = xsp; + if (jj_3R_264()) { + return true; } - if (((i == 3) || (i == 5)) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createCounters(n.beginLine, n.beginColumn, - prev, params);} + } + return false; + } + + private boolean jj_3R_263() { + if (jj_scan_token(MINUS)) { + return true; + } + return false; + } + + private boolean jj_3R_259() { + if (jj_scan_token(UNICODERANGE)) { + return true; + } + return false; + } + + private boolean jj_3R_188() { + if (jj_scan_token(SEMICOLON)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - } else if ("attr(".equals(f)) { - if ((l != null) - && (l.getNextLexicalUnit() == null) - && (l.getLexicalUnitType() == LexicalUnit.SAC_IDENT)) { - {if (true) return LexicalUnitImpl.createAttr(l.getLineNumber(), - l.getColumnNumber(), - prev, l.getStringValue());} + } + return false; + } + + private boolean jj_3_8() { + Token xsp; + xsp = jj_scanpos; + if (jj_3_9()) { + jj_scanpos = xsp; + } + if (jj_3R_183()) { + return true; + } + return false; + } + + private boolean jj_3R_186() { + if (jj_3R_183()) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_3_8()) { + jj_scanpos = xsp; + break; } - } else if ("rect(".equals(f)) { - int i = 0; - while (loop && l != null && i < 7) { - switch (i) { - case 0: - case 2: - case 4: - case 6: - switch (l.getLexicalUnitType()) { - case LexicalUnit.SAC_INTEGER: - if (l.getIntegerValue() != 0) { - loop = false; - } - break; - case LexicalUnit.SAC_IDENT: - if (!l.getStringValue().equals("auto")) { - loop = false; - } - break; - case LexicalUnit.SAC_EM: - case LexicalUnit.SAC_EX: - case LexicalUnit.SAC_PIXEL: - case LexicalUnit.SAC_CENTIMETER: - case LexicalUnit.SAC_MILLIMETER: - case LexicalUnit.SAC_INCH: - case LexicalUnit.SAC_POINT: - case LexicalUnit.SAC_PICA: - // nothing - break; - default: - loop = false; - } - break; - case 1: - case 3: - case 5: - if (l.getLexicalUnitType() != LexicalUnit.SAC_OPERATOR_COMMA) { - loop = false; - } - break; - default: - {if (true) throw new ParseException("implementation error");} - } - l = (LexicalUnitImpl) l.getNextLexicalUnit(); - i ++; + } + return false; + } + + private boolean jj_3R_185() { + if (jj_scan_token(VARIABLE)) { + return true; + } + Token xsp; + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; } - if ((i == 7) && loop && (l == null)) { - {if (true) return LexicalUnitImpl.createRect(n.beginLine, n.beginColumn, - prev, params);} - } - } - {if (true) return LexicalUnitImpl.createFunction(n.beginLine, n.beginColumn, prev, - f.substring(0, - f.length() -1), - params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl unicode(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(UNICODERANGE); - LexicalUnitImpl params = null; - String s = n.image.substring(2); - int index = s.indexOf('-'); - if (index == -1) { - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s, 16)); - } else { - String s1 = s.substring(0, index); - String s2 = s.substring(index); - - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s1, 16)); - params = LexicalUnitImpl.createInteger(n.beginLine, n.beginColumn, - params, Integer.parseInt(s2, 16)); - } - - {if (true) return LexicalUnitImpl.createUnicodeRange(n.beginLine, n.beginColumn, - prev, params);} - throw new Error("Missing return statement in function"); - } - - final public LexicalUnitImpl url(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(URL); - String urlname = n.image.substring(4, n.image.length()-1).trim(); - {if (true) return LexicalUnitImpl.createURL(n.beginLine, n.beginColumn, prev, urlname);} - throw new Error("Missing return statement in function"); - } + } + return false; + } -/** - * @exception ParseException exception during the parse - */ - final public LexicalUnitImpl hexcolor(LexicalUnitImpl prev) throws ParseException { - Token n; - n = jj_consume_token(HASH); - int r; - LexicalUnitImpl first, params = null; - String s = n.image.substring(1); - - if(s.length()!=3 && s.length()!=6) { - first = null; - {if (true) throw new CSSParseException("invalid hexadecimal notation for RGB: " + s, - getLocator());} - } - {if (true) return LexicalUnitImpl.createIdent(n.beginLine, n.beginColumn, - prev, n.image);} - throw new Error("Missing return statement in function"); - } - - float number(char operator, Token n, int lengthUnit) throws ParseException { - String image = n.image; - float f = 0; - - if (lengthUnit != 0) { - image = image.substring(0, image.length() - lengthUnit); - } - f = Float.valueOf(image).floatValue(); - return (operator == '-')? -f: f; - } - - String skipStatementUntilSemiColon() throws ParseException { - int[] semicolon = {SEMICOLON}; - return skipStatementUntil(semicolon); - } - - String skipStatementUntilLeftBrace() throws ParseException { - int[] lBrace = {LBRACE}; - return skipStatementUntil(lBrace); - } - - String skipStatementUntilRightParan() throws ParseException { - int[] rParan = {RPARAN}; - return skipStatementUntil(rParan); - } - - String skipStatementUntil(int[] symbols) throws ParseException { - StringBuffer s = new StringBuffer(); - boolean stop = false; - Token tok; - while(!stop){ - tok = getToken(1); - if(tok.kind == EOF) { - return null; - } - for(int sym : symbols){ - if(tok.kind == sym){ - stop = true; - break; - } - } - if(!stop){ - if (tok.image != null) { - s.append(tok.image); + private boolean jj_3R_249() { + Token xsp; + xsp = jj_scanpos; + if (jj_3R_260()) { + jj_scanpos = xsp; + if (jj_3R_261()) { + return true; } - getNextToken(); } + return false; } - return s.toString().trim(); - } - String skipStatement() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok = getToken(0); - if (tok.image != null) { - s.append(tok.image); + private boolean jj_3R_260() { + if (jj_scan_token(IDENT)) { + return true; + } + return false; } - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - return null; + + private boolean jj_3R_201() { + Token xsp; + if (jj_3R_249()) { + return true; } - s.append(tok.image); - if (tok.kind == LBRACE) { - getNextToken(); - s.append(skip_to_matching_brace()); - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == RBRACE) { - getNextToken(); - tok = getToken(1); - break; - } else if (tok.kind == SEMICOLON) { - getNextToken(); - tok = getToken(1); - break; + while (true) { + xsp = jj_scanpos; + if (jj_3R_249()) { + jj_scanpos = xsp; + break; + } + } + while (true) { + xsp = jj_scanpos; + if (jj_scan_token(1)) { + jj_scanpos = xsp; + break; + } + } + return false; + } + + /** Generated Token Manager. */ + public ParserTokenManager token_source; + /** Current token. */ + public Token token; + /** Next token. */ + public Token jj_nt; + private int jj_ntk; + private Token jj_scanpos, jj_lastpos; + private int jj_la; + private int jj_gen; + final private int[] jj_la1 = new int[258]; + static private int[] jj_la1_0; + static private int[] jj_la1_1; + static private int[] jj_la1_2; + static private int[] jj_la1_3; + static { + jj_la1_init_0(); + jj_la1_init_1(); + jj_la1_init_2(); + jj_la1_init_3(); + } + + private static void jj_la1_init_0() { + jj_la1_0 = new int[] { 0x0, 0x302, 0x302, 0x0, 0x300, 0x2, 0x2, 0x2, + 0xd4c40000, 0x0, 0x300, 0x2, 0x300, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x0, 0x0, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0xd4c40000, + 0xd4c40000, 0x2, 0x2, 0x2, 0xd4fd1500, 0xd4fd1500, 0x2, 0x2, + 0x2, 0x0, 0x0, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, 0x391500, 0xc40000, + 0xc40002, 0xc40000, 0x2, 0x2, 0x80120002, 0x80120002, 0x2, 0x0, + 0x0, 0x2, 0x2, 0x2, 0x2, 0xd4c40000, 0xd4c40000, 0x2, 0x100000, + 0x2, 0xd4c40000, 0x2, 0x84000000, 0x84000000, 0x84000000, + 0x84000000, 0x84000000, 0x84000000, 0x84000000, 0x84000000, + 0x84000000, 0x84000000, 0xd4000000, 0x0, 0x0, 0x0, 0x0, + 0x50000000, 0x2, 0x2, 0x3f000, 0x2, 0x0, 0x2, 0x3f000, 0x0, + 0x2, 0x0, 0x2, 0x0, 0x2, 0x200000, 0x0, 0xd4c40000, 0x0, + 0x134e0002, 0x2, 0xd4c40000, 0x2, 0x0, 0x2, 0x134e0002, 0x0, + 0x2, 0xd4c40000, 0x2, 0x134e0002, 0x2, 0x2, 0x2, 0x0, 0x2, + 0xd4c40000, 0x2, 0x2, 0x100000, 0x2, 0x2, 0x2, 0x2, 0x0, 0x2, + 0xd4c40000, 0xd4c40000, 0x2, 0x100000, 0x2, 0x2, 0x2, 0x100000, + 0x0, 0x0, 0x800c0000, 0x2, 0x0, 0x100000, 0x2, 0x800c0000, 0x2, + 0x0, 0x2, 0x0, 0x2, 0x200000, 0x2, 0xd4c40000, 0x2, 0x200400, + 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, 0x100000, 0x2, 0x2, + 0x2, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, 0x100000, 0x2, 0x2, 0x2, + 0x0, 0x2, 0x2, 0x2, 0x100000, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, + 0x2, 0x2, 0x100000, 0x0, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x200000, 0x2, 0x2, 0x200000, 0x2, 0x2, 0x0, 0x200000, 0x2, + 0x0, 0x2, 0x0, 0xd4c40000, 0x2, 0x0, 0x2, 0x0, 0x200000, 0x2, + 0x0, 0x2, 0x800c0400, 0x2, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, + 0x2, 0x2, 0x321c0000, 0xc0000, 0x800c0000, 0xc0000, 0x0, + 0x80000000, 0x0, 0x80000000, 0x800c0000, 0x2, 0x2, 0x800c0000, + 0x2, 0xd4c40000, 0x2, 0x2, 0x2, 0x0, 0x200000, 0x2, 0x0, 0x2, }; + } + + private static void jj_la1_init_1() { + jj_la1_1 = new int[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x566000c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, + 0x80, 0x0, 0x0, 0x120000, 0x0, 0x120000, 0x0, 0x0, 0x564000c0, + 0x564000c0, 0x0, 0x0, 0x0, 0x60001c0, 0x60001c0, 0x0, 0x0, 0x0, + 0x0, 0x40, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x80, + 0x0, 0x0, 0x80, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc2, + 0xc2, 0x0, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x564000c0, + 0x564000c0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x50000000, 0x64000c0, 0x0, 0x3f, 0x0, + 0x64000c0, 0x0, 0x80000000, 0x0, 0x3f, 0x0, 0x0, 0x64000c0, + 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64000c0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x564000c0, 0x564000c0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x40, 0x160040, 0x0, 0x40, 0x0, + 0x0, 0x160040, 0x0, 0x40, 0x0, 0x80, 0x0, 0x0, 0x0, 0x60000c0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, + 0x0, 0x0, 0x6000000, 0x0, 0x0, 0x60000, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x6000000, + 0xc0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0, 0x160000, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x160000, 0x0, 0x0, 0x0, 0x160000, 0x160000, 0x160000, 0x0, + 0x0, 0x160000, 0x0, 0x60000c0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, + 0x80, 0x0, }; + } + + private static void jj_la1_init_2() { + jj_la1_2 = new int[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, + 0x1000, 0x0, 0x0, 0x0, 0x0, 0x880, 0x0, 0x0, 0x0, 0x100, 0x100, + 0x0, 0x0, 0x2000, 0x0, 0x2000, 0x0, 0x0, 0x1119, 0x1119, 0x0, + 0x0, 0x0, 0x2b80, 0x2b80, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, + 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, + 0x100, 0x0, 0x2a80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x380, 0x380, 0x0, + 0x100, 0x100, 0x0, 0x0, 0x0, 0x0, 0x1119, 0x1119, 0x0, 0x0, + 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x0, 0x0, 0x0, + 0x0, 0x180, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x40, 0x0, 0x0, + 0x0, 0x109, 0x1000, 0x1300, 0x0, 0x1109, 0x0, 0x0, 0x0, 0x1300, + 0x20, 0x0, 0x1109, 0x0, 0x1300, 0x0, 0x0, 0x0, 0x1100, 0x0, + 0x1109, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x1109, + 0x1109, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000, 0x1000, + 0xfffffb80, 0x0, 0x0, 0x0, 0x0, 0xfffffb80, 0x0, 0x0, 0x0, + 0x1100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, + 0x100, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x100, + 0x0, 0xfffffb80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xfffffb80, 0x0, 0xffffe200, 0x0, 0x100, 0x980, + 0xffffeb80, 0x0, 0x0, 0xfffffb80, 0x0, 0x100, 0x0, 0x0, 0x0, + 0x100, 0x0, 0x0, 0x100, 0x0, }; + } + + private static void jj_la1_init_3() { + jj_la1_3 = new int[] { 0x8, 0x80, 0x80, 0x2, 0x80, 0x0, 0x0, 0x0, 0x75, + 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x45, 0x0, 0x0, 0x0, + 0xc401bf, 0xc401bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc401be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000, 0x400000, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x47, 0x0, 0x0, 0x0, 0x1, + 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x400000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x0, + 0x200000, 0x0, 0x45, 0x0, 0x0, 0x0, 0x200000, 0x0, 0x0, 0x45, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x45, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x400000, 0x0, 0x75, 0x75, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x440001, 0x0, 0x0, 0x0, 0x0, 0x440001, + 0x0, 0x0, 0x0, 0x400000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, + 0x0, 0x380000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x100, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x440001, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x440001, 0x0, 0x400000, 0x0, + 0x0, 0x40001, 0x440001, 0x0, 0x0, 0x440001, 0x0, 0x37, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; + } + + final private JJCalls[] jj_2_rtns = new JJCalls[9]; + private boolean jj_rescan = false; + private int jj_gc = 0; + + /** Constructor with user supplied CharStream. */ + public Parser(CharStream stream) { + token_source = new ParserTokenManager(stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 258; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); } - getNextToken(); } - // skip white space - while (true) { - if (tok.kind != S) { - break; + /** Reinitialise. */ + public void ReInit(CharStream stream) { + token_source.ReInit(stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 258; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); } - tok = getNextToken(); - tok = getToken(1); } - return s.toString().trim(); - } + /** Constructor with generated Token Manager. */ + public Parser(ParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 258; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); + } + } - String skip_to_matching_brace() throws ParseException { - StringBuffer s = new StringBuffer(); - Token tok; - int nesting = 1; - while (true) { - tok = getToken(1); - if (tok.kind == EOF) { - break; + /** Reinitialise. */ + public void ReInit(ParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 258; i++) { + jj_la1[i] = -1; } - s.append(tok.image); - if (tok.kind == LBRACE) { - nesting++; - } else if (tok.kind == RBRACE) { - nesting--; - if (nesting == 0) { - break; - } - } - getNextToken(); - } - return s.toString(); - } - - String convertStringIndex(String s, int start, int len) throws ParseException { - StringBuffer buf = new StringBuffer(len); - int index = start; - - while (index < len) { - char c = s.charAt(index); - if (c == '\u005c\u005c') { - if (++index < len) { - c = s.charAt(index); - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - buf.append('\u005c\u005c'); - while (index < len) { - buf.append(s.charAt(index++)); - } - break; - case '\u005cn': - case '\u005cf': - break; - case '\u005cr': - if (index + 1 < len) { - if (s.charAt(index + 1) == '\u005cn') { - index ++; + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJCalls(); + } + } + + private Token jj_consume_token(int kind) throws ParseException { + Token oldToken; + if ((oldToken = token).next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } + jj_ntk = -1; + if (token.kind == kind) { + jj_gen++; + if (++jj_gc > 100) { + jj_gc = 0; + for (int i = 0; i < jj_2_rtns.length; i++) { + JJCalls c = jj_2_rtns[i]; + while (c != null) { + if (c.gen < jj_gen) { + c.first = null; } + c = c.next; } - break; - default: - buf.append(c); } - } else { - throw new CSSParseException("invalid string " + s, getLocator()); } - } else { - buf.append(c); + return token; } - index++; + token = oldToken; + jj_kind = kind; + throw generateParseException(); } - return buf.toString(); - } - - String convertIdent(String s) throws ParseException { - return convertStringIndex(s, 0, s.length()); - } + static private final class LookaheadSuccess extends java.lang.Error { + } - String convertString(String s) throws ParseException { - return convertStringIndex(s, 0, s.length()); - } + final private LookaheadSuccess jj_ls = new LookaheadSuccess(); - void comments() throws ParseException { - if (token.specialToken != null){ - Token tmp_t = token.specialToken; - while (tmp_t.specialToken != null) tmp_t = tmp_t.specialToken; - while (tmp_t != null) { - documentHandler.comment(tmp_t.image); - tmp_t = tmp_t.next; + private boolean jj_scan_token(int kind) { + if (jj_scanpos == jj_lastpos) { + jj_la--; + if (jj_scanpos.next == null) { + jj_lastpos = jj_scanpos = jj_scanpos.next = token_source + .getNextToken(); + } else { + jj_lastpos = jj_scanpos = jj_scanpos.next; + } + } else { + jj_scanpos = jj_scanpos.next; + } + if (jj_rescan) { + int i = 0; + Token tok = token; + while (tok != null && tok != jj_scanpos) { + i++; + tok = tok.next; + } + if (tok != null) { + jj_add_error_token(kind, i); + } + } + if (jj_scanpos.kind != kind) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + throw jj_ls; } + return false; } - } - void rejectToken(Token t) throws ParseException { - Token fakeToken = new Token(); - t.next = token; - fakeToken.next = t; - token = fakeToken; - } + /** Get the next Token. */ + final public Token getNextToken() { + if (token.next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } + jj_ntk = -1; + jj_gen++; + return token; + } - String skipAfterExpression() throws ParseException { - Token t = getToken(1); - StringBuffer s = new StringBuffer(); - s.append(getToken(0).image); + /** Get the specific Token. */ + final public Token getToken(int index) { + Token t = token; + for (int i = 0; i < index; i++) { + if (t.next != null) { + t = t.next; + } else { + t = t.next = token_source.getNextToken(); + } + } + return t; + } - while ((t.kind != RBRACE) && (t.kind != SEMICOLON) && (t.kind != EOF)) { - s.append(t.image); - getNextToken(); - t = getToken(1); + private int jj_ntk() { + if ((jj_nt = token.next) == null) { + return (jj_ntk = (token.next = token_source.getNextToken()).kind); + } else { + return (jj_ntk = jj_nt.kind); + } } - return s.toString(); - } + private java.util.List jj_expentries = new java.util.ArrayList(); + private int[] jj_expentry; + private int jj_kind = -1; + private int[] jj_lasttokens = new int[100]; + private int jj_endpos; -/** - * The following functions are useful for a DOM CSS implementation only and are - * not part of the general CSS2 parser. - */ -// TODO required by original parser but not used by Vaadin? - final public void _parseRule() throws ParseException { - String ret = null; - label_168: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[248] = jj_gen; - break label_168; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case IMPORT_SYM: - importDeclaration(); - break; - case DEBUG_SYM: - case WARN_SYM: - debuggingDirective(); - break; - case PLUS: - case PRECEDES: - case SIBLING: - case LBRACKET: - case ANY: - case PARENT: - case DOT: - case COLON: - case INTERPOLATION: - case IDENT: - case HASH: - styleRule(); - break; - case MEDIA_SYM: - media(); - break; - case PAGE_SYM: - page(); - break; - case FONT_FACE_SYM: - fontFace(); - break; - default: - jj_la1[249] = jj_gen; - ret = skipStatement(); - if ((ret == null) || (ret.length() == 0)) { - {if (true) return;} - } - if (ret.charAt(0) == '@') { - documentHandler.unrecognizedRule(ret); - } else { - {if (true) throw new CSSParseException("unrecognize rule: " + ret, - getLocator());} + private void jj_add_error_token(int kind, int pos) { + if (pos >= 100) { + return; + } + if (pos == jj_endpos + 1) { + jj_lasttokens[jj_endpos++] = kind; + } else if (jj_endpos != 0) { + jj_expentry = new int[jj_endpos]; + for (int i = 0; i < jj_endpos; i++) { + jj_expentry[i] = jj_lasttokens[i]; + } + jj_entries_loop: for (java.util.Iterator it = jj_expentries + .iterator(); it.hasNext();) { + int[] oldentry = (int[]) (it.next()); + if (oldentry.length == jj_expentry.length) { + for (int i = 0; i < jj_expentry.length; i++) { + if (oldentry[i] != jj_expentry[i]) { + continue jj_entries_loop; + } } + jj_expentries.add(jj_expentry); + break jj_entries_loop; + } + } + if (pos != 0) { + jj_lasttokens[(jj_endpos = pos) - 1] = kind; + } + } } - } - - final public void _parseImportRule() throws ParseException { - label_169: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[250] = jj_gen; - break label_169; - } - jj_consume_token(S); - } - importDeclaration(); - } - - final public void _parseMediaRule() throws ParseException { - label_170: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[251] = jj_gen; - break label_170; - } - jj_consume_token(S); - } - media(); - } - - final public void _parseDeclarationBlock() throws ParseException { - label_171: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[252] = jj_gen; - break label_171; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[253] = jj_gen; - ; - } - label_172: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case SEMICOLON: - ; - break; - default: - jj_la1[254] = jj_gen; - break label_172; - } - jj_consume_token(SEMICOLON); - label_173: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[255] = jj_gen; - break label_173; - } - jj_consume_token(S); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case INTERPOLATION: - case IDENT: - declaration(); - break; - default: - jj_la1[256] = jj_gen; - ; - } - } - } - - final public ArrayList _parseSelectors() throws ParseException { - ArrayList p = null; - try { - label_174: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S: - ; - break; - default: - jj_la1[257] = jj_gen; - break label_174; - } - jj_consume_token(S); - } - p = selectorList(); - {if (true) return p;} - } catch (ThrowedParseException e) { - {if (true) throw (ParseException) e.e.fillInStackTrace();} - } - throw new Error("Missing return statement in function"); - } - - private boolean jj_2_1(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_1(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(0, xla); } - } - - private boolean jj_2_2(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_2(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(1, xla); } - } - - private boolean jj_2_3(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_3(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(2, xla); } - } - - private boolean jj_2_4(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_4(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(3, xla); } - } - - private boolean jj_2_5(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_5(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(4, xla); } - } - - private boolean jj_2_6(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_6(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(5, xla); } - } - - private boolean jj_2_7(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_7(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(6, xla); } - } - - private boolean jj_2_8(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_8(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(7, xla); } - } - - private boolean jj_2_9(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_9(); } - catch(LookaheadSuccess ls) { return true; } - finally { jj_save(8, xla); } - } - - private boolean jj_3R_209() { - if (jj_scan_token(MOD)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_208() { - if (jj_scan_token(ANY)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_207() { - if (jj_scan_token(DIV)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_206() { - 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_184() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_206()) { - jj_scanpos = xsp; - if (jj_3R_207()) { - jj_scanpos = xsp; - if (jj_3R_208()) { - jj_scanpos = xsp; - if (jj_3R_209()) { - jj_scanpos = xsp; - if (jj_3R_210()) { - jj_scanpos = xsp; - if (jj_3R_211()) return true; - } - } - } - } - } - return false; - } - - private boolean jj_3R_214() { - if (jj_3R_213()) return true; - return false; - } - - private boolean jj_3R_213() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(20)) { - jj_scanpos = xsp; - if (jj_scan_token(24)) { - jj_scanpos = xsp; - if (jj_scan_token(25)) return true; - } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_175() { - if (jj_3R_185()) return true; - if (jj_scan_token(COLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_3R_186()) return true; - xsp = jj_scanpos; - if (jj_3R_187()) jj_scanpos = xsp; - if (jj_3R_188()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_188()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_212() { - if (jj_scan_token(GUARDED_SYM)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_190() { - if (jj_scan_token(S)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_214()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_189() { - if (jj_3R_213()) return true; - return false; - } - - private boolean jj_3R_176() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_189()) { - jj_scanpos = xsp; - if (jj_3R_190()) return true; - } - return false; - } - - private boolean jj_3R_196() { - if (jj_scan_token(VARIABLE)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(COLON)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_178() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_196()) jj_scanpos = xsp; - if (jj_scan_token(CONTAINS)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} - return false; - } - - private boolean jj_3R_216() { - if (jj_scan_token(HASH)) return true; - return false; - } - - private boolean jj_3R_286() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_287() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;} - return false; - } - - private boolean jj_3R_285() { - if (jj_scan_token(COLON)) return true; - return false; - } - - private boolean jj_3R_218() { - if (jj_scan_token(COLON)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_285()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_286()) { - jj_scanpos = xsp; - if (jj_3R_287()) return true; - } - return false; - } - - private boolean jj_3_7() { - if (jj_3R_182()) return true; - return false; - } - - private boolean jj_3R_203() { - if (jj_scan_token(LBRACE)) return true; - return false; - } - - private boolean jj_3R_306() { - if (jj_scan_token(STRING)) return true; - return false; - } - - private boolean jj_3R_304() { - if (jj_scan_token(STARMATCH)) return true; - return false; - } - - private boolean jj_3R_305() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_303() { - if (jj_scan_token(DOLLARMATCH)) return true; - return false; - } - - private boolean jj_3R_302() { - if (jj_scan_token(CARETMATCH)) return true; - return false; - } - - private boolean jj_3R_301() { - if (jj_scan_token(DASHMATCH)) return true; - return false; - } - - private boolean jj_3R_300() { - if (jj_scan_token(INCLUDES)) return true; - return false; - } - - private boolean jj_3R_267() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - - private boolean jj_3R_299() { - if (jj_scan_token(EQ)) return true; - return false; - } - - private boolean jj_3R_202() { - if (jj_3R_186()) return true; - return false; - } - - private boolean jj_3R_292() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_299()) { - jj_scanpos = xsp; - if (jj_3R_300()) { - jj_scanpos = xsp; - if (jj_3R_301()) { - jj_scanpos = xsp; - if (jj_3R_302()) { - jj_scanpos = xsp; - if (jj_3R_303()) { - jj_scanpos = xsp; - if (jj_3R_304()) return true; - } - } - } - } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_305()) { - jj_scanpos = xsp; - if (jj_3R_306()) return true; - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_6() { - if (jj_3R_181()) return true; - if (jj_scan_token(LBRACE)) return true; - return false; - } - - private boolean jj_3R_219() { - if (jj_scan_token(LBRACKET)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(IDENT)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_292()) jj_scanpos = xsp; - if (jj_scan_token(RBRACKET)) return true; - return false; - } - - private boolean jj_3R_182() { - if (jj_3R_201()) return true; - if (jj_scan_token(COLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_202()) { - jj_scanpos = xsp; - if (jj_3R_203()) return true; - } - return false; - } - - private boolean jj_3R_298() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } - - private boolean jj_3R_253() { - if (jj_scan_token(PARENT)) return true; - return false; - } - - private boolean jj_3R_265() { - if (jj_3R_186()) return true; - return false; - } - - private boolean jj_3R_252() { - if (jj_scan_token(ANY)) return true; - return false; - } - - private boolean jj_3R_262() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_266()) { - jj_scanpos = xsp; - if (jj_3R_267()) return true; - } - return false; - } - - private boolean jj_3R_266() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_215() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_251()) { - jj_scanpos = xsp; - if (jj_3R_252()) { - jj_scanpos = xsp; - if (jj_3R_253()) return true; - } - } - return false; - } - - private boolean jj_3R_251() { - Token xsp; - if (jj_3R_262()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_262()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_179() { - 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_255() { - if (jj_scan_token(FUNCTION)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - xsp = jj_scanpos; - if (jj_3R_265()) jj_scanpos = xsp; - if (jj_scan_token(RPARAN)) return true; - return false; - } - - private boolean jj_3R_297() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_280() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_297()) { - jj_scanpos = xsp; - if (jj_3R_298()) return true; - } - return false; - } - - private boolean jj_3R_246() { - if (jj_3R_259()) return true; - return false; - } - - private boolean jj_3R_296() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_245() { - if (jj_3R_258()) return true; - return false; - } - - private boolean jj_3R_244() { - if (jj_3R_257()) return true; - return false; - } - - private boolean jj_3_5() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_179()) jj_scanpos = xsp; - if (jj_3R_180()) return true; - return false; - } - - private boolean jj_3R_217() { - if (jj_scan_token(DOT)) return true; - Token xsp; - if (jj_3R_280()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_280()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_294() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_289() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_291() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_279() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_282() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_284() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_295() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_272() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_293()) { - jj_scanpos = xsp; - if (jj_3R_294()) { - jj_scanpos = xsp; - if (jj_3R_295()) { - jj_scanpos = xsp; - if (jj_3R_296()) return true; - } - } - } - return false; - } - - private boolean jj_3R_293() { - if (jj_3R_216()) return true; - return false; - } - - private boolean jj_3R_271() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_288()) { - jj_scanpos = xsp; - 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_288() { - if (jj_3R_216()) return true; - return false; - } - - private boolean jj_3R_276() { - if (jj_3R_218()) return true; - return false; - } - - private boolean jj_3R_270() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_281()) { - jj_scanpos = xsp; - if (jj_3R_282()) { - jj_scanpos = xsp; - if (jj_3R_283()) { - jj_scanpos = xsp; - if (jj_3R_284()) return true; - } - } - } - return false; - } - - private boolean jj_3R_281() { - if (jj_3R_216()) return true; - return false; - } - - private boolean jj_3R_290() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_278() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_283() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_269() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_277()) { - jj_scanpos = xsp; - if (jj_3R_278()) { - jj_scanpos = xsp; - if (jj_3R_279()) return true; - } - } - return false; - } - - private boolean jj_3R_274() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_277() { - if (jj_3R_217()) return true; - return false; - } - - private boolean jj_3R_256() { - if (jj_scan_token(DOT)) return true; - return false; - } - - private boolean jj_3R_243() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_256()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_scan_token(74)) { - jj_scanpos = xsp; - if (jj_scan_token(51)) { - jj_scanpos = xsp; - if (jj_scan_token(52)) { - jj_scanpos = xsp; - if (jj_scan_token(54)) return true; - } - } - } - return false; - } - - private boolean jj_3R_195() { - if (jj_3R_219()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_272()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_242() { - if (jj_scan_token(STRING)) return true; - return false; - } - - private boolean jj_3R_241() { - if (jj_3R_255()) return true; - return false; - } - - private boolean jj_3R_194() { - if (jj_3R_218()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_271()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_198() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_242()) { - jj_scanpos = xsp; - if (jj_3R_243()) { - jj_scanpos = xsp; - if (jj_3R_244()) { - jj_scanpos = xsp; - if (jj_3R_245()) { - jj_scanpos = xsp; - if (jj_3R_246()) return true; - } - } - } - } - return false; - } - - private boolean jj_3R_275() { - if (jj_3R_219()) return true; - return false; - } - - private boolean jj_3R_193() { - if (jj_3R_217()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_270()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_192() { - if (jj_3R_216()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_269()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_268() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_273()) { - jj_scanpos = xsp; - if (jj_3R_274()) { - jj_scanpos = xsp; - if (jj_3R_275()) { - jj_scanpos = xsp; - if (jj_3R_276()) return true; - } - } - } - return false; - } - - private boolean jj_3R_273() { - if (jj_3R_216()) return true; - return false; - } - - private boolean jj_3R_191() { - if (jj_3R_215()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_268()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_177() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_191()) { - jj_scanpos = xsp; - if (jj_3R_192()) { - jj_scanpos = xsp; - if (jj_3R_193()) { - jj_scanpos = xsp; - if (jj_3R_194()) { - jj_scanpos = xsp; - if (jj_3R_195()) return true; - } - } - } - } - return false; - } - - private boolean jj_3R_240() { - if (jj_scan_token(DIMEN)) return true; - return false; - } - - private boolean jj_3R_248() { - if (jj_3R_213()) return true; - if (jj_3R_177()) return true; - return false; - } - - private boolean jj_3R_239() { - if (jj_scan_token(KHZ)) return true; - return false; - } - - private boolean jj_3R_238() { - if (jj_scan_token(HZ)) return true; - return false; - } - - private boolean jj_3R_237() { - if (jj_scan_token(MS)) return true; - return false; - } - - private boolean jj_3R_236() { - if (jj_scan_token(SECOND)) return true; - return false; - } - - private boolean jj_3R_235() { - if (jj_scan_token(GRAD)) return true; - return false; - } - - private boolean jj_3R_234() { - if (jj_scan_token(RAD)) return true; - return false; - } - - private boolean jj_3R_233() { - if (jj_scan_token(DEG)) return true; - return false; - } - - private boolean jj_3R_232() { - if (jj_scan_token(EXS)) return true; - return false; - } - - private boolean jj_3R_231() { - if (jj_scan_token(REM)) return true; - return false; - } - - private boolean jj_3R_230() { - if (jj_scan_token(LEM)) return true; - return false; - } - - private boolean jj_3R_229() { - if (jj_scan_token(EMS)) return true; - return false; - } - - private boolean jj_3_2() { - if (jj_3R_176()) return true; - if (jj_3R_177()) return true; - return false; - } - - private boolean jj_3R_228() { - if (jj_scan_token(PX)) return true; - return false; - } - - private boolean jj_3R_227() { - if (jj_scan_token(IN)) return true; - return false; - } - - private boolean jj_3R_200() { - 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_199()) return true; - return false; - } - - private boolean jj_3R_247() { - if (jj_3R_177()) return true; - return false; - } - - private boolean jj_3R_226() { - if (jj_scan_token(PC)) return true; - return false; - } - - private boolean jj_3R_225() { - if (jj_scan_token(MM)) return true; - return false; - } - - private boolean jj_3R_199() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_247()) { - jj_scanpos = xsp; - if (jj_3R_248()) return true; - } - while (true) { - xsp = jj_scanpos; - if (jj_3_2()) { jj_scanpos = xsp; break; } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_224() { - if (jj_scan_token(CM)) return true; - return false; - } - - private boolean jj_3R_223() { - if (jj_scan_token(PT)) return true; - return false; - } - - private boolean jj_3R_222() { - if (jj_scan_token(PERCENTAGE)) return true; - return false; - } - - private boolean jj_3R_205() { - if (jj_3R_250()) return true; - return false; - } - - private boolean jj_3R_221() { - if (jj_scan_token(NUMBER)) return true; - return false; - } - - private boolean jj_3_1() { - if (jj_3R_175()) return true; - return false; - } - - private boolean jj_3R_220() { - if (jj_3R_254()) return true; - return false; - } - - private boolean jj_3R_181() { - if (jj_3R_199()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_200()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_197() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_220()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_221()) { - jj_scanpos = xsp; - if (jj_3R_222()) { - jj_scanpos = xsp; - if (jj_3R_223()) { - jj_scanpos = xsp; - if (jj_3R_224()) { - jj_scanpos = xsp; - if (jj_3R_225()) { - jj_scanpos = xsp; - if (jj_3R_226()) { - jj_scanpos = xsp; - if (jj_3R_227()) { - jj_scanpos = xsp; - if (jj_3R_228()) { - jj_scanpos = xsp; - if (jj_3R_229()) { - jj_scanpos = xsp; - if (jj_3R_230()) { - jj_scanpos = xsp; - if (jj_3R_231()) { - jj_scanpos = xsp; - if (jj_3R_232()) { - jj_scanpos = xsp; - if (jj_3R_233()) { - jj_scanpos = xsp; - if (jj_3R_234()) { - jj_scanpos = xsp; - if (jj_3R_235()) { - jj_scanpos = xsp; - if (jj_3R_236()) { - jj_scanpos = xsp; - if (jj_3R_237()) { - jj_scanpos = xsp; - if (jj_3R_238()) { - jj_scanpos = xsp; - if (jj_3R_239()) { - jj_scanpos = xsp; - if (jj_3R_240()) { - jj_scanpos = xsp; - if (jj_3R_241()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return false; - } - - private boolean jj_3R_180() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_197()) { - jj_scanpos = xsp; - if (jj_3R_198()) return true; - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_257() { - if (jj_scan_token(HASH)) return true; - return false; - } - - private boolean jj_3_4() { - if (jj_3R_178()) return true; - return false; - } - - private boolean jj_3R_250() { - if (jj_3R_185()) return true; - return false; - } - - private boolean jj_3R_258() { - if (jj_scan_token(URL)) return true; - return false; - } - - private boolean jj_3R_204() { - if (jj_3R_180()) return true; - return false; - } - - private boolean jj_3R_183() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_204()) { - jj_scanpos = xsp; - if (jj_3R_205()) return true; - } - return false; - } - - private boolean jj_3_9() { - if (jj_3R_184()) return true; - return false; - } - private boolean jj_3R_261() { - if (jj_scan_token(INTERPOLATION)) return true; - return false; - } + /** Generate ParseException. */ + public ParseException generateParseException() { + jj_expentries.clear(); + boolean[] la1tokens = new boolean[120]; + if (jj_kind >= 0) { + la1tokens[jj_kind] = true; + jj_kind = -1; + } + for (int i = 0; i < 258; i++) { + if (jj_la1[i] == jj_gen) { + for (int j = 0; j < 32; j++) { + if ((jj_la1_0[i] & (1 << j)) != 0) { + la1tokens[j] = true; + } + if ((jj_la1_1[i] & (1 << j)) != 0) { + la1tokens[32 + j] = true; + } + if ((jj_la1_2[i] & (1 << j)) != 0) { + la1tokens[64 + j] = true; + } + if ((jj_la1_3[i] & (1 << j)) != 0) { + la1tokens[96 + j] = true; + } + } + } + } + for (int i = 0; i < 120; i++) { + if (la1tokens[i]) { + jj_expentry = new int[1]; + jj_expentry[0] = i; + jj_expentries.add(jj_expentry); + } + } + jj_endpos = 0; + jj_rescan_token(); + jj_add_error_token(0, 0); + int[][] exptokseq = new int[jj_expentries.size()][]; + for (int i = 0; i < jj_expentries.size(); i++) { + exptokseq[i] = jj_expentries.get(i); + } + return new ParseException(token, exptokseq, tokenImage); + } - private boolean jj_3_3() { - if (jj_3R_175()) return true; - return false; - } + /** Enable tracing. */ + final public void enable_tracing() { + } - private boolean jj_3R_264() { - if (jj_scan_token(PLUS)) return true; - return false; - } + /** Disable tracing. */ + final public void disable_tracing() { + } - private boolean jj_3R_254() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_263()) { - jj_scanpos = xsp; - if (jj_3R_264()) return true; + private void jj_rescan_token() { + jj_rescan = true; + for (int i = 0; i < 9; i++) { + try { + JJCalls p = jj_2_rtns[i]; + do { + if (p.gen > jj_gen) { + jj_la = p.arg; + jj_lastpos = jj_scanpos = p.first; + switch (i) { + case 0: + jj_3_1(); + break; + case 1: + jj_3_2(); + break; + case 2: + jj_3_3(); + break; + case 3: + jj_3_4(); + break; + case 4: + jj_3_5(); + break; + case 5: + jj_3_6(); + break; + case 6: + jj_3_7(); + break; + case 7: + jj_3_8(); + break; + case 8: + jj_3_9(); + break; + } + } + p = p.next; + } while (p != null); + } catch (LookaheadSuccess ls) { + } + } + jj_rescan = false; } - return false; - } - private boolean jj_3R_263() { - if (jj_scan_token(MINUS)) return true; - return false; - } + private void jj_save(int index, int xla) { + JJCalls p = jj_2_rtns[index]; + while (p.gen > jj_gen) { + if (p.next == null) { + p = p.next = new JJCalls(); + break; + } + p = p.next; + } + p.gen = jj_gen + xla - jj_la; + p.first = token; + p.arg = xla; + } - private boolean jj_3R_259() { - if (jj_scan_token(UNICODERANGE)) return true; - return false; - } - - private boolean jj_3R_188() { - if (jj_scan_token(SEMICOLON)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3_8() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_9()) jj_scanpos = xsp; - if (jj_3R_183()) return true; - return false; - } - - private boolean jj_3R_186() { - if (jj_3R_183()) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3_8()) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_185() { - if (jj_scan_token(VARIABLE)) return true; - Token xsp; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_249() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_260()) { - jj_scanpos = xsp; - if (jj_3R_261()) return true; - } - return false; - } - - private boolean jj_3R_260() { - if (jj_scan_token(IDENT)) return true; - return false; - } - - private boolean jj_3R_201() { - Token xsp; - if (jj_3R_249()) return true; - while (true) { - xsp = jj_scanpos; - if (jj_3R_249()) { jj_scanpos = xsp; break; } - } - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_211() { - if (jj_scan_token(MINUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - private boolean jj_3R_187() { - if (jj_3R_212()) return true; - return false; - } - - private boolean jj_3R_210() { - if (jj_scan_token(PLUS)) return true; - Token xsp; - if (jj_scan_token(1)) return true; - while (true) { - xsp = jj_scanpos; - if (jj_scan_token(1)) { jj_scanpos = xsp; break; } - } - return false; - } - - /** Generated Token Manager. */ - public ParserTokenManager token_source; - /** Current token. */ - public Token token; - /** Next token. */ - public Token jj_nt; - private int jj_ntk; - private Token jj_scanpos, jj_lastpos; - private int jj_la; - private int jj_gen; - final private int[] jj_la1 = new int[258]; - static private int[] jj_la1_0; - static private int[] jj_la1_1; - static private int[] jj_la1_2; - static private int[] jj_la1_3; - static { - jj_la1_init_0(); - jj_la1_init_1(); - jj_la1_init_2(); - jj_la1_init_3(); - } - private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x0,0xc02,0xc02,0x0,0xc00,0x2,0x2,0x2,0x53100000,0x0,0xc00,0x2,0xc00,0x2,0x0,0x2,0x2,0x2,0x0,0x0,0x2,0x2,0x0,0x2,0x0,0x2,0x2,0x53100000,0x53100000,0x2,0x2,0x2,0x53f45400,0x53f45400,0x2,0x2,0x2,0x0,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x2,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0xe45400,0x3100000,0x3100002,0x3100000,0x2,0x2,0x480002,0x480002,0x2,0x0,0x0,0x2,0x2,0x2,0x2,0x53100000,0x53100000,0x2,0x400000,0x2,0x53100000,0x2,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x10000000,0x50000000,0x0,0x0,0x0,0x0,0x40000000,0x2,0x2,0xfc000,0x2,0x0,0x2,0xfc000,0x0,0x2,0x0,0x2,0x0,0x2,0x800000,0x0,0x53100000,0x0,0x4d380002,0x2,0x53100000,0x2,0x0,0x2,0x4d380002,0x0,0x2,0x53100000,0x2,0x4d380002,0x2,0x2,0x2,0x0,0x2,0x53100000,0x2,0x2,0x400000,0x2,0x2,0x2,0x2,0x0,0x2,0x53100000,0x53100000,0x2,0x400000,0x2,0x2,0x2,0x400000,0x0,0x0,0x300000,0x2,0x0,0x400000,0x2,0x300000,0x2,0x0,0x2,0x0,0x2,0x800000,0x2,0x53100000,0x2,0x801000,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,0x800000,0x2,0x2,0x0,0x800000,0x2,0x0,0x2,0x0,0x53100000,0x2,0x0,0x2,0x0,0x800000,0x2,0x0,0x2,0x301000,0x2,0x0,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0x2,0xc8700000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x0,0x300000,0x2,0x2,0x300000,0x2,0x53100000,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,0x59800303,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x200,0x0,0x0,0x480000,0x0,0x480000,0x0,0x0,0x59000303,0x59000303,0x0,0x0,0x0,0x18000703,0x18000703,0x0,0x0,0x0,0x0,0x100,0x0,0x200,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x30a,0x30a,0x0,0x200,0x200,0x0,0x0,0x0,0x0,0x59000303,0x59000303,0x0,0x0,0x0,0x303,0x0,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x303,0x200,0x200,0x200,0x200,0x201,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x19000303,0x0,0xfc,0x0,0x19000303,0x0,0x0,0x0,0xfc,0x0,0x0,0x19000303,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x19000303,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x59000303,0x59000303,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x100,0x580102,0x0,0x100,0x0,0x0,0x580102,0x0,0x100,0x0,0x200,0x0,0x0,0x0,0x18000303,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x18000000,0x0,0x0,0x180000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,0x18000000,0x303,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,0x580002,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x580002,0x0,0x0,0x2,0x580000,0x580002,0x580002,0x0,0x0,0x580002,0x0,0x18000303,0x0,0x0,0x0,0x200,0x0,0x0,0x200,0x0,}; - } - private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x401,0x4000,0x0,0x0,0x0,0x0,0x2200,0x0,0x0,0x0,0x400,0x400,0x0,0x0,0x8000,0x0,0x8000,0x0,0x0,0x4465,0x4465,0x0,0x0,0x0,0xae00,0xae00,0x0,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0xaa00,0x0,0x0,0x0,0x0,0x0,0xe00,0xe00,0x0,0x400,0x400,0x0,0x0,0x0,0x0,0x4465,0x4465,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x400,0x400,0x400,0x400,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x400,0x0,0x100,0x0,0x0,0x1,0x424,0x4000,0x4c00,0x0,0x4424,0x0,0x2,0x0,0x4c00,0x80,0x0,0x4424,0x0,0x4c00,0x0,0x0,0x0,0x4400,0x0,0x4424,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x4425,0x4425,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x4000,0xffffee00,0x0,0x0,0x0,0x0,0xffffee00,0x0,0x0,0x0,0x4400,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0x0,0x0,0x400,0x0,0x0,0x400,0x0,0xffffee00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffee00,0x0,0xffff8800,0x0,0x400,0x2600,0xffffae00,0x0,0x0,0xffffee00,0x0,0x400,0x0,0x0,0x0,0x400,0x0,0x0,0x400,0x0,}; - } - private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x20,0x200,0x200,0x8,0x200,0x0,0x0,0x0,0x1d4,0x0,0x200,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x114,0x114,0x0,0x0,0x0,0x31006fc,0x31006fc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x31006f8,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11c,0x11c,0x0,0x0,0x0,0x4,0x0,0x4,0x4,0x0,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x114,0x0,0x800000,0x0,0x114,0x0,0x0,0x0,0x800000,0x0,0x0,0x114,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x114,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x1d4,0x1d4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1100007,0x0,0x0,0x0,0x0,0x1100007,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0xe00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x1100007,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1100007,0x0,0x1000003,0x0,0x0,0x100004,0x1100007,0x0,0x0,0x1100007,0x0,0xdc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; - } - final private JJCalls[] jj_2_rtns = new JJCalls[9]; - private boolean jj_rescan = false; - private int jj_gc = 0; - - /** Constructor with user supplied CharStream. */ - public Parser(CharStream stream) { - token_source = new ParserTokenManager(stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 258; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Reinitialise. */ - public void ReInit(CharStream stream) { - token_source.ReInit(stream); - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 258; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Constructor with generated Token Manager. */ - public Parser(ParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 258; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - /** Reinitialise. */ - public void ReInit(ParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jj_gen = 0; - for (int i = 0; i < 258; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); - } - - private Token jj_consume_token(int kind) throws ParseException { - Token oldToken; - if ((oldToken = token).next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - if (token.kind == kind) { - jj_gen++; - if (++jj_gc > 100) { - jj_gc = 0; - for (int i = 0; i < jj_2_rtns.length; i++) { - JJCalls c = jj_2_rtns[i]; - while (c != null) { - if (c.gen < jj_gen) c.first = null; - c = c.next; - } - } - } - return token; - } - token = oldToken; - jj_kind = kind; - throw generateParseException(); - } - - static private final class LookaheadSuccess extends java.lang.Error { } - final private LookaheadSuccess jj_ls = new LookaheadSuccess(); - private boolean jj_scan_token(int kind) { - if (jj_scanpos == jj_lastpos) { - jj_la--; - if (jj_scanpos.next == null) { - jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); - } else { - jj_lastpos = jj_scanpos = jj_scanpos.next; - } - } else { - jj_scanpos = jj_scanpos.next; - } - if (jj_rescan) { - int i = 0; Token tok = token; - while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } - if (tok != null) jj_add_error_token(kind, i); - } - if (jj_scanpos.kind != kind) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; - return false; - } - - -/** Get the next Token. */ - final public Token getNextToken() { - if (token.next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - jj_gen++; - return token; - } - -/** Get the specific Token. */ - final public Token getToken(int index) { - Token t = token; - for (int i = 0; i < index; i++) { - if (t.next != null) t = t.next; - else t = t.next = token_source.getNextToken(); - } - return t; - } - - private int jj_ntk() { - if ((jj_nt=token.next) == null) - return (jj_ntk = (token.next=token_source.getNextToken()).kind); - else - return (jj_ntk = jj_nt.kind); - } - - private java.util.List jj_expentries = new java.util.ArrayList(); - private int[] jj_expentry; - private int jj_kind = -1; - private int[] jj_lasttokens = new int[100]; - private int jj_endpos; - - private void jj_add_error_token(int kind, int pos) { - if (pos >= 100) return; - if (pos == jj_endpos + 1) { - jj_lasttokens[jj_endpos++] = kind; - } else if (jj_endpos != 0) { - jj_expentry = new int[jj_endpos]; - for (int i = 0; i < jj_endpos; i++) { - jj_expentry[i] = jj_lasttokens[i]; - } - jj_entries_loop: for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) { - int[] oldentry = (int[])(it.next()); - if (oldentry.length == jj_expentry.length) { - for (int i = 0; i < jj_expentry.length; i++) { - if (oldentry[i] != jj_expentry[i]) { - continue jj_entries_loop; - } - } - jj_expentries.add(jj_expentry); - break jj_entries_loop; - } - } - if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; - } - } - - /** Generate ParseException. */ - public ParseException generateParseException() { - jj_expentries.clear(); - boolean[] la1tokens = new boolean[122]; - if (jj_kind >= 0) { - la1tokens[jj_kind] = true; - jj_kind = -1; - } - for (int i = 0; i < 258; i++) { - if (jj_la1[i] == jj_gen) { - for (int j = 0; j < 32; j++) { - if ((jj_la1_0[i] & (1< jj_gen) { - jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; - switch (i) { - case 0: jj_3_1(); break; - case 1: jj_3_2(); break; - case 2: jj_3_3(); break; - case 3: jj_3_4(); break; - case 4: jj_3_5(); break; - case 5: jj_3_6(); break; - case 6: jj_3_7(); break; - case 7: jj_3_8(); break; - case 8: jj_3_9(); break; - } - } - p = p.next; - } while (p != null); - } catch(LookaheadSuccess ls) { } - } - jj_rescan = false; - } - - private void jj_save(int index, int xla) { - JJCalls p = jj_2_rtns[index]; - while (p.gen > jj_gen) { - if (p.next == null) { p = p.next = new JJCalls(); break; } - p = p.next; - } - p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; - } - - static final class JJCalls { - int gen; - Token first; - int arg; - JJCalls next; - } + static final class JJCalls { + int gen; + Token first; + int arg; + JJCalls next; + } } diff --git a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj index daf20423d6..cb2530cff0 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/Parser.jj @@ -467,24 +467,15 @@ TOKEN : < S : ( [ " ", "\t" , "\n" , "\r", "\f" ] )+ > { image = Parser.SPACE; } } - - -MORE : -{ - "//" : IN_SINGLE_LINE_COMMENT -} - - -MORE : -{ - < ~["\n","\r"] > : IN_SINGLE_LINE_COMMENT -} - -SKIP : -{ - < "\n"|"\r"|"\r\n" > : DEFAULT -} +/* + * for fixing #11638: Ending an imported SCSS file with a comment causes an error in the Sass. + * now the single line comment is parsed as special token, before, they were simply skipped. + * solution got from http://www.engr.mun.ca/~theo/JavaCC-FAQ/javacc-faq-moz.htm#tth_sEc3.15 + */ + +SPECIAL_TOKEN : { +< SINGLE_LINE_COMMENT: "//"(~["\n","\r"])* ("\n"|"\r"|"\r\n")? > } MORE : @@ -2111,7 +2102,8 @@ void declarationOrNestedProperties() : skipStatement(); next = getToken(1); } - if(token.specialToken!=null){ + //only add special token kept for sprites '/**' + if(token.specialToken!=null && token.specialToken!=null && token.specialToken.image.startsWith("/**")){ documentHandler.property(name, exp, important, token.specialToken.image); }else{ documentHandler.property(name, exp, important, null); @@ -2904,7 +2896,8 @@ String convertString(String s) { JAVACODE void comments(){ - if (token.specialToken != null){ + /*keeps only the multiple line comments, single line comments are skipped*/ + if (token.specialToken != null && token.specialToken.image!=null && token.specialToken.image.startsWith("/*")){ Token tmp_t = token.specialToken; while (tmp_t.specialToken != null) tmp_t = tmp_t.specialToken; while (tmp_t != null) { 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 90fe640f8b..b5e3b296bd 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserConstants.java @@ -1,379 +1,293 @@ +/* + * 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. ParserConstants.java */ package com.vaadin.sass.internal.parser; - /** - * Token literal values and constants. - * Generated by org.javacc.parser.OtherFilesGen#start() + * Token literal values and constants. Generated by + * org.javacc.parser.OtherFilesGen#start() */ public interface ParserConstants { - /** End of File. */ - int EOF = 0; - /** RegularExpression Id. */ - int S = 1; - /** RegularExpression Id. */ - int FORMAL_COMMENT = 7; - /** RegularExpression Id. */ - int MULTI_LINE_COMMENT = 8; - /** RegularExpression Id. */ - int CDO = 10; - /** RegularExpression Id. */ - int CDC = 11; - /** RegularExpression Id. */ - int LBRACE = 12; - /** RegularExpression Id. */ - int RBRACE = 13; - /** RegularExpression Id. */ - int DASHMATCH = 14; - /** RegularExpression Id. */ - int CARETMATCH = 15; - /** RegularExpression Id. */ - int DOLLARMATCH = 16; - /** RegularExpression Id. */ - int STARMATCH = 17; - /** RegularExpression Id. */ - int INCLUDES = 18; - /** RegularExpression Id. */ - int EQ = 19; - /** RegularExpression Id. */ - int PLUS = 20; - /** RegularExpression Id. */ - int MINUS = 21; - /** RegularExpression Id. */ - int COMMA = 22; - /** RegularExpression Id. */ - int SEMICOLON = 23; - /** RegularExpression Id. */ - int PRECEDES = 24; - /** RegularExpression Id. */ - int SIBLING = 25; - /** RegularExpression Id. */ - int SUCCEEDS = 26; - /** RegularExpression Id. */ - int DIV = 27; - /** RegularExpression Id. */ - int LBRACKET = 28; - /** RegularExpression Id. */ - int RBRACKET = 29; - /** RegularExpression Id. */ - int ANY = 30; - /** RegularExpression Id. */ - int MOD = 31; - /** RegularExpression Id. */ - int PARENT = 32; - /** RegularExpression Id. */ - int DOT = 33; - /** RegularExpression Id. */ - int LPARAN = 34; - /** RegularExpression Id. */ - int RPARAN = 35; - /** RegularExpression Id. */ - int COMPARE = 36; - /** RegularExpression Id. */ - int OR = 37; - /** RegularExpression Id. */ - int AND = 38; - /** RegularExpression Id. */ - int NOT_EQ = 39; - /** RegularExpression Id. */ - int COLON = 40; - /** RegularExpression Id. */ - int INTERPOLATION = 41; - /** RegularExpression Id. */ - int NONASCII = 42; - /** RegularExpression Id. */ - int H = 43; - /** RegularExpression Id. */ - int UNICODE = 44; - /** RegularExpression Id. */ - int ESCAPE = 45; - /** RegularExpression Id. */ - int NMSTART = 46; - /** RegularExpression Id. */ - int NMCHAR = 47; - /** RegularExpression Id. */ - int STRINGCHAR = 48; - /** RegularExpression Id. */ - int D = 49; - /** RegularExpression Id. */ - int NAME = 50; - /** RegularExpression Id. */ - int TO = 51; - /** RegularExpression Id. */ - int THROUGH = 52; - /** RegularExpression Id. */ - int EACH_IN = 53; - /** RegularExpression Id. */ - int FROM = 54; - /** RegularExpression Id. */ - int MIXIN_SYM = 55; - /** RegularExpression Id. */ - int INCLUDE_SYM = 56; - /** RegularExpression Id. */ - int FUNCTION_SYM = 57; - /** RegularExpression Id. */ - int RETURN_SYM = 58; - /** RegularExpression Id. */ - int DEBUG_SYM = 59; - /** RegularExpression Id. */ - int WARN_SYM = 60; - /** RegularExpression Id. */ - int FOR_SYM = 61; - /** RegularExpression Id. */ - int EACH_SYM = 62; - /** RegularExpression Id. */ - int WHILE_SYM = 63; - /** RegularExpression Id. */ - int IF_SYM = 64; - /** RegularExpression Id. */ - int ELSE_SYM = 65; - /** RegularExpression Id. */ - int EXTEND_SYM = 66; - /** RegularExpression Id. */ - int MOZ_DOCUMENT_SYM = 67; - /** RegularExpression Id. */ - int SUPPORTS_SYM = 68; - /** RegularExpression Id. */ - int CONTENT_SYM = 69; - /** RegularExpression Id. */ - int MICROSOFT_RULE = 70; - /** RegularExpression Id. */ - int IF = 71; - /** RegularExpression Id. */ - int GUARDED_SYM = 72; - /** RegularExpression Id. */ - int STRING = 73; - /** RegularExpression Id. */ - int IDENT = 74; - /** RegularExpression Id. */ - int NUMBER = 75; - /** RegularExpression Id. */ - int _URL = 76; - /** RegularExpression Id. */ - int URL = 77; - /** RegularExpression Id. */ - int VARIABLE = 78; - /** RegularExpression Id. */ - int PERCENTAGE = 79; - /** RegularExpression Id. */ - int PT = 80; - /** RegularExpression Id. */ - int MM = 81; - /** RegularExpression Id. */ - int CM = 82; - /** RegularExpression Id. */ - int PC = 83; - /** RegularExpression Id. */ - int IN = 84; - /** RegularExpression Id. */ - int PX = 85; - /** RegularExpression Id. */ - int EMS = 86; - /** RegularExpression Id. */ - int LEM = 87; - /** RegularExpression Id. */ - int REM = 88; - /** RegularExpression Id. */ - int EXS = 89; - /** RegularExpression Id. */ - int DEG = 90; - /** RegularExpression Id. */ - int RAD = 91; - /** RegularExpression Id. */ - int GRAD = 92; - /** RegularExpression Id. */ - int MS = 93; - /** RegularExpression Id. */ - int SECOND = 94; - /** RegularExpression Id. */ - int HZ = 95; - /** RegularExpression Id. */ - int KHZ = 96; - /** RegularExpression Id. */ - int DIMEN = 97; - /** RegularExpression Id. */ - int HASH = 98; - /** RegularExpression Id. */ - int IMPORT_SYM = 99; - /** RegularExpression Id. */ - int MEDIA_SYM = 100; - /** RegularExpression Id. */ - int CHARSET_SYM = 101; - /** RegularExpression Id. */ - int PAGE_SYM = 102; - /** RegularExpression Id. */ - int FONT_FACE_SYM = 103; - /** RegularExpression Id. */ - int KEY_FRAME_SYM = 104; - /** RegularExpression Id. */ - int ATKEYWORD = 105; - /** RegularExpression Id. */ - int IMPORTANT_SYM = 106; - /** RegularExpression Id. */ - int RANGE0 = 107; - /** RegularExpression Id. */ - int RANGE1 = 108; - /** RegularExpression Id. */ - int RANGE2 = 109; - /** RegularExpression Id. */ - int RANGE3 = 110; - /** RegularExpression Id. */ - int RANGE4 = 111; - /** RegularExpression Id. */ - int RANGE5 = 112; - /** RegularExpression Id. */ - int RANGE6 = 113; - /** RegularExpression Id. */ - int RANGE = 114; - /** RegularExpression Id. */ - int UNI = 115; - /** RegularExpression Id. */ - int UNICODERANGE = 116; - /** RegularExpression Id. */ - int REMOVE = 117; - /** RegularExpression Id. */ - int APPEND = 118; - /** RegularExpression Id. */ - int CONTAINS = 119; - /** RegularExpression Id. */ - int FUNCTION = 120; - /** RegularExpression Id. */ - int UNKNOWN = 121; + /** End of File. */ + int EOF = 0; + /** RegularExpression Id. */ + int S = 1; + /** RegularExpression Id. */ + int SINGLE_LINE_COMMENT = 2; + /** RegularExpression Id. */ + int FORMAL_COMMENT = 5; + /** RegularExpression Id. */ + int MULTI_LINE_COMMENT = 6; + /** RegularExpression Id. */ + int CDO = 8; + /** RegularExpression Id. */ + int CDC = 9; + /** RegularExpression Id. */ + int LBRACE = 10; + /** RegularExpression Id. */ + int RBRACE = 11; + /** RegularExpression Id. */ + int DASHMATCH = 12; + /** RegularExpression Id. */ + int CARETMATCH = 13; + /** RegularExpression Id. */ + int DOLLARMATCH = 14; + /** RegularExpression Id. */ + int STARMATCH = 15; + /** RegularExpression Id. */ + int INCLUDES = 16; + /** RegularExpression Id. */ + int EQ = 17; + /** RegularExpression Id. */ + int PLUS = 18; + /** RegularExpression Id. */ + int MINUS = 19; + /** RegularExpression Id. */ + int COMMA = 20; + /** RegularExpression Id. */ + int SEMICOLON = 21; + /** RegularExpression Id. */ + int PRECEDES = 22; + /** RegularExpression Id. */ + int SIBLING = 23; + /** RegularExpression Id. */ + int SUCCEEDS = 24; + /** RegularExpression Id. */ + int DIV = 25; + /** RegularExpression Id. */ + int LBRACKET = 26; + /** RegularExpression Id. */ + int RBRACKET = 27; + /** RegularExpression Id. */ + int ANY = 28; + /** RegularExpression Id. */ + int MOD = 29; + /** RegularExpression Id. */ + int PARENT = 30; + /** RegularExpression Id. */ + int DOT = 31; + /** RegularExpression Id. */ + int LPARAN = 32; + /** RegularExpression Id. */ + int RPARAN = 33; + /** RegularExpression Id. */ + int COMPARE = 34; + /** RegularExpression Id. */ + int OR = 35; + /** RegularExpression Id. */ + int AND = 36; + /** RegularExpression Id. */ + int NOT_EQ = 37; + /** RegularExpression Id. */ + int COLON = 38; + /** RegularExpression Id. */ + int INTERPOLATION = 39; + /** RegularExpression Id. */ + int NONASCII = 40; + /** RegularExpression Id. */ + int H = 41; + /** RegularExpression Id. */ + int UNICODE = 42; + /** RegularExpression Id. */ + int ESCAPE = 43; + /** RegularExpression Id. */ + int NMSTART = 44; + /** RegularExpression Id. */ + int NMCHAR = 45; + /** RegularExpression Id. */ + int STRINGCHAR = 46; + /** RegularExpression Id. */ + int D = 47; + /** RegularExpression Id. */ + int NAME = 48; + /** RegularExpression Id. */ + int TO = 49; + /** RegularExpression Id. */ + int THROUGH = 50; + /** RegularExpression Id. */ + int EACH_IN = 51; + /** RegularExpression Id. */ + int FROM = 52; + /** RegularExpression Id. */ + int MIXIN_SYM = 53; + /** RegularExpression Id. */ + int INCLUDE_SYM = 54; + /** RegularExpression Id. */ + int FUNCTION_SYM = 55; + /** RegularExpression Id. */ + int RETURN_SYM = 56; + /** RegularExpression Id. */ + int DEBUG_SYM = 57; + /** RegularExpression Id. */ + int WARN_SYM = 58; + /** RegularExpression Id. */ + int FOR_SYM = 59; + /** RegularExpression Id. */ + int EACH_SYM = 60; + /** RegularExpression Id. */ + int WHILE_SYM = 61; + /** RegularExpression Id. */ + int IF_SYM = 62; + /** RegularExpression Id. */ + int ELSE_SYM = 63; + /** RegularExpression Id. */ + int EXTEND_SYM = 64; + /** RegularExpression Id. */ + int MOZ_DOCUMENT_SYM = 65; + /** RegularExpression Id. */ + int SUPPORTS_SYM = 66; + /** RegularExpression Id. */ + int CONTENT_SYM = 67; + /** RegularExpression Id. */ + int MICROSOFT_RULE = 68; + /** RegularExpression Id. */ + int IF = 69; + /** RegularExpression Id. */ + int GUARDED_SYM = 70; + /** RegularExpression Id. */ + int STRING = 71; + /** RegularExpression Id. */ + int IDENT = 72; + /** RegularExpression Id. */ + int NUMBER = 73; + /** RegularExpression Id. */ + int _URL = 74; + /** RegularExpression Id. */ + int URL = 75; + /** RegularExpression Id. */ + int VARIABLE = 76; + /** RegularExpression Id. */ + int PERCENTAGE = 77; + /** RegularExpression Id. */ + int PT = 78; + /** RegularExpression Id. */ + int MM = 79; + /** RegularExpression Id. */ + int CM = 80; + /** RegularExpression Id. */ + int PC = 81; + /** RegularExpression Id. */ + int IN = 82; + /** RegularExpression Id. */ + int PX = 83; + /** RegularExpression Id. */ + int EMS = 84; + /** RegularExpression Id. */ + int LEM = 85; + /** RegularExpression Id. */ + int REM = 86; + /** RegularExpression Id. */ + int EXS = 87; + /** RegularExpression Id. */ + int DEG = 88; + /** RegularExpression Id. */ + int RAD = 89; + /** RegularExpression Id. */ + int GRAD = 90; + /** RegularExpression Id. */ + int MS = 91; + /** RegularExpression Id. */ + int SECOND = 92; + /** RegularExpression Id. */ + int HZ = 93; + /** RegularExpression Id. */ + int KHZ = 94; + /** RegularExpression Id. */ + int DIMEN = 95; + /** RegularExpression Id. */ + int HASH = 96; + /** RegularExpression Id. */ + int IMPORT_SYM = 97; + /** RegularExpression Id. */ + int MEDIA_SYM = 98; + /** RegularExpression Id. */ + int CHARSET_SYM = 99; + /** RegularExpression Id. */ + int PAGE_SYM = 100; + /** RegularExpression Id. */ + int FONT_FACE_SYM = 101; + /** RegularExpression Id. */ + int KEY_FRAME_SYM = 102; + /** RegularExpression Id. */ + int ATKEYWORD = 103; + /** RegularExpression Id. */ + int IMPORTANT_SYM = 104; + /** RegularExpression Id. */ + int RANGE0 = 105; + /** RegularExpression Id. */ + int RANGE1 = 106; + /** RegularExpression Id. */ + int RANGE2 = 107; + /** RegularExpression Id. */ + int RANGE3 = 108; + /** RegularExpression Id. */ + int RANGE4 = 109; + /** RegularExpression Id. */ + int RANGE5 = 110; + /** RegularExpression Id. */ + int RANGE6 = 111; + /** RegularExpression Id. */ + int RANGE = 112; + /** RegularExpression Id. */ + int UNI = 113; + /** RegularExpression Id. */ + int UNICODERANGE = 114; + /** RegularExpression Id. */ + int REMOVE = 115; + /** RegularExpression Id. */ + int APPEND = 116; + /** RegularExpression Id. */ + int CONTAINS = 117; + /** RegularExpression Id. */ + int FUNCTION = 118; + /** RegularExpression Id. */ + int UNKNOWN = 119; - /** Lexical state. */ - int DEFAULT = 0; - /** Lexical state. */ - int IN_SINGLE_LINE_COMMENT = 1; - /** Lexical state. */ - int IN_FORMAL_COMMENT = 2; - /** Lexical state. */ - int IN_MULTI_LINE_COMMENT = 3; + /** Lexical state. */ + int DEFAULT = 0; + /** Lexical state. */ + int IN_FORMAL_COMMENT = 1; + /** Lexical state. */ + int IN_MULTI_LINE_COMMENT = 2; - /** Literal token values. */ - String[] tokenImage = { - "", - "", - "\"//\"", - "", - "", - "", - "\"/*\"", - "\"*/\"", - "\"*/\"", - "", - "\"\"", - "\"{\"", - "\"}\"", - "\"|=\"", - "\"^=\"", - "\"$=\"", - "\"*=\"", - "\"~=\"", - "\"=\"", - "\"+\"", - "\"-\"", - "\",\"", - "\";\"", - "\">\"", - "\"~\"", - "\"<\"", - "\"/\"", - "\"[\"", - "\"]\"", - "\"*\"", - "\"%\"", - "\"&\"", - "\".\"", - "\"(\"", - "\")\"", - "\"==\"", - "\"||\"", - "\"&&\"", - "\"!=\"", - "\":\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"to\"", - "\"through\"", - "\"in\"", - "\"from\"", - "\"@mixin\"", - "\"@include\"", - "\"@function\"", - "\"@return\"", - "\"@debug\"", - "\"@warn\"", - "\"@for\"", - "\"@each\"", - "\"@while\"", - "\"@if\"", - "\"@else\"", - "\"@extend\"", - "\"@-moz-document\"", - "\"@supports\"", - "\"@content\"", - "", - "\"if\"", - "", - "", - "", - "", - "<_URL>", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"@import\"", - "\"@media\"", - "\"@charset\"", - "\"@page\"", - "\"@font-face\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }; + /** Literal token values. */ + String[] tokenImage = { "", "", "", + "", "\"/*\"", "\"*/\"", "\"*/\"", + "", "\"\"", "\"{\"", "\"}\"", + "\"|=\"", "\"^=\"", "\"$=\"", "\"*=\"", "\"~=\"", "\"=\"", "\"+\"", + "\"-\"", "\",\"", "\";\"", "\">\"", "\"~\"", "\"<\"", "\"/\"", + "\"[\"", "\"]\"", "\"*\"", "\"%\"", "\"&\"", "\".\"", "\"(\"", + "\")\"", "\"==\"", "\"||\"", "\"&&\"", "\"!=\"", "\":\"", + "", "", "", "", "", + "", "", "", "", "", "\"to\"", + "\"through\"", "\"in\"", "\"from\"", "\"@mixin\"", "\"@include\"", + "\"@function\"", "\"@return\"", "\"@debug\"", "\"@warn\"", + "\"@for\"", "\"@each\"", "\"@while\"", "\"@if\"", "\"@else\"", + "\"@extend\"", "\"@-moz-document\"", "\"@supports\"", + "\"@content\"", "", "\"if\"", "", + "", "", "", "<_URL>", "", "", + "", "", "", "", "", "", "", + "", "", "", "", "", "", "", + "", "", "", "", "", "", + "\"@import\"", "\"@media\"", "\"@charset\"", "\"@page\"", + "\"@font-face\"", "", "", + "", "", "", "", "", + "", "", "", "", "", + "", "", "", "", + "", "", }; } 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 6271673d5d..64e4ceedb2 100644 --- a/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java +++ b/theme-compiler/src/com/vaadin/sass/internal/parser/ParserTokenManager.java @@ -1,3 +1,18 @@ +/* + * 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; import java.io.*; @@ -38,203 +53,222 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) switch (pos) { case 0: - if ((active0 & 0x40000000000000L) != 0L) + if ((active0 & 0xffe0000000000000L) != 0L || (active1 & 0x3e0000000fL) != 0L) { + return 162; + } + if ((active0 & 0xe000000000000L) != 0L || (active1 & 0x20L) != 0L) { - jjmatchedKind = 74; - return 33; + jjmatchedKind = 72; + return 522; } - if ((active0 & 0x8000000000L) != 0L) - return 517; - if ((active0 & 0x10000L) != 0L) - return 79; - if ((active0 & 0x200800L) != 0L) - return 42; - if ((active0 & 0x8000044L) != 0L) - return 3; - if ((active0 & 0xff80000000000000L) != 0L || (active1 & 0xf80000003fL) != 0L) - return 166; - if ((active0 & 0x38000000000000L) != 0L || (active1 & 0x80L) != 0L) + if ((active0 & 0x80000000L) != 0L) { + return 523; + } + if ((active0 & 0x10000000000000L) != 0L) { - jjmatchedKind = 74; - return 518; + jjmatchedKind = 72; + return 29; } - if ((active0 & 0x200000000L) != 0L) - return 519; + if ((active0 & 0x4000L) != 0L) { + return 75; + } + if ((active0 & 0x2000010L) != 0L) { + return 216; + } + if ((active0 & 0x80200L) != 0L) { + return 38; + } + if ((active0 & 0x2000000000L) != 0L) { + return 524; + } return -1; case 1: - if ((active0 & 0x50000000000000L) != 0L) + if ((active1 & 0x2L) != 0L) { + return 174; + } + if ((active0 & 0xffe0000000000000L) != 0L || (active1 & 0x3e0000000dL) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 103; jjmatchedPos = 1; - return 518; + return 525; } - if ((active1 & 0x8L) != 0L) - return 178; - if ((active0 & 0xff80000000000000L) != 0L || (active1 & 0xf800000037L) != 0L) + if ((active0 & 0x14000000000000L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 72; jjmatchedPos = 1; - return 520; + return 522; } - if ((active0 & 0x40L) != 0L) - return 1; - if ((active0 & 0x28000000000000L) != 0L || (active1 & 0x80L) != 0L) - return 518; + if ((active0 & 0xa000000000000L) != 0L || (active1 & 0x20L) != 0L) { + return 522; + } + if ((active0 & 0x10L) != 0L) { + return 221; + } return -1; case 2: - if ((active1 & 0x8L) != 0L) + if ((active0 & 0xbfe0000000000000L) != 0L || (active1 & 0x3e0000000dL) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 2; - return 177; + return 525; } - if ((active1 & 0x1L) != 0L) - return 520; - if ((active0 & 0xff80000000000000L) != 0L || (active1 & 0xf800000036L) != 0L) + if ((active0 & 0x4000000000000000L) != 0L) { + return 525; + } + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 2; - return 520; + return 173; } - if ((active0 & 0x50000000000000L) != 0L) + if ((active0 & 0x14000000000000L) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 72; jjmatchedPos = 2; - return 518; + return 522; } return -1; case 3: - if ((active0 & 0x10000000000000L) != 0L) + if ((active0 & 0xb7e0000000000000L) != 0L || (active1 & 0x3e0000000dL) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 103; jjmatchedPos = 3; - return 518; + return 525; } - if ((active1 & 0x8L) != 0L) + if ((active0 & 0x800000000000000L) != 0L) { + return 525; + } + if ((active0 & 0x4000000000000L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 72; jjmatchedPos = 3; - return 176; + return 522; } - if ((active0 & 0xdf80000000000000L) != 0L || (active1 & 0xf800000036L) != 0L) + if ((active0 & 0x10000000000000L) != 0L) { + return 522; + } + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 3; - return 520; + return 172; } - if ((active0 & 0x2000000000000000L) != 0L) - return 520; - if ((active0 & 0x40000000000000L) != 0L) - return 518; return -1; case 4: - if ((active0 & 0x8f80000000000000L) != 0L || (active1 & 0xb800000034L) != 0L) + if ((active0 & 0x9400000000000000L) != 0L || (active1 & 0x1000000000L) != 0L) { + return 525; + } + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 4; - return 520; + return 171; } - if ((active0 & 0x5000000000000000L) != 0L || (active1 & 0x4000000002L) != 0L) - return 520; - if ((active0 & 0x10000000000000L) != 0L) + if ((active0 & 0x4000000000000L) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 72; jjmatchedPos = 4; - return 518; + return 522; } - if ((active1 & 0x8L) != 0L) + if ((active0 & 0x23e0000000000000L) != 0L || (active1 & 0x2e0000000dL) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 4; - return 175; + return 525; } return -1; case 5: - if ((active0 & 0x700000000000000L) != 0L || (active1 & 0xa800000034L) != 0L) + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 5; - return 520; + return 170; } - if ((active0 & 0x10000000000000L) != 0L) + if ((active0 & 0x4000000000000L) != 0L) { - jjmatchedKind = 74; + jjmatchedKind = 72; jjmatchedPos = 5; - return 518; + return 522; } - if ((active1 & 0x8L) != 0L) + if ((active0 & 0x2220000000000000L) != 0L || (active1 & 0x400000000L) != 0L) { + return 525; + } + if ((active0 & 0x1c0000000000000L) != 0L || (active1 & 0x2a0000000dL) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 5; - return 174; + return 525; } - if ((active0 & 0x8880000000000000L) != 0L || (active1 & 0x1000000000L) != 0L) - return 520; return -1; case 6: - if ((active0 & 0x400000000000000L) != 0L || (active1 & 0x800000004L) != 0L) - return 520; - if ((active0 & 0x300000000000000L) != 0L || (active1 & 0xa000000038L) != 0L) + if ((active0 & 0x100000000000000L) != 0L || (active1 & 0x200000001L) != 0L) { + return 525; + } + if ((active0 & 0x4000000000000L) != 0L) { + return 522; + } + if ((active0 & 0xc0000000000000L) != 0L || (active1 & 0x280000000eL) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 6; - return 520; + return 525; } - if ((active0 & 0x10000000000000L) != 0L) - return 518; return -1; case 7: - if ((active0 & 0x100000000000000L) != 0L || (active1 & 0x2000000020L) != 0L) - return 520; - if ((active0 & 0x200000000000000L) != 0L || (active1 & 0x8000000018L) != 0L) + if ((active0 & 0x40000000000000L) != 0L || (active1 & 0x800000008L) != 0L) { + return 525; + } + if ((active0 & 0x80000000000000L) != 0L || (active1 & 0x2000000006L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 7; - return 520; + return 525; } return -1; case 8: - if ((active0 & 0x200000000000000L) != 0L || (active1 & 0x10L) != 0L) - return 520; - if ((active1 & 0x8000000008L) != 0L) + if ((active1 & 0x2000000002L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 8; - return 520; + return 525; } + if ((active0 & 0x80000000000000L) != 0L || (active1 & 0x4L) != 0L) { + return 525; + } return -1; case 9: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 9; - return 520; + return 525; } - if ((active1 & 0x8000000000L) != 0L) - return 520; + if ((active1 & 0x2000000000L) != 0L) { + return 525; + } return -1; case 10: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 10; - return 520; + return 525; } return -1; case 11: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 11; - return 520; + return 525; } return -1; case 12: - if ((active1 & 0x8L) != 0L) + if ((active1 & 0x2L) != 0L) { - jjmatchedKind = 105; + jjmatchedKind = 103; jjmatchedPos = 12; - return 520; + return 525; } return -1; default : @@ -256,73 +290,73 @@ private int jjMoveStringLiteralDfa0_0() switch(curChar) { case 33: - return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000000000L, 0x0L); case 36: - return jjMoveStringLiteralDfa1_0(0x10000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000L, 0x0L); case 37: - return jjStopAtPos(0, 31); + return jjStopAtPos(0, 29); case 38: - jjmatchedKind = 32; - return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x0L); + jjmatchedKind = 30; + return jjMoveStringLiteralDfa1_0(0x1000000000L, 0x0L); case 40: - return jjStopAtPos(0, 34); + return jjStopAtPos(0, 32); case 41: - return jjStopAtPos(0, 35); + return jjStopAtPos(0, 33); case 42: - jjmatchedKind = 30; - return jjMoveStringLiteralDfa1_0(0x20000L, 0x0L); + jjmatchedKind = 28; + return jjMoveStringLiteralDfa1_0(0x8000L, 0x0L); case 43: - return jjStopAtPos(0, 20); + return jjStopAtPos(0, 18); case 44: - return jjStopAtPos(0, 22); + return jjStopAtPos(0, 20); case 45: - jjmatchedKind = 21; - return jjMoveStringLiteralDfa1_0(0x800L, 0x0L); + jjmatchedKind = 19; + return jjMoveStringLiteralDfa1_0(0x200L, 0x0L); case 46: - return jjStartNfaWithStates_0(0, 33, 519); + return jjStartNfaWithStates_0(0, 31, 523); case 47: - jjmatchedKind = 27; - return jjMoveStringLiteralDfa1_0(0x44L, 0x0L); + jjmatchedKind = 25; + return jjMoveStringLiteralDfa1_0(0x10L, 0x0L); case 58: - return jjStopAtPos(0, 40); + return jjStopAtPos(0, 38); case 59: - return jjStopAtPos(0, 23); + return jjStopAtPos(0, 21); case 60: - jjmatchedKind = 26; - return jjMoveStringLiteralDfa1_0(0x400L, 0x0L); + jjmatchedKind = 24; + return jjMoveStringLiteralDfa1_0(0x100L, 0x0L); case 61: - jjmatchedKind = 19; - return jjMoveStringLiteralDfa1_0(0x1000000000L, 0x0L); + jjmatchedKind = 17; + return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L); case 62: - return jjStopAtPos(0, 24); + return jjStopAtPos(0, 22); case 64: - return jjMoveStringLiteralDfa1_0(0xff80000000000000L, 0xf80000003fL); + return jjMoveStringLiteralDfa1_0(0xffe0000000000000L, 0x3e0000000fL); case 91: - return jjStopAtPos(0, 28); + return jjStopAtPos(0, 26); case 93: - return jjStopAtPos(0, 29); + return jjStopAtPos(0, 27); case 94: - return jjMoveStringLiteralDfa1_0(0x8000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x2000L, 0x0L); case 70: case 102: - return jjMoveStringLiteralDfa1_0(0x40000000000000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x10000000000000L, 0x0L); case 73: case 105: - return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x80L); + return jjMoveStringLiteralDfa1_0(0x8000000000000L, 0x20L); case 84: case 116: - return jjMoveStringLiteralDfa1_0(0x18000000000000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x6000000000000L, 0x0L); case 123: - return jjStopAtPos(0, 12); + return jjStopAtPos(0, 10); case 124: - return jjMoveStringLiteralDfa1_0(0x2000004000L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x800001000L, 0x0L); case 125: - return jjStopAtPos(0, 13); + return jjStopAtPos(0, 11); case 126: - jjmatchedKind = 25; - return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L); + jjmatchedKind = 23; + return jjMoveStringLiteralDfa1_0(0x10000L, 0x0L); default : - return jjMoveNfa_0(4, 0); + return jjMoveNfa_0(24, 0); } } private int jjMoveStringLiteralDfa1_0(long active0, long active1) @@ -335,85 +369,88 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1) switch(curChar) { case 33: - return jjMoveStringLiteralDfa2_0(active0, 0x400L, active1, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x100L, active1, 0L); case 38: - if ((active0 & 0x4000000000L) != 0L) - return jjStopAtPos(1, 38); + if ((active0 & 0x1000000000L) != 0L) { + return jjStopAtPos(1, 36); + } break; case 42: - if ((active0 & 0x40L) != 0L) - return jjStartNfaWithStates_0(1, 6, 1); + if ((active0 & 0x10L) != 0L) { + return jjStartNfaWithStates_0(1, 4, 221); + } break; case 45: - return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x8L); - case 47: - if ((active0 & 0x4L) != 0L) - return jjStopAtPos(1, 2); - break; + return jjMoveStringLiteralDfa2_0(active0, 0x200L, active1, 0x2L); case 61: - if ((active0 & 0x4000L) != 0L) + if ((active0 & 0x1000L) != 0L) { + return jjStopAtPos(1, 12); + } else if ((active0 & 0x2000L) != 0L) { + return jjStopAtPos(1, 13); + } else if ((active0 & 0x4000L) != 0L) { return jjStopAtPos(1, 14); - else if ((active0 & 0x8000L) != 0L) + } else if ((active0 & 0x8000L) != 0L) { return jjStopAtPos(1, 15); - else if ((active0 & 0x10000L) != 0L) + } else if ((active0 & 0x10000L) != 0L) { return jjStopAtPos(1, 16); - else if ((active0 & 0x20000L) != 0L) - return jjStopAtPos(1, 17); - else if ((active0 & 0x40000L) != 0L) - return jjStopAtPos(1, 18); - else if ((active0 & 0x1000000000L) != 0L) - return jjStopAtPos(1, 36); - else if ((active0 & 0x8000000000L) != 0L) - return jjStopAtPos(1, 39); + } else if ((active0 & 0x400000000L) != 0L) { + return jjStopAtPos(1, 34); + } else if ((active0 & 0x2000000000L) != 0L) { + return jjStopAtPos(1, 37); + } break; case 67: case 99: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000020L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000008L); case 68: case 100: - return jjMoveStringLiteralDfa2_0(active0, 0x800000000000000L, active1, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x200000000000000L, active1, 0L); case 69: case 101: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000000L, active1, 0x6L); + return jjMoveStringLiteralDfa2_0(active0, 0x9000000000000000L, active1, 0x1L); case 70: case 102: - if ((active1 & 0x80L) != 0L) - return jjStartNfaWithStates_0(1, 71, 518); - return jjMoveStringLiteralDfa2_0(active0, 0x2200000000000000L, active1, 0x8000000000L); + if ((active1 & 0x20L) != 0L) { + return jjStartNfaWithStates_0(1, 69, 522); + } + return jjMoveStringLiteralDfa2_0(active0, 0x880000000000000L, active1, 0x2000000000L); case 72: case 104: - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0L); case 73: case 105: - return jjMoveStringLiteralDfa2_0(active0, 0x100000000000000L, active1, 0x800000001L); + return jjMoveStringLiteralDfa2_0(active0, 0x4040000000000000L, active1, 0x200000000L); case 77: case 109: - return jjMoveStringLiteralDfa2_0(active0, 0x80000000000000L, active1, 0x1000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0x400000000L); case 78: case 110: - if ((active0 & 0x20000000000000L) != 0L) - return jjStartNfaWithStates_0(1, 53, 518); + if ((active0 & 0x8000000000000L) != 0L) { + return jjStartNfaWithStates_0(1, 51, 522); + } break; case 79: case 111: - if ((active0 & 0x8000000000000L) != 0L) - return jjStartNfaWithStates_0(1, 51, 518); + if ((active0 & 0x2000000000000L) != 0L) { + return jjStartNfaWithStates_0(1, 49, 522); + } break; case 80: case 112: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000000000L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000L); case 82: case 114: - return jjMoveStringLiteralDfa2_0(active0, 0x440000000000000L, active1, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x110000000000000L, active1, 0L); case 83: case 115: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4L); case 87: case 119: - return jjMoveStringLiteralDfa2_0(active0, 0x9000000000000000L, active1, 0L); + return jjMoveStringLiteralDfa2_0(active0, 0x2400000000000000L, active1, 0L); case 124: - if ((active0 & 0x2000000000L) != 0L) - return jjStopAtPos(1, 37); + if ((active0 & 0x800000000L) != 0L) { + return jjStopAtPos(1, 35); + } break; default : break; @@ -422,8 +459,9 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1) } private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(0, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(0, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(1, active0, active1); @@ -432,49 +470,51 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case 45: - return jjMoveStringLiteralDfa3_0(active0, 0x400L, active1, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x100L, active1, 0L); case 62: - if ((active0 & 0x800L) != 0L) - return jjStopAtPos(2, 11); + if ((active0 & 0x200L) != 0L) { + return jjStopAtPos(2, 9); + } break; case 65: case 97: - return jjMoveStringLiteralDfa3_0(active0, 0x5000000000000000L, active1, 0x4000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x1400000000000000L, active1, 0x1000000000L); case 69: case 101: - return jjMoveStringLiteralDfa3_0(active0, 0xc00000000000000L, active1, 0x1000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x300000000000000L, active1, 0x400000000L); case 70: case 102: - if ((active1 & 0x1L) != 0L) - return jjStartNfaWithStates_0(2, 64, 520); + if ((active0 & 0x4000000000000000L) != 0L) { + return jjStartNfaWithStates_0(2, 62, 525); + } break; case 72: case 104: - return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000000L, active1, 0x2000000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x2000000000000000L, active1, 0x800000000L); case 73: case 105: - return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x20000000000000L, active1, 0L); case 76: case 108: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2L); + return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000000L, active1, 0L); case 77: case 109: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000008L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200000002L); case 78: case 110: - return jjMoveStringLiteralDfa3_0(active0, 0x100000000000000L, active1, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000000000000L, active1, 0L); case 79: case 111: - return jjMoveStringLiteralDfa3_0(active0, 0x2040000000000000L, active1, 0x8000000020L); + return jjMoveStringLiteralDfa3_0(active0, 0x810000000000000L, active1, 0x2000000008L); case 82: case 114: - return jjMoveStringLiteralDfa3_0(active0, 0x10000000000000L, active1, 0L); + return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0L); case 85: case 117: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0x10L); + return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L, active1, 0x4L); case 88: case 120: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x4L); + return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1L); default : break; } @@ -482,8 +522,9 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(1, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(1, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(2, active0, active1); @@ -492,55 +533,58 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case 45: - if ((active0 & 0x400L) != 0L) - return jjStopAtPos(3, 10); + if ((active0 & 0x100L) != 0L) { + return jjStopAtPos(3, 8); + } break; case 65: case 97: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x2000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000000L); case 66: case 98: - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L, active1, 0L); case 67: case 99: - return jjMoveStringLiteralDfa4_0(active0, 0x4100000000000000L, active1, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x1040000000000000L, active1, 0L); case 68: case 100: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x400000000L); case 71: case 103: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x4000000000L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x1000000000L); case 73: case 105: - return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, active1, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000000L, active1, 0L); case 77: case 109: - if ((active0 & 0x40000000000000L) != 0L) - return jjStartNfaWithStates_0(3, 54, 518); + if ((active0 & 0x10000000000000L) != 0L) { + return jjStartNfaWithStates_0(3, 52, 522); + } break; case 78: case 110: - return jjMoveStringLiteralDfa4_0(active0, 0x200000000000000L, active1, 0x8000000020L); + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0x2000000008L); case 79: case 111: - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000000L, active1, 0x8L); + return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0x2L); case 80: case 112: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800000010L); + return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x200000004L); case 82: case 114: - if ((active0 & 0x2000000000000000L) != 0L) - return jjStartNfaWithStates_0(3, 61, 520); - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000000L, active1, 0L); + if ((active0 & 0x800000000000000L) != 0L) { + return jjStartNfaWithStates_0(3, 59, 525); + } + return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0L); case 83: case 115: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x2L); + return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, active1, 0L); case 84: case 116: - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x4L); + return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L, active1, 0x1L); case 88: case 120: - return jjMoveStringLiteralDfa4_0(active0, 0x80000000000000L, active1, 0L); + return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0L); default : break; } @@ -548,8 +592,9 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(2, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(2, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(3, active0, active1); @@ -559,48 +604,51 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a { case 67: case 99: - return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L, active1, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0L); case 69: case 101: - if ((active1 & 0x2L) != 0L) - return jjStartNfaWithStates_0(4, 65, 520); - else if ((active1 & 0x4000000000L) != 0L) - return jjStartNfaWithStates_0(4, 102, 520); - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4L); + if ((active0 & 0x8000000000000000L) != 0L) { + return jjStartNfaWithStates_0(4, 63, 525); + } else if ((active1 & 0x1000000000L) != 0L) { + return jjStartNfaWithStates_0(4, 100, 525); + } + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x1L); case 72: case 104: - if ((active0 & 0x4000000000000000L) != 0L) - return jjStartNfaWithStates_0(4, 62, 520); + if ((active0 & 0x1000000000000000L) != 0L) { + return jjStartNfaWithStates_0(4, 60, 525); + } break; case 73: case 105: - return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x1000000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0x400000000L); case 76: case 108: - return jjMoveStringLiteralDfa5_0(active0, 0x8100000000000000L, active1, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x2040000000000000L, active1, 0L); case 78: case 110: - if ((active0 & 0x1000000000000000L) != 0L) - return jjStartNfaWithStates_0(4, 60, 520); + if ((active0 & 0x400000000000000L) != 0L) { + return jjStartNfaWithStates_0(4, 58, 525); + } break; case 79: case 111: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x200000000L); case 80: case 112: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x4L); case 82: case 114: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x800000000L); case 84: case 116: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000000020L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000008L); case 85: case 117: - return jjMoveStringLiteralDfa5_0(active0, 0xc10000000000000L, active1, 0L); + return jjMoveStringLiteralDfa5_0(active0, 0x304000000000000L, active1, 0L); case 90: case 122: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8L); + return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2L); default : break; } @@ -608,8 +656,9 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(3, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(3, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(4, active0, active1); @@ -618,42 +667,46 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case 45: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8000000008L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000002L); case 65: case 97: - if ((active1 & 0x1000000000L) != 0L) - return jjStartNfaWithStates_0(5, 100, 520); + if ((active1 & 0x400000000L) != 0L) { + return jjStartNfaWithStates_0(5, 98, 525); + } break; case 69: case 101: - if ((active0 & 0x8000000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 63, 520); - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x20L); + if ((active0 & 0x2000000000000000L) != 0L) { + return jjStartNfaWithStates_0(5, 61, 525); + } + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x8L); case 71: case 103: - if ((active0 & 0x800000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 59, 520); - return jjMoveStringLiteralDfa6_0(active0, 0x10000000000000L, active1, 0L); + if ((active0 & 0x200000000000000L) != 0L) { + return jjStartNfaWithStates_0(5, 57, 525); + } + return jjMoveStringLiteralDfa6_0(active0, 0x4000000000000L, active1, 0L); case 78: case 110: - if ((active0 & 0x80000000000000L) != 0L) - return jjStartNfaWithStates_0(5, 55, 520); - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4L); + if ((active0 & 0x20000000000000L) != 0L) { + return jjStartNfaWithStates_0(5, 53, 525); + } + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1L); case 79: case 111: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4L); case 82: case 114: - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0x800000000L); + return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L, active1, 0x200000000L); case 83: case 115: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000000000L); + return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x800000000L); case 84: case 116: - return jjMoveStringLiteralDfa6_0(active0, 0x200000000000000L, active1, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L, active1, 0L); case 85: case 117: - return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L, active1, 0L); + return jjMoveStringLiteralDfa6_0(active0, 0x40000000000000L, active1, 0L); default : break; } @@ -661,8 +714,9 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(4, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(4, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(5, active0, active1); @@ -672,35 +726,39 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a { case 68: case 100: - if ((active1 & 0x4L) != 0L) - return jjStartNfaWithStates_0(6, 66, 520); - return jjMoveStringLiteralDfa7_0(active0, 0x100000000000000L, active1, 0x8L); + if ((active1 & 0x1L) != 0L) { + return jjStartNfaWithStates_0(6, 64, 525); + } + return jjMoveStringLiteralDfa7_0(active0, 0x40000000000000L, active1, 0x2L); case 69: case 101: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000000000L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800000000L); case 70: case 102: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8000000000L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x2000000000L); case 72: case 104: - if ((active0 & 0x10000000000000L) != 0L) - return jjStartNfaWithStates_0(6, 52, 518); + if ((active0 & 0x4000000000000L) != 0L) { + return jjStartNfaWithStates_0(6, 50, 522); + } break; case 73: case 105: - return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L, active1, 0L); + return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L, active1, 0L); case 78: case 110: - if ((active0 & 0x400000000000000L) != 0L) - return jjStartNfaWithStates_0(6, 58, 520); - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x20L); + if ((active0 & 0x100000000000000L) != 0L) { + return jjStartNfaWithStates_0(6, 56, 525); + } + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x8L); case 82: case 114: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10L); + return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x4L); case 84: case 116: - if ((active1 & 0x800000000L) != 0L) - return jjStartNfaWithStates_0(6, 99, 520); + if ((active1 & 0x200000000L) != 0L) { + return jjStartNfaWithStates_0(6, 97, 525); + } break; default : break; @@ -709,8 +767,9 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(5, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(5, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(6, active0, active1); @@ -720,22 +779,24 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a { case 65: case 97: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x8000000000L); + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x2000000000L); case 69: case 101: - if ((active0 & 0x100000000000000L) != 0L) - return jjStartNfaWithStates_0(7, 56, 520); + if ((active0 & 0x40000000000000L) != 0L) { + return jjStartNfaWithStates_0(7, 54, 525); + } break; case 79: case 111: - return jjMoveStringLiteralDfa8_0(active0, 0x200000000000000L, active1, 0x8L); + return jjMoveStringLiteralDfa8_0(active0, 0x80000000000000L, active1, 0x2L); case 84: case 116: - if ((active1 & 0x20L) != 0L) - return jjStartNfaWithStates_0(7, 69, 520); - else if ((active1 & 0x2000000000L) != 0L) - return jjStartNfaWithStates_0(7, 101, 520); - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10L); + if ((active1 & 0x8L) != 0L) { + return jjStartNfaWithStates_0(7, 67, 525); + } else if ((active1 & 0x800000000L) != 0L) { + return jjStartNfaWithStates_0(7, 99, 525); + } + return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x4L); default : break; } @@ -743,8 +804,9 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(6, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(6, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(7, active0, active1); @@ -754,16 +816,18 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a { case 67: case 99: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x8000000008L); + return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x2000000002L); case 78: case 110: - if ((active0 & 0x200000000000000L) != 0L) - return jjStartNfaWithStates_0(8, 57, 520); + if ((active0 & 0x80000000000000L) != 0L) { + return jjStartNfaWithStates_0(8, 55, 525); + } break; case 83: case 115: - if ((active1 & 0x10L) != 0L) - return jjStartNfaWithStates_0(8, 68, 520); + if ((active1 & 0x4L) != 0L) { + return jjStartNfaWithStates_0(8, 66, 525); + } break; default : break; @@ -772,8 +836,9 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) - return jjStartNfa_0(7, old0, old1); + if (((active0 &= old0) | (active1 &= old1)) == 0L) { + return jjStartNfa_0(7, old0, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(8, 0L, active1); @@ -783,12 +848,13 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a { case 69: case 101: - if ((active1 & 0x8000000000L) != 0L) - return jjStartNfaWithStates_0(9, 103, 520); + if ((active1 & 0x2000000000L) != 0L) { + return jjStartNfaWithStates_0(9, 101, 525); + } break; case 85: case 117: - return jjMoveStringLiteralDfa10_0(active1, 0x8L); + return jjMoveStringLiteralDfa10_0(active1, 0x2L); default : break; } @@ -796,8 +862,9 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a } private int jjMoveStringLiteralDfa10_0(long old1, long active1) { - if (((active1 &= old1)) == 0L) - return jjStartNfa_0(8, 0L, old1); + if (((active1 &= old1)) == 0L) { + return jjStartNfa_0(8, 0L, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(9, 0L, active1); @@ -807,7 +874,7 @@ private int jjMoveStringLiteralDfa10_0(long old1, long active1) { case 77: case 109: - return jjMoveStringLiteralDfa11_0(active1, 0x8L); + return jjMoveStringLiteralDfa11_0(active1, 0x2L); default : break; } @@ -815,8 +882,9 @@ private int jjMoveStringLiteralDfa10_0(long old1, long active1) } private int jjMoveStringLiteralDfa11_0(long old1, long active1) { - if (((active1 &= old1)) == 0L) - return jjStartNfa_0(9, 0L, old1); + if (((active1 &= old1)) == 0L) { + return jjStartNfa_0(9, 0L, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(10, 0L, active1); @@ -826,7 +894,7 @@ private int jjMoveStringLiteralDfa11_0(long old1, long active1) { case 69: case 101: - return jjMoveStringLiteralDfa12_0(active1, 0x8L); + return jjMoveStringLiteralDfa12_0(active1, 0x2L); default : break; } @@ -834,8 +902,9 @@ private int jjMoveStringLiteralDfa11_0(long old1, long active1) } private int jjMoveStringLiteralDfa12_0(long old1, long active1) { - if (((active1 &= old1)) == 0L) - return jjStartNfa_0(10, 0L, old1); + if (((active1 &= old1)) == 0L) { + return jjStartNfa_0(10, 0L, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(11, 0L, active1); @@ -845,7 +914,7 @@ private int jjMoveStringLiteralDfa12_0(long old1, long active1) { case 78: case 110: - return jjMoveStringLiteralDfa13_0(active1, 0x8L); + return jjMoveStringLiteralDfa13_0(active1, 0x2L); default : break; } @@ -853,8 +922,9 @@ private int jjMoveStringLiteralDfa12_0(long old1, long active1) } private int jjMoveStringLiteralDfa13_0(long old1, long active1) { - if (((active1 &= old1)) == 0L) - return jjStartNfa_0(11, 0L, old1); + if (((active1 &= old1)) == 0L) { + return jjStartNfa_0(11, 0L, old1); +} try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(12, 0L, active1); @@ -864,8 +934,9 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1) { case 84: case 116: - if ((active1 & 0x8L) != 0L) - return jjStartNfaWithStates_0(13, 67, 520); + if ((active1 & 0x2L) != 0L) { + return jjStartNfaWithStates_0(13, 65, 525); + } break; default : break; @@ -886,14 +957,15 @@ static final long[] jjbitVec0 = { private int jjMoveNfa_0(int startState, int curPos) { int startsAt = 0; - jjnewStateCnt = 517; + jjnewStateCnt = 522; int i = 1; jjstateSet[0] = startState; int kind = 0x7fffffff; for (;;) { - if (++jjround == 0x7fffffff) - ReInitRounds(); + if (++jjround == 0x7fffffff) { + ReInitRounds(); + } if (curChar < 64) { long l = 1L << curChar; @@ -901,1768 +973,2268 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 520: - case 113: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - break; - case 166: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 112; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 217; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 205; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 189; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 178; + case 524: + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(256, 265); + } + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(248, 255); + } break; - case 174: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 162: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 108; + } + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 213; + } + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 201; + } + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 185; + } + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 174; + } break; - case 4: - if ((0x3ff000000000000L & l) != 0L) + case 29: + if ((0x3ff200000000000L & l) != 0L) { + jjCheckNAddStates(0, 3); + } else if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(236, 237); + } else if (curChar == 40) { - if (kind > 75) - kind = 75; - jjCheckNAddStates(0, 81); + if (kind > 118) { + kind = 118; + } } - else if ((0x100003600L & l) != 0L) + if ((0x3ff200000000000L & l) != 0L) { - if (kind > 1) - kind = 1; - jjCheckNAdd(0); + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - else if (curChar == 46) - jjCheckNAddStates(82, 101); - else if (curChar == 45) - jjAddStates(102, 103); - else if (curChar == 33) - jjCheckNAddStates(104, 107); - else if (curChar == 35) - jjCheckNAddTwoStates(100, 101); - else if (curChar == 36) - jjCheckNAddStates(108, 111); - else if (curChar == 39) - jjCheckNAddStates(112, 115); - else if (curChar == 34) - jjCheckNAddStates(116, 119); - else if (curChar == 47) - jjstateSet[jjnewStateCnt++] = 3; - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 42; - else if (curChar == 35) - jjstateSet[jjnewStateCnt++] = 5; - break; - case 517: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(251, 260); - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(243, 250); break; - case 518: + case 171: if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(120, 123); - else if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(231, 232); - else if (curChar == 40) { - if (kind > 120) - kind = 120; + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - if ((0x3ff200000000000L & l) != 0L) + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 170; + } + break; + case 523: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(4, 8); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(327, 330); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(324, 326); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(322, 323); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(319, 321); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(314, 318); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(310, 313); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(306, 309); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(303, 305); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(299, 302); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(295, 298); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(292, 294); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(289, 291); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(286, 288); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(283, 285); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(280, 282); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(277, 279); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(274, 276); + } + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(272, 273); + } + if ((0x3ff000000000000L & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 73) { + kind = 73; + } + jjCheckNAdd(271); } break; - case 175: - if ((0x3ff200000000000L & l) != 0L) + case 525: + case 109: + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 216: + if (curChar == 42) { + jjstateSet[jjnewStateCnt++] = 221; + } else if (curChar == 47) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 2) { + kind = 2; + } + jjCheckNAddStates(9, 11); } - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 174; break; - case 33: - if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(120, 123); - else if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(231, 232); - else if (curChar == 40) + case 173: + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 24: + if ((0x3ff000000000000L & l) != 0L) { - if (kind > 120) - kind = 120; + if (kind > 73) { + kind = 73; + } + jjCheckNAddStates(12, 93); } - if ((0x3ff200000000000L & l) != 0L) + else if ((0x100003600L & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 1) { + kind = 1; + } + jjCheckNAdd(0); } + else if (curChar == 46) { + jjCheckNAddStates(94, 113); + } else if (curChar == 45) { + jjAddStates(114, 115); + } else if (curChar == 33) { + jjCheckNAddStates(116, 119); + } else if (curChar == 47) { + jjAddStates(120, 121); + } else if (curChar == 35) { + jjCheckNAddTwoStates(96, 97); + } else if (curChar == 36) { + jjCheckNAddStates(122, 125); + } else if (curChar == 39) { + jjCheckNAddStates(126, 129); + } else if (curChar == 34) { + jjCheckNAddStates(130, 133); + } + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 38; + } else if (curChar == 35) { + jjstateSet[jjnewStateCnt++] = 1; + } break; - case 176: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 172: + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 519: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(124, 128); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(322, 325); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(319, 321); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(317, 318); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(314, 316); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(309, 313); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(305, 308); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(301, 304); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(298, 300); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(294, 297); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(290, 293); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(287, 289); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(284, 286); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(281, 283); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(278, 280); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(275, 277); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(272, 274); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(269, 271); - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(267, 268); - if ((0x3ff000000000000L & l) != 0L) + case 170: + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 75: + if (curChar == 45) { + jjCheckNAdd(76); + } + break; + case 522: + if ((0x3ff200000000000L & l) != 0L) { + jjCheckNAddStates(0, 3); + } else if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(236, 237); + } else if (curChar == 40) { - if (kind > 75) - kind = 75; - jjCheckNAdd(266); + if (kind > 118) { + kind = 118; + } + } + if ((0x3ff200000000000L & l) != 0L) + { + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - break; - case 177: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - break; - case 79: - if (curChar == 45) - jjCheckNAdd(80); break; case 0: - if ((0x100003600L & l) == 0L) - break; - if (kind > 1) - kind = 1; + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 1) { + kind = 1; + } jjCheckNAdd(0); break; - case 1: - if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 2; - break; case 2: - if ((0xffff7fffffffffffL & l) != 0L && kind > 5) - kind = 5; + if (curChar == 36) { + jjCheckNAddStates(134, 137); + } break; case 3: - if (curChar == 42) - jjstateSet[jjnewStateCnt++] = 1; + if (curChar == 45) { + jjCheckNAdd(4); + } break; - case 6: - if (curChar == 36) - jjCheckNAddStates(129, 132); + case 5: + if ((0x3ff200000000000L & l) != 0L) { + jjCheckNAddStates(138, 140); + } break; - case 7: - if (curChar == 45) - jjCheckNAdd(8); + case 8: + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(138, 140); + } break; case 9: - if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(133, 135); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(141, 145); + } + break; + case 10: + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(138, 140); + } + break; + case 11: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(146, 153); + } break; case 12: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(133, 135); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(154, 157); + } break; case 13: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(136, 140); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(158, 162); + } break; case 14: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(133, 135); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(163, 168); + } break; case 15: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(141, 148); - break; - case 16: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(149, 152); - break; - case 17: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(153, 157); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(169, 175); + } break; case 18: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(158, 163); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(176, 180); + } break; case 19: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(164, 170); - break; - case 22: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(171, 175); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(181, 188); + } break; - case 23: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(176, 183); + case 20: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(189, 192); + } break; - case 24: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(184, 187); + case 21: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(193, 197); + } break; - case 25: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(188, 192); + case 22: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(198, 203); + } break; - case 26: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(193, 198); + case 23: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(204, 210); + } break; - case 27: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(199, 205); + case 36: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 35; + } break; - case 28: - if (curChar == 35) - jjstateSet[jjnewStateCnt++] = 5; + case 39: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 38; + } break; case 40: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 39; + if (curChar == 34) { + jjCheckNAddStates(130, 133); + } break; - case 43: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 42; + case 41: + if ((0xfffffffb00000200L & l) != 0L) { + jjCheckNAddStates(130, 133); + } break; - case 44: - if (curChar == 34) - jjCheckNAddStates(116, 119); + case 42: + if (curChar == 34 && kind > 71) { + kind = 71; + } break; - case 45: - if ((0xfffffffb00000200L & l) != 0L) - jjCheckNAddStates(116, 119); + case 44: + if (curChar == 12) { + jjCheckNAddStates(130, 133); + } break; case 46: - if (curChar == 34 && kind > 73) - kind = 73; + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(130, 133); + } + break; + case 47: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(211, 216); + } break; case 48: - if (curChar == 12) - jjCheckNAddStates(116, 119); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(130, 133); + } + break; + case 49: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(217, 225); + } break; case 50: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(116, 119); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(226, 230); + } break; case 51: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(206, 211); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(231, 236); + } break; case 52: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(116, 119); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(237, 243); + } break; case 53: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(212, 220); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(244, 251); + } break; case 54: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(221, 225); + if (curChar == 13) { + jjCheckNAddStates(130, 133); + } break; case 55: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(226, 231); + if (curChar == 10) { + jjCheckNAddStates(130, 133); + } break; case 56: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(232, 238); + if (curChar == 13) { + jjstateSet[jjnewStateCnt++] = 55; + } break; case 57: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(239, 246); + if (curChar == 39) { + jjCheckNAddStates(126, 129); + } break; case 58: - if (curChar == 13) - jjCheckNAddStates(116, 119); + if ((0xffffff7f00000200L & l) != 0L) { + jjCheckNAddStates(126, 129); + } break; case 59: - if (curChar == 10) - jjCheckNAddStates(116, 119); - break; - case 60: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 59; + if (curChar == 39 && kind > 71) { + kind = 71; + } break; case 61: - if (curChar == 39) - jjCheckNAddStates(112, 115); - break; - case 62: - if ((0xffffff7f00000200L & l) != 0L) - jjCheckNAddStates(112, 115); + if (curChar == 12) { + jjCheckNAddStates(126, 129); + } break; case 63: - if (curChar == 39 && kind > 73) - kind = 73; + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(126, 129); + } + break; + case 64: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(252, 257); + } break; case 65: - if (curChar == 12) - jjCheckNAddStates(112, 115); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(126, 129); + } + break; + case 66: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(258, 266); + } break; case 67: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(112, 115); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(267, 271); + } break; case 68: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(247, 252); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(272, 277); + } break; case 69: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(112, 115); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(278, 284); + } break; case 70: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(253, 261); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(285, 292); + } break; case 71: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(262, 266); + if (curChar == 13) { + jjCheckNAddStates(126, 129); + } break; case 72: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(267, 272); + if (curChar == 10) { + jjCheckNAddStates(126, 129); + } break; case 73: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(273, 279); + if (curChar == 13) { + jjstateSet[jjnewStateCnt++] = 72; + } break; case 74: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(280, 287); + if (curChar == 36) { + jjCheckNAddStates(122, 125); + } break; - case 75: - if (curChar == 13) - jjCheckNAddStates(112, 115); + case 77: + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); break; - case 76: - if (curChar == 10) - jjCheckNAddStates(112, 115); - break; - case 77: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 76; + case 79: + if ((0xffffffff00000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); break; - case 78: - if (curChar == 36) - jjCheckNAddStates(108, 111); + case 80: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(293, 296); break; case 81: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); + break; + case 82: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(297, 303); break; case 83: - if ((0xffffffff00000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(304, 306); break; case 84: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(288, 291); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(307, 310); break; case 85: - if ((0x100003600L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(311, 315); break; case 86: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(292, 298); - break; - case 87: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(299, 301); - break; - case 88: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(302, 305); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(316, 321); break; case 89: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(306, 310); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(322, 325); break; case 90: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(311, 316); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(326, 332); + break; + case 91: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(333, 335); + break; + case 92: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(336, 339); break; case 93: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(317, 320); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(340, 344); break; case 94: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(321, 327); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(345, 350); break; case 95: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(328, 330); + if (curChar == 35) { + jjCheckNAddTwoStates(96, 97); + } break; case 96: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(331, 334); - break; - case 97: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(335, 339); + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); break; case 98: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(340, 345); + if ((0xffffffff00000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); break; case 99: - if (curChar == 35) - jjCheckNAddTwoStates(100, 101); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(351, 354); break; case 100: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); + break; + case 101: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(355, 361); break; case 102: - if ((0xffffffff00000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(362, 364); break; case 103: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(346, 349); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(365, 368); break; case 104: - if ((0x100003600L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(369, 373); break; case 105: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(350, 356); - break; - case 106: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(357, 359); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(374, 379); break; case 107: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(360, 363); + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 108; + } break; - case 108: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(364, 368); + case 111: + if ((0xffffffff00000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 109: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(369, 374); + case 112: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(380, 383); break; - case 111: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 112; + case 113: + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 114: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(384, 390); break; case 115: - if ((0xffffffff00000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(391, 393); break; case 116: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(375, 378); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(394, 397); break; case 117: - if ((0x100003600L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(398, 402); break; case 118: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(379, 385); - break; - case 119: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(386, 388); - break; - case 120: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(389, 392); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(403, 408); break; case 121: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(393, 397); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(409, 412); break; case 122: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(398, 403); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(413, 419); + break; + case 123: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(420, 422); + break; + case 124: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(423, 426); break; case 125: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(404, 407); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(427, 431); break; case 126: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(408, 414); - break; - case 127: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(415, 417); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(432, 437); break; case 128: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(418, 421); + if ((0x100003600L & l) != 0L) { + jjAddStates(438, 439); + } break; case 129: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(422, 426); + if (curChar == 40 && kind > 115) { + kind = 115; + } break; - case 130: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(427, 432); - break; - case 132: - if ((0x100003600L & l) != 0L) - jjAddStates(433, 434); + case 136: + if ((0x100003600L & l) != 0L) { + jjAddStates(440, 441); + } break; - case 133: - if (curChar == 40 && kind > 117) - kind = 117; + case 137: + if (curChar == 40 && kind > 116) { + kind = 116; + } break; - case 140: - if ((0x100003600L & l) != 0L) - jjAddStates(435, 436); + case 144: + if ((0x100003600L & l) != 0L) { + jjAddStates(442, 443); + } break; - case 141: - if (curChar == 40 && kind > 118) - kind = 118; + case 145: + if (curChar == 40 && kind > 117) { + kind = 117; + } break; - case 148: - if ((0x100003600L & l) != 0L) - jjAddStates(437, 438); + case 175: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 174; + } break; - case 149: - if (curChar == 40 && kind > 119) - kind = 119; + case 184: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 183; + } break; - case 179: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 178; + case 186: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 185; + } break; - case 188: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 187; + case 195: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 194; + } break; - case 190: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 189; + case 202: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 201; + } break; - case 199: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 198; + case 211: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 210; + } break; - case 206: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 205; + case 214: + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 213; + } break; case 215: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 214; + if (curChar == 47) { + jjAddStates(120, 121); + } + break; + case 217: + if ((0xffffffffffffdbffL & l) == 0L) { + break; + } + if (kind > 2) { + kind = 2; + } + jjCheckNAddStates(9, 11); break; case 218: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 217; + if ((0x2400L & l) != 0L && kind > 2) { + kind = 2; + } + break; + case 219: + if (curChar == 10 && kind > 2) { + kind = 2; + } break; case 220: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (curChar == 13) { + jjstateSet[jjnewStateCnt++] = 219; + } + break; + case 221: + if (curChar == 42) { + jjstateSet[jjnewStateCnt++] = 222; + } break; case 222: - if ((0xffffffff00000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if ((0xffff7fffffffffffL & l) != 0L && kind > 3) { + kind = 3; + } break; case 223: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(439, 442); - break; - case 224: - if ((0x100003600L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (curChar == 42) { + jjstateSet[jjnewStateCnt++] = 221; + } break; case 225: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(443, 449); - break; - case 226: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(450, 452); + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; case 227: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(453, 456); + if ((0xffffffff00000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; case 228: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(457, 461); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(444, 447); break; case 229: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(462, 467); + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; case 230: - if ((0x3ff200000000000L & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(448, 454); break; case 231: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(231, 232); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(455, 457); break; case 232: - if (curChar == 40 && kind > 120) - kind = 120; + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(458, 461); + break; + case 233: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(462, 466); break; case 234: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(467, 472); break; case 235: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(468, 472); + if ((0x3ff200000000000L & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; case 236: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(236, 237); + } break; case 237: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(473, 480); - break; - case 238: - case 452: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(481, 484); + if (curChar == 40 && kind > 118) { + kind = 118; + } break; case 239: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(485, 489); + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; case 240: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(490, 495); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(473, 477); + } break; case 241: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(496, 502); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; case 242: - if (curChar == 33) - jjCheckNAddStates(104, 107); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(478, 485); + } break; case 243: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(243, 250); + case 457: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(486, 489); + } break; - case 251: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(251, 260); + case 244: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(490, 494); + } break; - case 261: - if (curChar == 45) - jjAddStates(102, 103); + case 245: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(495, 500); + } break; - case 265: - if (curChar == 46) - jjCheckNAddStates(82, 101); + case 246: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(501, 507); + } break; - case 266: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 75) - kind = 75; - jjCheckNAdd(266); + case 247: + if (curChar == 33) { + jjCheckNAddStates(116, 119); + } break; - case 267: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(267, 268); + case 248: + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(248, 255); + } break; - case 268: - if (curChar == 37 && kind > 79) - kind = 79; + case 256: + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(256, 265); + } break; - case 269: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(269, 271); + case 266: + if (curChar == 45) { + jjAddStates(114, 115); + } + break; + case 270: + if (curChar == 46) { + jjCheckNAddStates(94, 113); + } + break; + case 271: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 73) { + kind = 73; + } + jjCheckNAdd(271); break; case 272: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(272, 274); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(272, 273); + } break; - case 275: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(275, 277); + case 273: + if (curChar == 37 && kind > 77) { + kind = 77; + } break; - case 278: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(278, 280); + case 274: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(274, 276); + } break; - case 281: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(281, 283); + case 277: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(277, 279); + } break; - case 284: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(284, 286); + case 280: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(280, 282); + } break; - case 287: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(287, 289); + case 283: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(283, 285); + } break; - case 290: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(290, 293); + case 286: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(286, 288); + } break; - case 294: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(294, 297); + case 289: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(289, 291); + } break; - case 298: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(298, 300); + case 292: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(292, 294); + } break; - case 301: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(301, 304); + case 295: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(295, 298); + } break; - case 305: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(305, 308); + case 299: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(299, 302); + } break; - case 309: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(309, 313); + case 303: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(303, 305); + } break; - case 314: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(314, 316); + case 306: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(306, 309); + } break; - case 317: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(317, 318); + case 310: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(310, 313); + } + break; + case 314: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(314, 318); + } break; case 319: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(319, 321); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(319, 321); + } break; case 322: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(322, 325); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(322, 323); + } break; - case 326: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(124, 128); + case 324: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(324, 326); + } break; case 327: - if (curChar == 45) - jjCheckNAdd(328); - break; - case 329: - if ((0x3ff200000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(327, 330); + } break; case 331: - if ((0xffffffff00000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(4, 8); + } break; case 332: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(503, 506); - break; - case 333: - if ((0x100003600L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if (curChar == 45) { + jjCheckNAdd(333); + } break; case 334: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(507, 513); - break; - case 335: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(514, 516); + if ((0x3ff200000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); break; case 336: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(517, 520); + if ((0xffffffff00000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); break; case 337: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(521, 525); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(508, 511); break; case 338: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(526, 531); + if ((0x100003600L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); + break; + case 339: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(512, 518); + break; + case 340: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(519, 521); break; case 341: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(532, 535); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(522, 525); break; case 342: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(536, 542); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(526, 530); break; case 343: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(543, 545); - break; - case 344: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(546, 549); - break; - case 345: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(550, 554); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(531, 536); break; case 346: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(555, 560); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(537, 540); + break; + case 347: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(541, 547); break; case 348: - if (curChar == 40) - jjCheckNAddStates(561, 566); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(548, 550); break; case 349: - if ((0xfffffc7a00000000L & l) != 0L) - jjCheckNAddStates(567, 570); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(551, 554); break; case 350: - if ((0x100003600L & l) != 0L) - jjCheckNAddTwoStates(350, 351); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(555, 559); break; case 351: - if (curChar == 41 && kind > 77) - kind = 77; + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(560, 565); break; case 353: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(567, 570); + if (curChar == 40) { + jjCheckNAddStates(566, 571); + } break; case 354: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(571, 575); + if ((0xfffffc7a00000000L & l) != 0L) { + jjCheckNAddStates(572, 575); + } break; case 355: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(567, 570); + if ((0x100003600L & l) != 0L) { + jjCheckNAddTwoStates(355, 356); + } break; case 356: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(576, 583); - break; - case 357: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(584, 587); + if (curChar == 41 && kind > 75) { + kind = 75; + } break; case 358: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(588, 592); + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(572, 575); + } break; case 359: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(593, 598); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(576, 580); + } break; case 360: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(599, 605); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(572, 575); + } break; case 361: - if (curChar == 39) - jjCheckNAddStates(606, 609); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(581, 588); + } break; case 362: - if ((0xffffff7f00000200L & l) != 0L) - jjCheckNAddStates(606, 609); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(589, 592); + } break; case 363: - if (curChar == 39) - jjCheckNAddTwoStates(350, 351); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(593, 597); + } + break; + case 364: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(598, 603); + } break; case 365: - if (curChar == 12) - jjCheckNAddStates(606, 609); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(604, 610); + } + break; + case 366: + if (curChar == 39) { + jjCheckNAddStates(611, 614); + } break; case 367: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(606, 609); + if ((0xffffff7f00000200L & l) != 0L) { + jjCheckNAddStates(611, 614); + } break; case 368: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(610, 615); - break; - case 369: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(606, 609); + if (curChar == 39) { + jjCheckNAddTwoStates(355, 356); + } break; case 370: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(616, 624); - break; - case 371: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(625, 629); + if (curChar == 12) { + jjCheckNAddStates(611, 614); + } break; case 372: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(630, 635); + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(611, 614); + } break; case 373: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(636, 642); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(615, 620); + } break; case 374: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(643, 650); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(611, 614); + } break; case 375: - if (curChar == 13) - jjCheckNAddStates(606, 609); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(621, 629); + } break; case 376: - if (curChar == 10) - jjCheckNAddStates(606, 609); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(630, 634); + } break; case 377: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 376; + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(635, 640); + } break; case 378: - if (curChar == 34) - jjCheckNAddStates(651, 654); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(641, 647); + } break; case 379: - if ((0xfffffffb00000200L & l) != 0L) - jjCheckNAddStates(651, 654); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(648, 655); + } break; case 380: - if (curChar == 34) - jjCheckNAddTwoStates(350, 351); + if (curChar == 13) { + jjCheckNAddStates(611, 614); + } + break; + case 381: + if (curChar == 10) { + jjCheckNAddStates(611, 614); + } break; case 382: - if (curChar == 12) - jjCheckNAddStates(651, 654); + if (curChar == 13) { + jjstateSet[jjnewStateCnt++] = 381; + } + break; + case 383: + if (curChar == 34) { + jjCheckNAddStates(656, 659); + } break; case 384: - if ((0xffffffff00000000L & l) != 0L) - jjCheckNAddStates(651, 654); + if ((0xfffffffb00000200L & l) != 0L) { + jjCheckNAddStates(656, 659); + } break; case 385: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(655, 660); - break; - case 386: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(651, 654); + if (curChar == 34) { + jjCheckNAddTwoStates(355, 356); + } break; case 387: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(661, 669); - break; - case 388: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(670, 674); + if (curChar == 12) { + jjCheckNAddStates(656, 659); + } break; case 389: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(675, 680); + if ((0xffffffff00000000L & l) != 0L) { + jjCheckNAddStates(656, 659); + } break; case 390: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(681, 687); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(660, 665); + } break; case 391: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(688, 695); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(656, 659); + } break; case 392: - if (curChar == 13) - jjCheckNAddStates(651, 654); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(666, 674); + } break; case 393: - if (curChar == 10) - jjCheckNAddStates(651, 654); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(675, 679); + } break; case 394: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 393; + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(680, 685); + } break; case 395: - if ((0x100003600L & l) != 0L) - jjCheckNAddStates(696, 702); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(686, 692); + } + break; + case 396: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(693, 700); + } + break; + case 397: + if (curChar == 13) { + jjCheckNAddStates(656, 659); + } break; case 398: - if (curChar == 43) - jjAddStates(703, 704); + if (curChar == 10) { + jjCheckNAddStates(656, 659); + } break; case 399: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 400; + if (curChar == 13) { + jjstateSet[jjnewStateCnt++] = 398; + } break; case 400: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(705, 708); - break; - case 401: - if (curChar == 63 && kind > 116) - kind = 116; - break; - case 402: - case 417: - case 421: - case 424: - case 427: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAdd(401); + if ((0x100003600L & l) != 0L) { + jjCheckNAddStates(701, 707); + } break; case 403: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(401, 402); + if (curChar == 43) { + jjAddStates(708, 709); + } break; case 404: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(709, 711); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 405; break; case 405: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjAddStates(712, 717); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(710, 713); break; case 406: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 407; + if (curChar == 63 && kind > 114) { + kind = 114; + } break; case 407: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 408; + case 422: + case 426: + case 429: + case 432: + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAdd(406); break; case 408: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAdd(409); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(406, 407); break; case 409: - if ((0x3ff000000000000L & l) != 0L && kind > 116) - kind = 116; + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(714, 716); break; case 410: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 411; + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjAddStates(717, 722); break; case 411: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 412; + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 412; + } break; case 412: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 413; + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 413; + } break; case 413: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAdd(401); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAdd(414); + } break; case 414: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 415; + if ((0x3ff000000000000L & l) != 0L && kind > 114) { + kind = 114; + } break; case 415: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 416; + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 416; + } break; case 416: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 417; + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 417; + } + break; + case 417: + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 418; + } break; case 418: - if ((0x3ff000000000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 419; + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAdd(406); break; case 419: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 420; + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 420; + } break; case 420: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(401, 421); + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 421; + } break; - case 422: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 423; + case 421: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 422; break; case 423: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(718, 720); + if ((0x3ff000000000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 424; + } + break; + case 424: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 425; break; case 425: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(401, 424); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(406, 426); break; - case 426: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(721, 724); + case 427: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 428; break; case 428: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(401, 427); - break; - case 429: - if (curChar != 63) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(725, 727); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(723, 725); break; case 430: - if (curChar == 43) - jjstateSet[jjnewStateCnt++] = 431; + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(406, 429); break; case 431: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(432, 438); - break; - case 432: - if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 433; + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(726, 729); break; case 433: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 434; + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(406, 432); break; case 434: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(728, 731); + if (curChar != 63) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(730, 732); break; case 435: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAdd(409); + if (curChar == 43) { + jjstateSet[jjnewStateCnt++] = 436; + } break; case 436: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(409, 435); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(437, 443); + } break; case 437: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(732, 734); + if (curChar == 45) { + jjstateSet[jjnewStateCnt++] = 438; + } break; case 438: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(735, 739); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 439; break; case 439: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAdd(432); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(733, 736); break; case 440: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(439, 432); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAdd(414); break; case 441: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(740, 742); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(414, 440); break; case 442: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(743, 746); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(737, 739); + break; + case 443: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(740, 744); + } break; case 444: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(747, 750); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAdd(437); + } break; case 445: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(751, 757); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(444, 437); + } break; case 446: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(758, 760); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(745, 747); + } break; case 447: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(761, 764); - break; - case 448: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(765, 769); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(748, 751); + } break; case 449: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(770, 775); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(752, 755); break; case 450: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(776, 780); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(756, 762); break; case 451: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(781, 788); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(763, 765); + break; + case 452: + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(766, 769); break; case 453: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(789, 793); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(770, 774); break; case 454: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(794, 799); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(775, 780); break; case 455: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(800, 806); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(781, 785); + } break; case 456: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 75) - kind = 75; - jjCheckNAddStates(0, 81); - break; - case 457: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 75) - kind = 75; - jjCheckNAdd(457); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(786, 793); + } break; case 458: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(458, 459); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(794, 798); + } break; case 459: - if (curChar == 46) - jjCheckNAdd(266); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(799, 804); + } break; case 460: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(460, 268); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(805, 811); + } break; case 461: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(461, 462); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 73) { + kind = 73; + } + jjCheckNAddStates(12, 93); break; case 462: - if (curChar == 46) - jjCheckNAdd(267); + if ((0x3ff000000000000L & l) == 0L) { + break; + } + if (kind > 73) { + kind = 73; + } + jjCheckNAdd(462); break; case 463: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(463, 271); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(463, 464); + } break; case 464: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(464, 465); + if (curChar == 46) { + jjCheckNAdd(271); + } break; case 465: - if (curChar == 46) - jjCheckNAdd(269); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(465, 273); + } break; case 466: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(466, 274); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(466, 467); + } break; case 467: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(467, 468); + if (curChar == 46) { + jjCheckNAdd(272); + } break; case 468: - if (curChar == 46) - jjCheckNAdd(272); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(468, 276); + } break; case 469: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(469, 277); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(469, 470); + } break; case 470: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(470, 471); + if (curChar == 46) { + jjCheckNAdd(274); + } break; case 471: - if (curChar == 46) - jjCheckNAdd(275); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(471, 279); + } break; case 472: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(472, 280); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(472, 473); + } break; case 473: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(473, 474); + if (curChar == 46) { + jjCheckNAdd(277); + } break; case 474: - if (curChar == 46) - jjCheckNAdd(278); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(474, 282); + } break; case 475: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(475, 283); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(475, 476); + } break; case 476: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(476, 477); + if (curChar == 46) { + jjCheckNAdd(280); + } break; case 477: - if (curChar == 46) - jjCheckNAdd(281); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(477, 285); + } break; case 478: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(478, 286); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(478, 479); + } break; case 479: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(479, 480); + if (curChar == 46) { + jjCheckNAdd(283); + } break; case 480: - if (curChar == 46) - jjCheckNAdd(284); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(480, 288); + } break; case 481: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(481, 289); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(481, 482); + } break; case 482: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(482, 483); + if (curChar == 46) { + jjCheckNAdd(286); + } break; case 483: - if (curChar == 46) - jjCheckNAdd(287); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(483, 291); + } break; case 484: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(484, 293); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(484, 485); + } break; case 485: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(485, 486); + if (curChar == 46) { + jjCheckNAdd(289); + } break; case 486: - if (curChar == 46) - jjCheckNAdd(290); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(486, 294); + } break; case 487: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(487, 297); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(487, 488); + } break; case 488: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(488, 489); + if (curChar == 46) { + jjCheckNAdd(292); + } break; case 489: - if (curChar == 46) - jjCheckNAdd(294); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(489, 298); + } break; case 490: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(490, 300); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(490, 491); + } break; case 491: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(491, 492); + if (curChar == 46) { + jjCheckNAdd(295); + } break; case 492: - if (curChar == 46) - jjCheckNAdd(298); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(492, 302); + } break; case 493: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(493, 304); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(493, 494); + } break; case 494: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(494, 495); + if (curChar == 46) { + jjCheckNAdd(299); + } break; case 495: - if (curChar == 46) - jjCheckNAdd(301); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(495, 305); + } break; case 496: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(496, 308); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(496, 497); + } break; case 497: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(497, 498); + if (curChar == 46) { + jjCheckNAdd(303); + } break; case 498: - if (curChar == 46) - jjCheckNAdd(305); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(498, 309); + } break; case 499: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(499, 313); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(499, 500); + } break; case 500: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(500, 501); + if (curChar == 46) { + jjCheckNAdd(306); + } break; case 501: - if (curChar == 46) - jjCheckNAdd(309); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(501, 313); + } break; case 502: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(502, 316); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(502, 503); + } break; case 503: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(503, 504); + if (curChar == 46) { + jjCheckNAdd(310); + } break; case 504: - if (curChar == 46) - jjCheckNAdd(314); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(504, 318); + } break; case 505: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(505, 318); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(505, 506); + } break; case 506: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(506, 507); + if (curChar == 46) { + jjCheckNAdd(314); + } break; case 507: - if (curChar == 46) - jjCheckNAdd(317); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(507, 321); + } break; case 508: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(508, 321); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(508, 509); + } break; case 509: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(509, 510); + if (curChar == 46) { + jjCheckNAdd(319); + } break; case 510: - if (curChar == 46) - jjCheckNAdd(319); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(510, 323); + } break; case 511: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(511, 325); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(511, 512); + } break; case 512: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(512, 513); + if (curChar == 46) { + jjCheckNAdd(322); + } break; case 513: - if (curChar == 46) - jjCheckNAdd(322); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(513, 326); + } break; case 514: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddStates(807, 811); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(514, 515); + } break; case 515: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(515, 516); + if (curChar == 46) { + jjCheckNAdd(324); + } break; case 516: - if (curChar == 46) - jjCheckNAdd(326); + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(516, 330); + } + break; + case 517: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(517, 518); + } + break; + case 518: + if (curChar == 46) { + jjCheckNAdd(327); + } + break; + case 519: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddStates(812, 816); + } + break; + case 520: + if ((0x3ff000000000000L & l) != 0L) { + jjCheckNAddTwoStates(520, 521); + } + break; + case 521: + if (curChar == 46) { + jjCheckNAdd(331); + } break; default : break; } @@ -2675,1693 +3247,2131 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 520: - if ((0x7fffffe87fffffeL & l) != 0L) - { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 116); + case 524: + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 264; + } else if ((0x1000000010L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 254; + } break; - case 166: + case 162: if ((0x7fffffe07fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 125); - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 165; + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 121); + } + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 161; + } break; - case 174: + case 29: + if ((0x7fffffe87fffffeL & l) != 0L) { + jjCheckNAddStates(0, 3); + } else if (curChar == 92) { + jjCheckNAddTwoStates(227, 228); + } if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 116); - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 173; + else if (curChar == 92) { + jjCheckNAddTwoStates(239, 240); + } + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 28; + } break; - case 4: - if ((0x7fffffe07fffffeL & l) != 0L) + case 171: + if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddStates(812, 817); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - 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); + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } break; - case 517: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 259; - else if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 249; + case 525: + if ((0x7fffffe87fffffeL & l) != 0L) + { + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + } + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } break; - case 178: + case 38: + if ((0x7fffffe07fffffeL & l) != 0L) { + jjCheckNAddStates(0, 3); + } if ((0x7fffffe07fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 216; - else if ((0x80000000800000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 204; - else if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 188; - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 177; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 37; + } break; - case 518: - if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(120, 123); - else if (curChar == 92) - jjCheckNAddTwoStates(222, 223); + case 173: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - else if (curChar == 92) - jjCheckNAddTwoStates(234, 235); + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } + if ((0x8000000080000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 211; + } else if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 172; + } break; - case 175: - if ((0x7fffffe87fffffeL & l) != 0L) + case 24: + if ((0x7fffffe07fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(817, 822); } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 116); + else if (curChar == 92) { + jjCheckNAddStates(823, 826); + } else if (curChar == 64) { + jjAddStates(827, 831); + } + if ((0x20000000200000L & l) != 0L) { + jjAddStates(832, 834); + } else if ((0x800000008L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 151; + } else if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 141; + } else if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 133; + } else if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 29; + } else if (curChar == 64) { + jjAddStates(835, 838); + } break; - case 33: - if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(120, 123); - else if (curChar == 92) - jjCheckNAddTwoStates(222, 223); + case 172: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - else if (curChar == 92) - jjCheckNAddTwoStates(234, 235); - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 32; + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } + if ((0x400000004000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 171; + } break; - case 176: + case 170: if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 116); - if ((0x400000004000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 175; + else if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 169; + } break; - case 42: - if ((0x7fffffe07fffffeL & l) != 0L) - jjCheckNAddStates(120, 123); + case 174: if ((0x7fffffe07fffffeL & l) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); } - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 41; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 212; + } else if ((0x80000000800000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 200; + } else if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 184; + } + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 173; + } break; - case 177: - if ((0x7fffffe87fffffeL & l) != 0L) + case 75: + if ((0x7fffffe07fffffeL & l) != 0L) { - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); } - else if (curChar == 92) - jjCheckNAddTwoStates(115, 116); - if ((0x8000000080000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 215; - else if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 176; - break; - case 79: - if ((0x7fffffe07fffffeL & l) != 0L) + else if (curChar == 92) { + jjCheckNAddTwoStates(79, 89); + } + break; + case 522: + if ((0x7fffffe87fffffeL & l) != 0L) { + jjCheckNAddStates(0, 3); + } else if (curChar == 92) { + jjCheckNAddTwoStates(227, 228); + } + if ((0x7fffffe87fffffeL & l) != 0L) { - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - else if (curChar == 92) - jjCheckNAddTwoStates(83, 93); + else if (curChar == 92) { + jjCheckNAddTwoStates(239, 240); + } break; - case 2: - if (kind > 5) - kind = 5; + case 1: + if (curChar == 123) { + jjstateSet[jjnewStateCnt++] = 2; + } + break; + case 4: + if ((0x7fffffe07fffffeL & l) != 0L) { + jjCheckNAddStates(138, 140); + } break; case 5: - if (curChar == 123) - jjstateSet[jjnewStateCnt++] = 6; + if ((0x7fffffe87fffffeL & l) != 0L) { + jjCheckNAddStates(138, 140); + } + break; + case 6: + if (curChar == 125 && kind > 39) { + kind = 39; + } + break; + case 7: + if (curChar == 92) { + jjCheckNAddTwoStates(8, 9); + } break; case 8: - if ((0x7fffffe07fffffeL & l) != 0L) - jjCheckNAddStates(133, 135); + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(138, 140); + } break; case 9: - if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(133, 135); - break; - case 10: - if (curChar == 125 && kind > 41) - kind = 41; + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(141, 145); + } break; case 11: - if (curChar == 92) - jjCheckNAddTwoStates(12, 13); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(146, 153); + } break; case 12: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(133, 135); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(154, 157); + } break; case 13: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(136, 140); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(158, 162); + } break; - case 15: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(141, 148); + case 14: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(163, 168); + } break; - case 16: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(149, 152); + case 15: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(169, 175); + } break; case 17: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(153, 157); + if (curChar == 92) { + jjCheckNAddTwoStates(8, 18); + } break; case 18: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(158, 163); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(176, 180); + } break; case 19: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(164, 170); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(181, 188); + } + break; + case 20: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(189, 192); + } break; case 21: - if (curChar == 92) - jjCheckNAddTwoStates(12, 22); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(193, 197); + } break; case 22: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(171, 175); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(198, 203); + } break; case 23: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(176, 183); - break; - case 24: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(184, 187); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(204, 210); + } break; case 25: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(188, 192); + if ((0x4000000040000L & l) != 0L && kind > 68) { + kind = 68; + } break; case 26: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(193, 198); + case 31: + if ((0x2000000020L & l) != 0L) { + jjCheckNAdd(25); + } break; case 27: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(199, 205); + if ((0x10000000100000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 26; + } break; - case 29: - if ((0x4000000040000L & l) != 0L && kind > 70) - kind = 70; + case 28: + if ((0x100000001000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 27; + } break; case 30: - case 35: - if ((0x2000000020L & l) != 0L) - jjCheckNAdd(29); - break; - case 31: - if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 30; + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 29; + } break; case 32: - if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 31; + if ((0x10000000100000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 31; + } + break; + case 33: + if ((0x100000001000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 32; + } break; case 34: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 33; + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 33; + } break; - case 36: - if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 35; + case 35: + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 34; + } break; case 37: - if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 36; - break; - case 38: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 37; - break; - case 39: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 38; + if ((0x8000000080000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 36; + } break; case 41: - if ((0x8000000080000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 40; + case 46: + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(130, 133); + } + break; + case 43: + if (curChar == 92) { + jjAddStates(839, 842); + } break; case 45: - case 50: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(116, 119); + if (curChar == 92) { + jjAddStates(843, 844); + } break; case 47: - if (curChar == 92) - jjAddStates(834, 837); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(211, 216); + } break; case 49: - if (curChar == 92) - jjAddStates(838, 839); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(217, 225); + } break; - case 51: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(206, 211); + case 50: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(226, 230); + } break; - case 53: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(212, 220); + case 51: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(231, 236); + } break; - case 54: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(221, 225); + case 52: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(237, 243); + } break; - case 55: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(226, 231); + case 53: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(244, 251); + } break; - case 56: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(232, 238); + case 58: + case 63: + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(126, 129); + } break; - case 57: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(239, 246); + case 60: + if (curChar == 92) { + jjAddStates(845, 848); + } break; case 62: - case 67: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(112, 115); + if (curChar == 92) { + jjAddStates(849, 850); + } break; case 64: - if (curChar == 92) - jjAddStates(840, 843); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(252, 257); + } break; case 66: - if (curChar == 92) - jjAddStates(844, 845); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(258, 266); + } + break; + case 67: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(267, 271); + } break; case 68: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(247, 252); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(272, 277); + } + break; + case 69: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(278, 284); + } break; case 70: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(253, 261); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(285, 292); + } break; - case 71: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(262, 266); + case 76: + if ((0x7fffffe07fffffeL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); break; - case 72: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(267, 272); + case 77: + if ((0x7fffffe87fffffeL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); break; - case 73: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(273, 279); + case 78: + if (curChar == 92) { + jjCheckNAddTwoStates(79, 80); + } break; - case 74: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(280, 287); + case 79: + if ((0x7fffffffffffffffL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); break; case 80: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); - break; - case 81: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(293, 296); break; case 82: - if (curChar == 92) - jjCheckNAddTwoStates(83, 84); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(297, 303); break; case 83: - if ((0x7fffffffffffffffL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(304, 306); break; case 84: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(288, 291); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(307, 310); + break; + case 85: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(311, 315); break; case 86: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(292, 298); - break; - case 87: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(299, 301); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(316, 321); break; case 88: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(302, 305); + if (curChar == 92) { + jjCheckNAddTwoStates(79, 89); + } break; case 89: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(306, 310); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(322, 325); break; case 90: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(311, 316); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(326, 332); + break; + case 91: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(333, 335); break; case 92: - if (curChar == 92) - jjCheckNAddTwoStates(83, 93); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(336, 339); break; case 93: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(317, 320); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(340, 344); break; case 94: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(321, 327); - break; - case 95: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(328, 330); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddStates(345, 350); break; case 96: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(331, 334); + if ((0x7fffffe87fffffeL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); break; case 97: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(335, 339); + if (curChar == 92) { + jjAddStates(851, 852); + } break; case 98: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddStates(340, 345); + if ((0x7fffffffffffffffL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); break; - case 100: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + case 99: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(351, 354); break; case 101: - if (curChar == 92) - jjAddStates(846, 847); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(355, 361); break; case 102: - if ((0x7fffffffffffffffL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(362, 364); break; case 103: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(346, 349); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(365, 368); + break; + case 104: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(369, 373); break; case 105: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(350, 356); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddStates(374, 379); break; case 106: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(357, 359); - break; - case 107: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(360, 363); + if (curChar == 64) { + jjAddStates(835, 838); + } break; case 108: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(364, 368); + if ((0x7fffffe07fffffeL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; case 109: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddStates(369, 374); + if ((0x7fffffe87fffffeL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; case 110: - if (curChar == 64) - jjAddStates(830, 833); + if (curChar == 92) { + jjCheckNAddTwoStates(111, 112); + } break; - case 112: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 111: + if ((0x7fffffffffffffffL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 113: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 112: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(380, 383); break; case 114: - if (curChar == 92) - jjCheckNAddTwoStates(115, 116); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(384, 390); break; case 115: - if ((0x7fffffffffffffffL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(391, 393); break; case 116: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(375, 378); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(394, 397); + break; + case 117: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(398, 402); break; case 118: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(379, 385); - break; - case 119: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(386, 388); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(403, 408); break; case 120: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(389, 392); + if (curChar == 92) { + jjCheckNAddTwoStates(111, 121); + } break; case 121: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(393, 397); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(409, 412); break; case 122: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(398, 403); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(413, 419); + break; + case 123: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(420, 422); break; case 124: - if (curChar == 92) - jjCheckNAddTwoStates(115, 125); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(423, 426); break; case 125: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(404, 407); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(427, 431); break; case 126: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(408, 414); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddStates(432, 437); break; case 127: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(415, 417); - break; - case 128: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(418, 421); - break; - case 129: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(422, 426); + if ((0x2000000020L & l) != 0L) { + jjAddStates(438, 439); + } break; case 130: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddStates(427, 432); + if ((0x40000000400000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 127; + } break; case 131: - if ((0x2000000020L & l) != 0L) - jjAddStates(433, 434); + if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 130; + } break; - case 134: - if ((0x40000000400000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 131; + case 132: + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 131; + } break; - case 135: - if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 134; + case 133: + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 132; + } break; - case 136: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 135; + case 134: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 133; + } break; - case 137: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 136; + case 135: + if ((0x1000000010L & l) != 0L) { + jjAddStates(440, 441); + } break; case 138: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 137; + if ((0x400000004000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 135; + } break; case 139: - if ((0x1000000010L & l) != 0L) - jjAddStates(435, 436); + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 138; + } break; - case 142: - if ((0x400000004000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 139; + case 140: + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 139; + } break; - case 143: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 142; + case 141: + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 140; + } break; - case 144: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 143; + case 142: + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 141; + } break; - case 145: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 144; + case 143: + if ((0x8000000080000L & l) != 0L) { + jjAddStates(442, 443); + } break; case 146: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 145; + if ((0x400000004000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 143; + } break; case 147: - if ((0x8000000080000L & l) != 0L) - jjAddStates(437, 438); + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 146; + } + break; + case 148: + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 147; + } + break; + case 149: + if ((0x10000000100000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 148; + } break; case 150: - if ((0x400000004000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 147; + if ((0x400000004000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 149; + } break; case 151: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 150; + if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 150; + } break; case 152: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 151; + if ((0x800000008L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 151; + } break; case 153: - if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 152; + if (curChar == 64) { + jjAddStates(827, 831); + } break; case 154: - if ((0x400000004000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 153; + if ((0x8000000080000L & l) != 0L && kind > 102) { + kind = 102; + } break; case 155: - if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 154; + case 163: + case 176: + case 187: + case 203: + if ((0x2000000020L & l) != 0L) { + jjCheckNAdd(154); + } break; case 156: - if ((0x800000008L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 155; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 155; + } break; case 157: - if (curChar == 64) - jjAddStates(822, 826); + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 156; + } break; case 158: - if ((0x8000000080000L & l) != 0L && kind > 104) - kind = 104; + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 157; + } break; case 159: - case 167: - case 180: - case 191: - case 207: - if ((0x2000000020L & l) != 0L) - jjCheckNAdd(158); + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 158; + } break; case 160: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 159; + if ((0x200000002000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 159; + } break; case 161: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 160; - break; - case 162: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 161; - break; - case 163: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 162; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 160; + } break; case 164: - if ((0x200000002000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 163; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 163; + } break; case 165: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 164; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 164; + } + break; + case 166: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 165; + } + break; + case 167: + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 166; + } break; case 168: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 167; + if ((0x200000002000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 167; + } break; case 169: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 168; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 168; + } break; - case 170: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 169; + case 177: + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 176; + } break; - case 171: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 170; + case 178: + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 177; + } break; - case 172: - if ((0x200000002000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 171; + case 179: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 178; + } break; - case 173: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 172; + case 180: + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 179; + } break; case 181: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 180; + if ((0x200000002000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 180; + } break; case 182: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 181; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 181; + } break; case 183: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 182; - break; - case 184: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 183; + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 182; + } break; case 185: - if ((0x200000002000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 184; + if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 184; + } break; - case 186: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 185; - break; - case 187: - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 186; + case 188: + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 187; + } break; case 189: - if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 188; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 188; + } + break; + case 190: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 189; + } + break; + case 191: + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 190; + } break; case 192: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 191; + if ((0x200000002000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 191; + } break; case 193: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 192; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 192; + } break; case 194: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 193; - break; - case 195: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 194; + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 193; + } break; case 196: - if ((0x200000002000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 195; + if ((0x10000000100000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 195; + } break; case 197: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 196; + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 196; + } break; case 198: - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 197; + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 197; + } + break; + case 199: + if ((0x400000004L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 198; + } break; case 200: - if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 199; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 199; + } break; case 201: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 200; - break; - case 202: - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 201; - break; - case 203: - if ((0x400000004L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 202; + if ((0x80000000800000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 200; + } break; case 204: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 203; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 203; + } break; case 205: - if ((0x80000000800000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 204; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 204; + } + break; + case 206: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 205; + } + break; + case 207: + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 206; + } break; case 208: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 207; + if ((0x200000002000000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 207; + } break; case 209: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 208; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 208; + } break; case 210: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 209; - break; - case 211: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 210; + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 209; + } break; case 212: - if ((0x200000002000000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 211; + if ((0x8000000080000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 211; + } break; case 213: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 212; - break; - case 214: - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 213; - break; - case 216: - if ((0x8000000080000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 215; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 212; + } break; case 217: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 216; - break; - case 220: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); - break; - case 221: - if (curChar == 92) - jjCheckNAddTwoStates(222, 223); + if (kind > 2) { + kind = 2; + } + jjAddStates(9, 11); break; case 222: - if ((0x7fffffffffffffffL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); - break; - case 223: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(439, 442); + if (kind > 3) { + kind = 3; + } break; case 225: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(443, 449); + if ((0x7fffffe87fffffeL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; case 226: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(450, 452); + if (curChar == 92) { + jjCheckNAddTwoStates(227, 228); + } break; case 227: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(453, 456); + if ((0x7fffffffffffffffL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; case 228: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(457, 461); - break; - case 229: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(462, 467); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(444, 447); break; case 230: - if ((0x7fffffe87fffffeL & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(448, 454); + break; + case 231: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(455, 457); + break; + case 232: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(458, 461); break; case 233: - if (curChar == 92) - jjCheckNAddTwoStates(234, 235); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(462, 466); break; case 234: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(467, 472); break; case 235: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(468, 472); - break; - case 237: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(473, 480); + if ((0x7fffffe87fffffeL & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; case 238: - case 452: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(481, 484); + if (curChar == 92) { + jjCheckNAddTwoStates(239, 240); + } break; case 239: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(485, 489); + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; case 240: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(490, 495); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(473, 477); + } break; - case 241: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(496, 502); + case 242: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(478, 485); + } + break; + case 243: + case 457: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(486, 489); + } break; case 244: - if ((0x10000000100000L & l) != 0L && kind > 72) - kind = 72; + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(490, 494); + } break; case 245: - if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 244; + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(495, 500); + } break; case 246: - if ((0x20000000200000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 245; - break; - case 247: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 246; - break; - case 248: - if ((0x4000000040L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 247; + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(501, 507); + } break; case 249: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 248; + if ((0x10000000100000L & l) != 0L && kind > 70) { + kind = 70; + } break; case 250: - if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 249; + if ((0x100000001000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 249; + } + break; + case 251: + if ((0x20000000200000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 250; + } break; case 252: - if ((0x10000000100000L & l) != 0L && kind > 106) - kind = 106; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 251; + } break; case 253: - if ((0x400000004000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 252; + if ((0x4000000040L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 252; + } break; case 254: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 253; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 253; + } break; case 255: - if ((0x10000000100000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 254; - break; - case 256: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 255; + if ((0x1000000010L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 254; + } break; case 257: - if ((0x800000008000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 256; + if ((0x10000000100000L & l) != 0L && kind > 104) { + kind = 104; + } break; case 258: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 257; + if ((0x400000004000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 257; + } break; case 259: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 258; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 258; + } break; case 260: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 259; + if ((0x10000000100000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 259; + } + break; + case 261: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 260; + } break; case 262: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if ((0x800000008000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 261; + } break; case 263: - if ((0x7fffffe07fffffeL & l) != 0L) - jjCheckNAddStates(120, 123); + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 262; + } break; case 264: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(812, 817); + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 263; + } break; - case 270: - if ((0x10000000100000L & l) != 0L && kind > 80) - kind = 80; + case 265: + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 264; + } break; - case 271: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 270; + case 267: + if ((0x7fffffe07fffffeL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; - case 273: - if ((0x200000002000L & l) != 0L && kind > 81) - kind = 81; + case 268: + if ((0x7fffffe07fffffeL & l) != 0L) { + jjCheckNAddStates(0, 3); + } break; - case 274: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 273; + case 269: + if ((0x7fffffe07fffffeL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(817, 822); + break; + case 275: + if ((0x10000000100000L & l) != 0L && kind > 78) { + kind = 78; + } break; case 276: - if ((0x200000002000L & l) != 0L && kind > 82) - kind = 82; + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 275; + } break; - case 277: - if ((0x800000008L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 276; + case 278: + if ((0x200000002000L & l) != 0L && kind > 79) { + kind = 79; + } break; case 279: - if ((0x800000008L & l) != 0L && kind > 83) - kind = 83; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 278; + } break; - case 280: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 279; + case 281: + if ((0x200000002000L & l) != 0L && kind > 80) { + kind = 80; + } break; case 282: - if ((0x400000004000L & l) != 0L && kind > 84) - kind = 84; + if ((0x800000008L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 281; + } break; - case 283: - if ((0x20000000200L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 282; + case 284: + if ((0x800000008L & l) != 0L && kind > 81) { + kind = 81; + } break; case 285: - if ((0x100000001000000L & l) != 0L && kind > 85) - kind = 85; + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 284; + } break; - case 286: - if ((0x1000000010000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 285; + case 287: + if ((0x400000004000L & l) != 0L && kind > 82) { + kind = 82; + } break; case 288: - if ((0x200000002000L & l) != 0L && kind > 86) - kind = 86; + if ((0x20000000200L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 287; + } break; - case 289: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 288; + case 290: + if ((0x100000001000000L & l) != 0L && kind > 83) { + kind = 83; + } break; case 291: - if ((0x200000002000L & l) != 0L && kind > 87) - kind = 87; - break; - case 292: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 291; + if ((0x1000000010000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 290; + } break; case 293: - if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 292; + if ((0x200000002000L & l) != 0L && kind > 84) { + kind = 84; + } break; - case 295: - if ((0x200000002000L & l) != 0L && kind > 88) - kind = 88; + case 294: + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 293; + } break; case 296: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 295; + if ((0x200000002000L & l) != 0L && kind > 85) { + kind = 85; + } break; case 297: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 296; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 296; + } break; - case 299: - if ((0x100000001000000L & l) != 0L && kind > 89) - kind = 89; + case 298: + if ((0x100000001000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 297; + } break; case 300: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 299; + if ((0x200000002000L & l) != 0L && kind > 86) { + kind = 86; + } break; - case 302: - if ((0x8000000080L & l) != 0L && kind > 90) - kind = 90; + case 301: + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 300; + } break; - case 303: - if ((0x2000000020L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 302; + case 302: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 301; + } break; case 304: - if ((0x1000000010L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 303; + if ((0x100000001000000L & l) != 0L && kind > 87) { + kind = 87; + } break; - case 306: - if ((0x1000000010L & l) != 0L && kind > 91) - kind = 91; + case 305: + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 304; + } break; case 307: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 306; + if ((0x8000000080L & l) != 0L && kind > 88) { + kind = 88; + } break; case 308: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 307; + if ((0x2000000020L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 307; + } break; - case 310: - if ((0x1000000010L & l) != 0L && kind > 92) - kind = 92; + case 309: + if ((0x1000000010L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 308; + } break; case 311: - if ((0x200000002L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 310; + if ((0x1000000010L & l) != 0L && kind > 89) { + kind = 89; + } break; case 312: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 311; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 311; + } break; case 313: - if ((0x8000000080L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 312; + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 312; + } break; case 315: - if ((0x8000000080000L & l) != 0L && kind > 93) - kind = 93; + if ((0x1000000010L & l) != 0L && kind > 90) { + kind = 90; + } break; case 316: - if ((0x200000002000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 315; + if ((0x200000002L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 315; + } + break; + case 317: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 316; + } break; case 318: - if ((0x8000000080000L & l) != 0L && kind > 94) - kind = 94; + if ((0x8000000080L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 317; + } break; case 320: - if ((0x400000004000000L & l) != 0L && kind > 95) - kind = 95; + if ((0x8000000080000L & l) != 0L && kind > 91) { + kind = 91; + } break; case 321: - if ((0x10000000100L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 320; + if ((0x200000002000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 320; + } break; case 323: - if ((0x400000004000000L & l) != 0L && kind > 96) - kind = 96; - break; - case 324: - if ((0x10000000100L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 323; + if ((0x8000000080000L & l) != 0L && kind > 92) { + kind = 92; + } break; case 325: - if ((0x80000000800L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 324; + if ((0x400000004000000L & l) != 0L && kind > 93) { + kind = 93; + } + break; + case 326: + if ((0x10000000100L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 325; + } break; case 328: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if ((0x400000004000000L & l) != 0L && kind > 94) { + kind = 94; + } break; case 329: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if ((0x10000000100L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 328; + } break; case 330: - if (curChar == 92) - jjCheckNAddTwoStates(331, 332); - break; - case 331: - if ((0x7fffffffffffffffL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + if ((0x80000000800L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 329; + } break; - case 332: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(503, 506); + case 333: + if ((0x7fffffe07fffffeL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); break; case 334: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(507, 513); + if ((0x7fffffe87fffffeL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); break; case 335: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(514, 516); + if (curChar == 92) { + jjCheckNAddTwoStates(336, 337); + } break; case 336: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(517, 520); + if ((0x7fffffffffffffffL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); break; case 337: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(521, 525); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(508, 511); break; - case 338: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(526, 531); + case 339: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(512, 518); break; case 340: - if (curChar == 92) - jjCheckNAddTwoStates(331, 341); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(519, 521); break; case 341: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(532, 535); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(522, 525); break; case 342: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(536, 542); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(526, 530); break; case 343: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(543, 545); - break; - case 344: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(546, 549); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(531, 536); break; case 345: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(550, 554); + if (curChar == 92) { + jjCheckNAddTwoStates(336, 346); + } break; case 346: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddStates(555, 560); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(537, 540); break; case 347: - if ((0x20000000200000L & l) != 0L) - jjAddStates(827, 829); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(541, 547); + break; + case 348: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(548, 550); break; case 349: - case 353: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(567, 570); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(551, 554); + break; + case 350: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(555, 559); + break; + case 351: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddStates(560, 565); break; case 352: - if (curChar == 92) - jjAddStates(848, 849); + if ((0x20000000200000L & l) != 0L) { + jjAddStates(832, 834); + } break; case 354: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(571, 575); - break; - case 356: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(576, 583); + case 358: + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(572, 575); + } break; case 357: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(584, 587); - break; - case 358: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(588, 592); + if (curChar == 92) { + jjAddStates(853, 854); + } break; case 359: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(593, 598); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(576, 580); + } break; - case 360: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(599, 605); + case 361: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(581, 588); + } break; case 362: - case 367: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(606, 609); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(589, 592); + } + break; + case 363: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(593, 597); + } break; case 364: - if (curChar == 92) - jjAddStates(850, 853); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(598, 603); + } break; - case 366: - if (curChar == 92) - jjAddStates(854, 855); + case 365: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(604, 610); + } break; - case 368: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(610, 615); + case 367: + case 372: + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(611, 614); + } break; - case 370: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(616, 624); + case 369: + if (curChar == 92) { + jjAddStates(855, 858); + } break; case 371: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(625, 629); - break; - case 372: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(630, 635); + if (curChar == 92) { + jjAddStates(859, 860); + } break; case 373: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(636, 642); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(615, 620); + } break; - case 374: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(643, 650); + case 375: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(621, 629); + } break; - case 379: - case 384: - if ((0x7fffffffffffffffL & l) != 0L) - jjCheckNAddStates(651, 654); + case 376: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(630, 634); + } break; - case 381: - if (curChar == 92) - jjAddStates(856, 859); + case 377: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(635, 640); + } break; - case 383: - if (curChar == 92) - jjAddStates(860, 861); + case 378: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(641, 647); + } break; - case 385: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(655, 660); + case 379: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(648, 655); + } break; - case 387: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(661, 669); + case 384: + case 389: + if ((0x7fffffffffffffffL & l) != 0L) { + jjCheckNAddStates(656, 659); + } break; - case 388: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(670, 674); + case 386: + if (curChar == 92) { + jjAddStates(861, 864); + } break; - case 389: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(675, 680); + case 388: + if (curChar == 92) { + jjAddStates(865, 866); + } break; case 390: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(681, 687); - break; - case 391: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(688, 695); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(660, 665); + } break; - case 396: - if ((0x100000001000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 348; + case 392: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(666, 674); + } break; - case 397: - if ((0x4000000040000L & l) != 0L) - jjstateSet[jjnewStateCnt++] = 396; + case 393: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(675, 679); + } break; - case 405: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjAddStates(712, 717); + case 394: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(680, 685); + } break; - case 406: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 407; + case 395: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(686, 692); + } break; - case 407: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 408; + case 396: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(693, 700); + } break; - case 408: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAdd(409); + case 401: + if ((0x100000001000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 353; + } break; - case 409: - if ((0x7e0000007eL & l) != 0L && kind > 116) - kind = 116; + case 402: + if ((0x4000000040000L & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 401; + } break; case 410: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 411; + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjAddStates(717, 722); break; case 411: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 412; + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 412; + } break; case 412: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 413; + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 413; + } break; case 413: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 401; + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAdd(414); + } break; case 414: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 415; + if ((0x7e0000007eL & l) != 0L && kind > 114) { + kind = 114; + } break; case 415: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 416; + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 416; + } break; case 416: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 417; + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 417; + } + break; + case 417: + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 418; + } break; case 418: - if ((0x7e0000007eL & l) != 0L) - jjstateSet[jjnewStateCnt++] = 419; + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 406; break; case 419: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 420; + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 420; + } break; - case 422: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 423; + case 420: + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 421; + } break; - case 431: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddTwoStates(432, 438); + case 421: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 422; break; - case 433: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjstateSet[jjnewStateCnt++] = 434; + case 423: + if ((0x7e0000007eL & l) != 0L) { + jjstateSet[jjnewStateCnt++] = 424; + } break; - case 434: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(728, 731); + case 424: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 425; break; - case 435: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAdd(409); + case 427: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 428; break; case 436: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddTwoStates(409, 435); - break; - case 437: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 116) - kind = 116; - jjCheckNAddStates(732, 734); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddTwoStates(437, 443); + } break; case 438: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(735, 739); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjstateSet[jjnewStateCnt++] = 439; break; case 439: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAdd(432); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(733, 736); break; case 440: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddTwoStates(439, 432); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAdd(414); break; case 441: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(740, 742); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddTwoStates(414, 440); break; case 442: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(743, 746); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 114) { + kind = 114; + } + jjCheckNAddStates(737, 739); break; case 443: - if (curChar == 92) - jjCheckNAddStates(818, 821); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(740, 744); + } break; case 444: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(747, 750); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAdd(437); + } break; case 445: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(751, 757); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddTwoStates(444, 437); + } break; case 446: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(758, 760); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(745, 747); + } break; case 447: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(761, 764); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(748, 751); + } break; case 448: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(765, 769); + if (curChar == 92) { + jjCheckNAddStates(823, 826); + } break; case 449: - if ((0x7e0000007eL & l) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddStates(770, 775); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(752, 755); break; case 450: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(776, 780); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(756, 762); break; case 451: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(781, 788); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(763, 765); + break; + case 452: + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(766, 769); break; case 453: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(789, 793); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(770, 774); break; case 454: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(794, 799); + if ((0x7e0000007eL & l) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddStates(775, 780); break; case 455: - if ((0x7e0000007eL & l) != 0L) - jjCheckNAddStates(800, 806); + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(781, 785); + } + break; + case 456: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(786, 793); + } + break; + case 458: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(794, 798); + } + break; + case 459: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(799, 804); + } + break; + case 460: + if ((0x7e0000007eL & l) != 0L) { + jjCheckNAddStates(805, 811); + } break; default : break; } @@ -4375,150 +5385,193 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 520: - case 113: - case 115: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - break; - case 166: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - break; - case 174: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); - break; - case 4: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 42) - kind = 42; - jjCheckNAddStates(812, 817); + case 162: + case 111: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 518: + case 29: if ((jjbitVec0[i2] & l2) != 0L) { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); } - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(120, 123); + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(0, 3); + } break; - case 175: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 171: + case 109: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 525: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 33: - if ((jjbitVec0[i2] & l2) != 0L) - { - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); - } - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(120, 123); + case 173: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; - case 176: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 24: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 40) { + kind = 40; + } + jjCheckNAddStates(817, 822); break; - case 177: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 105) - kind = 105; - jjCheckNAddTwoStates(113, 114); + case 172: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); + break; + case 170: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 103) { + kind = 103; + } + jjCheckNAddTwoStates(109, 110); break; + case 75: + case 77: case 79: - case 81: - case 83: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 78) - kind = 78; - jjCheckNAddTwoStates(81, 82); + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 76) { + kind = 76; + } + jjCheckNAddTwoStates(77, 78); + break; + case 522: + if ((jjbitVec0[i2] & l2) != 0L) + { + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); + } + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(0, 3); + } break; - case 2: - if ((jjbitVec0[i2] & l2) != 0L && kind > 5) - kind = 5; + case 5: + case 8: + case 16: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(138, 140); + } break; - case 9: - case 12: - case 20: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(133, 135); + case 41: + case 46: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(130, 133); + } break; - case 45: - case 50: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(116, 119); + case 58: + case 63: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(126, 129); + } break; - case 62: - case 67: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(112, 115); + case 96: + case 98: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 96) { + kind = 96; + } + jjCheckNAddTwoStates(96, 97); break; - case 100: - case 102: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 98) - kind = 98; - jjCheckNAddTwoStates(100, 101); + case 217: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 2) { + kind = 2; + } + jjAddStates(9, 11); break; - case 220: case 222: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 74) - kind = 74; - jjCheckNAddTwoStates(220, 221); + if ((jjbitVec0[i2] & l2) != 0L && kind > 3) { + kind = 3; + } break; - case 230: - case 234: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(120, 123); + case 225: + case 227: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 72) { + kind = 72; + } + jjCheckNAddTwoStates(225, 226); break; - case 329: - case 331: - case 339: - if ((jjbitVec0[i2] & l2) == 0L) - break; - if (kind > 97) - kind = 97; - jjCheckNAddTwoStates(329, 330); + case 235: + case 239: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(0, 3); + } break; - case 349: - case 353: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(567, 570); + case 334: + case 336: + case 344: + if ((jjbitVec0[i2] & l2) == 0L) { + break; + } + if (kind > 95) { + kind = 95; + } + jjCheckNAddTwoStates(334, 335); + break; + case 354: + case 358: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(572, 575); + } break; - case 362: case 367: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(606, 609); + case 372: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(611, 614); + } break; - case 379: case 384: - if ((jjbitVec0[i2] & l2) != 0L) - jjCheckNAddStates(651, 654); + case 389: + if ((jjbitVec0[i2] & l2) != 0L) { + jjCheckNAddStates(656, 659); + } break; default : break; } @@ -4531,23 +5584,24 @@ private int jjMoveNfa_0(int startState, int curPos) kind = 0x7fffffff; } ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 517 - (jjnewStateCnt = startsAt))) - return curPos; + if ((i = jjnewStateCnt) == (startsAt = 522 - (jjnewStateCnt = startsAt))) { + return curPos; + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } } -private int jjMoveStringLiteralDfa0_3() +private int jjMoveStringLiteralDfa0_2() { switch(curChar) { case 42: - return jjMoveStringLiteralDfa1_3(0x100L); + return jjMoveStringLiteralDfa1_2(0x40L); default : return 1; } } -private int jjMoveStringLiteralDfa1_3(long active0) +private int jjMoveStringLiteralDfa1_2(long active0) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { @@ -4556,8 +5610,9 @@ private int jjMoveStringLiteralDfa1_3(long active0) switch(curChar) { case 47: - if ((active0 & 0x100L) != 0L) - return jjStopAtPos(1, 8); + if ((active0 & 0x40L) != 0L) { + return jjStopAtPos(1, 6); + } break; default : return 2; @@ -4565,111 +5620,16 @@ private int jjMoveStringLiteralDfa1_3(long active0) return 2; } private int jjMoveStringLiteralDfa0_1() -{ - return jjMoveNfa_1(0, 0); -} -private int jjMoveNfa_1(int startState, int curPos) -{ - int startsAt = 0; - jjnewStateCnt = 4; - int i = 1; - jjstateSet[0] = startState; - int kind = 0x7fffffff; - for (;;) - { - if (++jjround == 0x7fffffff) - ReInitRounds(); - if (curChar < 64) - { - long l = 1L << curChar; - do - { - switch(jjstateSet[--i]) - { - case 0: - if ((0xffffffffffffdbffL & l) != 0L) - { - if (kind > 3) - kind = 3; - } - else if ((0x2400L & l) != 0L) - { - if (kind > 4) - kind = 4; - } - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 2; - break; - case 1: - if ((0x2400L & l) != 0L && kind > 4) - kind = 4; - break; - case 2: - if (curChar == 10 && kind > 4) - kind = 4; - break; - case 3: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 2; - break; - default : break; - } - } while(i != startsAt); - } - else if (curChar < 128) - { - long l = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 0: - kind = 3; - break; - default : break; - } - } while(i != startsAt); - } - else - { - int i2 = (curChar & 0xff) >> 6; - long l2 = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 0: - if ((jjbitVec0[i2] & l2) != 0L && kind > 3) - kind = 3; - break; - default : break; - } - } while(i != startsAt); - } - if (kind != 0x7fffffff) - { - jjmatchedKind = kind; - jjmatchedPos = curPos; - kind = 0x7fffffff; - } - ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 4 - (jjnewStateCnt = startsAt))) - return curPos; - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { return curPos; } - } -} -private int jjMoveStringLiteralDfa0_2() { switch(curChar) { case 42: - return jjMoveStringLiteralDfa1_2(0x80L); + return jjMoveStringLiteralDfa1_1(0x20L); default : return 1; } } -private int jjMoveStringLiteralDfa1_2(long active0) +private int jjMoveStringLiteralDfa1_1(long active0) { try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { @@ -4678,8 +5638,9 @@ private int jjMoveStringLiteralDfa1_2(long active0) switch(curChar) { case 47: - if ((active0 & 0x80L) != 0L) - return jjStopAtPos(1, 7); + if ((active0 & 0x20L) != 0L) { + return jjStopAtPos(1, 5); + } break; default : return 2; @@ -4687,106 +5648,106 @@ private int jjMoveStringLiteralDfa1_2(long active0) return 2; } 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, + 235, 236, 237, 238, 331, 332, 333, 344, 345, 217, 218, 220, 462, 463, 464, 465, + 466, 467, 273, 468, 469, 470, 276, 471, 472, 473, 279, 474, 475, 476, 282, 477, + 478, 479, 285, 480, 481, 482, 288, 483, 484, 485, 291, 486, 487, 488, 294, 489, + 490, 491, 298, 492, 493, 494, 302, 495, 496, 497, 305, 498, 499, 500, 309, 501, + 502, 503, 313, 504, 505, 506, 318, 507, 508, 509, 321, 510, 511, 512, 323, 513, + 514, 515, 326, 516, 517, 518, 330, 519, 520, 521, 332, 333, 344, 345, 271, 272, + 274, 277, 280, 283, 286, 289, 292, 295, 299, 303, 306, 310, 314, 319, 322, 324, + 327, 331, 267, 268, 248, 255, 256, 265, 216, 223, 75, 76, 87, 88, 58, 59, + 60, 62, 41, 42, 43, 45, 3, 4, 16, 17, 5, 6, 7, 5, 10, 6, + 7, 11, 5, 12, 10, 6, 7, 13, 14, 15, 5, 10, 6, 7, 5, 12, + 10, 6, 7, 5, 12, 10, 6, 7, 13, 5, 12, 10, 6, 7, 13, 14, + 10, 5, 6, 7, 19, 20, 10, 5, 6, 7, 21, 22, 23, 10, 5, 6, + 7, 20, 10, 5, 6, 7, 20, 10, 5, 6, 7, 21, 20, 10, 5, 6, + 7, 21, 22, 41, 48, 42, 43, 45, 49, 41, 50, 48, 42, 43, 45, 51, + 52, 53, 41, 48, 42, 43, 45, 41, 50, 48, 42, 43, 45, 41, 50, 48, + 42, 43, 45, 51, 41, 50, 48, 42, 43, 45, 51, 52, 58, 65, 59, 60, + 62, 66, 58, 67, 65, 59, 60, 62, 68, 69, 70, 58, 65, 59, 60, 62, + 58, 67, 65, 59, 60, 62, 58, 67, 65, 59, 60, 62, 68, 58, 67, 65, + 59, 60, 62, 68, 69, 77, 81, 78, 82, 77, 83, 81, 78, 84, 85, 86, + 77, 81, 78, 77, 83, 81, 78, 77, 83, 81, 78, 84, 77, 83, 81, 78, + 84, 85, 81, 77, 78, 90, 91, 81, 77, 78, 92, 93, 94, 81, 77, 78, + 91, 81, 77, 78, 91, 81, 77, 78, 92, 91, 81, 77, 78, 92, 93, 96, + 100, 97, 101, 96, 102, 100, 97, 103, 104, 105, 96, 100, 97, 96, 102, 100, + 97, 96, 102, 100, 97, 103, 96, 102, 100, 97, 103, 104, 109, 113, 110, 114, + 109, 115, 113, 110, 116, 117, 118, 109, 113, 110, 109, 115, 113, 110, 109, 115, + 113, 110, 116, 109, 115, 113, 110, 116, 117, 113, 109, 110, 122, 123, 113, 109, + 110, 124, 125, 126, 113, 109, 110, 123, 113, 109, 110, 123, 113, 109, 110, 124, + 123, 113, 109, 110, 124, 125, 128, 129, 136, 137, 144, 145, 225, 229, 226, 230, + 225, 231, 229, 226, 232, 233, 234, 225, 229, 226, 225, 231, 229, 226, 225, 231, + 229, 226, 232, 225, 231, 229, 226, 232, 233, 235, 237, 238, 241, 242, 235, 243, + 237, 238, 241, 244, 245, 246, 235, 237, 238, 241, 235, 243, 237, 238, 241, 235, + 243, 237, 238, 241, 244, 235, 243, 237, 238, 241, 244, 245, 334, 338, 335, 339, + 334, 340, 338, 335, 341, 342, 343, 334, 338, 335, 334, 340, 338, 335, 334, 340, + 338, 335, 341, 334, 340, 338, 335, 341, 342, 338, 334, 335, 347, 348, 338, 334, + 335, 349, 350, 351, 338, 334, 335, 348, 338, 334, 335, 348, 338, 334, 335, 349, + 348, 338, 334, 335, 349, 350, 354, 366, 383, 356, 357, 400, 354, 355, 356, 357, + 354, 356, 357, 360, 361, 354, 362, 356, 357, 360, 363, 364, 365, 354, 356, 357, + 360, 354, 362, 356, 357, 360, 354, 362, 356, 357, 360, 363, 354, 362, 356, 357, + 360, 363, 364, 367, 368, 369, 371, 367, 374, 368, 369, 371, 375, 367, 376, 374, + 368, 369, 371, 377, 378, 379, 367, 374, 368, 369, 371, 367, 376, 374, 368, 369, + 371, 367, 376, 374, 368, 369, 371, 377, 367, 376, 374, 368, 369, 371, 377, 378, + 384, 385, 386, 388, 384, 391, 385, 386, 388, 392, 384, 393, 391, 385, 386, 388, + 394, 395, 396, 384, 391, 385, 386, 388, 384, 393, 391, 385, 386, 388, 384, 393, + 391, 385, 386, 388, 394, 384, 393, 391, 385, 386, 388, 394, 395, 354, 366, 383, + 355, 356, 357, 400, 404, 410, 406, 407, 408, 409, 406, 407, 408, 411, 415, 419, + 423, 427, 431, 406, 429, 430, 406, 432, 433, 434, 406, 432, 433, 414, 440, 441, + 442, 414, 440, 441, 444, 437, 445, 446, 447, 444, 437, 445, 444, 437, 445, 446, + 229, 225, 226, 450, 451, 229, 225, 226, 452, 453, 454, 229, 225, 226, 451, 229, + 225, 226, 451, 229, 225, 226, 452, 451, 229, 225, 226, 452, 453, 235, 237, 238, + 241, 456, 457, 235, 237, 238, 241, 458, 459, 460, 457, 235, 237, 238, 241, 457, + 235, 237, 238, 241, 458, 457, 235, 237, 238, 241, 458, 459, 519, 332, 333, 344, + 345, 225, 235, 236, 237, 238, 226, 227, 449, 239, 455, 162, 175, 186, 202, 214, + 402, 403, 435, 107, 108, 119, 120, 44, 54, 56, 55, 46, 47, 61, 71, 73, + 72, 63, 64, 98, 99, 358, 359, 370, 380, 382, 381, 372, 373, 387, 397, 399, + 398, 389, 390, }; /** Token literal values. */ public static final String[] jjstrLiteralImages = { -"", null, null, null, null, null, null, null, null, null, "\74\41\55\55", -"\55\55\76", "\173", "\175", "\174\75", "\136\75", "\44\75", "\52\75", "\176\75", "\75", -"\53", "\55", "\54", "\73", "\76", "\176", "\74", "\57", "\133", "\135", "\52", -"\45", "\46", "\56", "\50", "\51", "\75\75", "\174\174", "\46\46", "\41\75", "\72", +"", null, null, null, null, null, null, null, "\74\41\55\55", "\55\55\76", +"\173", "\175", "\174\75", "\136\75", "\44\75", "\52\75", "\176\75", "\75", "\53", +"\55", "\54", "\73", "\76", "\176", "\74", "\57", "\133", "\135", "\52", "\45", +"\46", "\56", "\50", "\51", "\75\75", "\174\174", "\46\46", "\41\75", "\72", 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, 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", - "IN_SINGLE_LINE_COMMENT", "IN_FORMAL_COMMENT", "IN_MULTI_LINE_COMMENT", }; /** Lex State array. */ public static final int[] jjnewLexState = { - -1, -1, 1, -1, 0, 2, 3, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, 2, 0, 0, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0xfff807fffffffc03L, 0x3f007ffffffefffL, + 0xfffe01ffffffff03L, 0xfc01fffffffbffL, }; static final long[] jjtoSkip = { - 0x190L, 0x0L, + 0x64L, 0x0L, }; static final long[] jjtoSpecial = { - 0x80L, 0x0L, + 0x24L, 0x0L, }; static final long[] jjtoMore = { - 0x26cL, 0x0L, + 0x98L, 0x0L, }; protected CharStream input_stream; -private final int[] jjrounds = new int[517]; -private final int[] jjstateSet = new int[1034]; +private final int[] jjrounds = new int[522]; +private final int[] jjstateSet = new int[1044]; private final StringBuilder jjimage = new StringBuilder(); private StringBuilder image = jjimage; private int jjimageLen; @@ -4815,8 +5776,9 @@ private void ReInitRounds() { int i; jjround = 0x80000001; - for (i = 517; i-- > 0;) - jjrounds[i] = 0x80000000; + for (i = 522; i-- > 0;) { + jjrounds[i] = 0x80000000; +} } /** Reinitialise parser. */ @@ -4829,10 +5791,11 @@ public void ReInit(CharStream stream, int lexState) /** Switch to specified lex state. */ public void SwitchTo(int lexState) { - if (lexState >= 4 || lexState < 0) - throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); - else - curLexState = lexState; + if (lexState >= 3 || lexState < 0) { + throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); +} else { + curLexState = lexState; +} } protected Token jjFillToken() @@ -4899,46 +5862,43 @@ public Token getNextToken() jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; curPos = jjMoveStringLiteralDfa0_0(); - if (jjmatchedPos == 0 && jjmatchedKind > 121) + if (jjmatchedPos == 0 && jjmatchedKind > 119) { - jjmatchedKind = 121; + jjmatchedKind = 119; } break; case 1: jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; curPos = jjMoveStringLiteralDfa0_1(); - break; - case 2: - jjmatchedKind = 0x7fffffff; - jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_2(); - if (jjmatchedPos == 0 && jjmatchedKind > 9) + if (jjmatchedPos == 0 && jjmatchedKind > 7) { - jjmatchedKind = 9; + jjmatchedKind = 7; } break; - case 3: + case 2: jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_3(); - if (jjmatchedPos == 0 && jjmatchedKind > 9) + curPos = jjMoveStringLiteralDfa0_2(); + if (jjmatchedPos == 0 && jjmatchedKind > 7) { - jjmatchedKind = 9; + jjmatchedKind = 7; } break; } if (jjmatchedKind != 0x7fffffff) { - if (jjmatchedPos + 1 < curPos) - input_stream.backup(curPos - jjmatchedPos - 1); + if (jjmatchedPos + 1 < curPos) { + input_stream.backup(curPos - jjmatchedPos - 1); + } if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) { matchedToken = jjFillToken(); matchedToken.specialToken = specialToken; TokenLexicalActions(matchedToken); - if (jjnewLexState[jjmatchedKind] != -1) - curLexState = jjnewLexState[jjmatchedKind]; + if (jjnewLexState[jjmatchedKind] != -1) { + curLexState = jjnewLexState[jjmatchedKind]; + } return matchedToken; } else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) @@ -4946,24 +5906,26 @@ public Token getNextToken() if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) { matchedToken = jjFillToken(); - if (specialToken == null) - specialToken = matchedToken; - else + if (specialToken == null) { + specialToken = matchedToken; + } else { matchedToken.specialToken = specialToken; specialToken = (specialToken.next = matchedToken); } SkipLexicalActions(matchedToken); - } - else - SkipLexicalActions(null); - if (jjnewLexState[jjmatchedKind] != -1) - curLexState = jjnewLexState[jjmatchedKind]; + } else { + SkipLexicalActions(null); + } + if (jjnewLexState[jjmatchedKind] != -1) { + curLexState = jjnewLexState[jjmatchedKind]; + } continue EOFLoop; } MoreLexicalActions(); - if (jjnewLexState[jjmatchedKind] != -1) + if (jjnewLexState[jjmatchedKind] != -1) { curLexState = jjnewLexState[jjmatchedKind]; + } curPos = 0; jjmatchedKind = 0x7fffffff; try { @@ -4983,9 +5945,9 @@ public Token getNextToken() if (curChar == '\n' || curChar == '\r') { error_line++; error_column = 0; + } else { + error_column++; } - else - error_column++; } if (!EOFSeen) { input_stream.backup(1); @@ -5009,7 +5971,7 @@ void MoreLexicalActions() jjimageLen += (lengthOfMatch = jjmatchedPos + 1); switch(jjmatchedKind) { - case 5 : + case 3 : image.append(input_stream.GetSuffix(jjimageLen)); jjimageLen = 0; input_stream.backup(1); diff --git a/theme-compiler/tests/resources/automatic/css/import-file-which-contains-comment-in-last-line.css b/theme-compiler/tests/resources/automatic/css/import-file-which-contains-comment-in-last-line.css new file mode 100644 index 0000000000..fb64b11117 --- /dev/null +++ b/theme-compiler/tests/resources/automatic/css/import-file-which-contains-comment-in-last-line.css @@ -0,0 +1,3 @@ +.foo{ + foo: bar; +} \ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss b/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss new file mode 100644 index 0000000000..41adc908ed --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/import-file-which-contains-comment-in-last-line.scss @@ -0,0 +1,4 @@ +@import "to-be-imported/imported-file-contains-comments-in-last-line.scss"; +.foo{ + foo: $foo; +} \ No newline at end of file diff --git a/theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss b/theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss new file mode 100644 index 0000000000..16244f2bfd --- /dev/null +++ b/theme-compiler/tests/resources/automatic/scss/to-be-imported/imported-file-contains-comments-in-last-line.scss @@ -0,0 +1,2 @@ +$foo: bar; +// This will cause an error \ No newline at end of file -- cgit v1.2.3 From 478eeb51cd93812ee425801a42acc566a2fddf62 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 25 Jun 2013 10:54:08 +0300 Subject: Test using Jetty 9 (#12124) Change-Id: Ie765e542e2319dc1d94c61a986cab3720556e66a --- uitest/integration_tests.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/uitest/integration_tests.xml b/uitest/integration_tests.xml index ec6bcb4c92..78e053991e 100644 --- a/uitest/integration_tests.xml +++ b/uitest/integration_tests.xml @@ -153,6 +153,13 @@ + + + + + + + @@ -375,6 +382,7 @@ + -- cgit v1.2.3 From f7cc72df9b6fb54be95a02b9977e9df264037135 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Wed, 3 Jul 2013 16:33:50 +0300 Subject: Close only combobox on escape, not the window (#12163) Change-Id: I356e115b5cd96ba0a598178a15215654f2fd16bb --- client/src/com/vaadin/client/ui/VFilterSelect.java | 1 + .../combobox/EscapeClosesComboboxNotWindow.java | 43 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java diff --git a/client/src/com/vaadin/client/ui/VFilterSelect.java b/client/src/com/vaadin/client/ui/VFilterSelect.java index e08fbf8ab6..a5c1e566ca 100644 --- a/client/src/com/vaadin/client/ui/VFilterSelect.java +++ b/client/src/com/vaadin/client/ui/VFilterSelect.java @@ -1537,6 +1537,7 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler, break; case KeyCodes.KEY_ESCAPE: reset(); + DOM.eventPreventDefault(DOM.eventGetCurrentEvent()); event.stopPropagation(); break; case KeyCodes.KEY_ENTER: diff --git a/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java new file mode 100644 index 0000000000..dcd19f6b2a --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.java @@ -0,0 +1,43 @@ +package com.vaadin.tests.components.combobox; + +import com.vaadin.event.ShortcutAction.KeyCode; +import com.vaadin.server.VaadinRequest; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.ComboBox; +import com.vaadin.ui.FormLayout; +import com.vaadin.ui.UI; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.ui.Window; + +/** + * Ticket #12163: when a combo box popup is open in a subwindow, escape should + * only close it and not the window, also on Safari 6. + */ +public class EscapeClosesComboboxNotWindow extends UI { + final Window window = new Window("Window"); + + @Override + protected void init(VaadinRequest request) { + final VerticalLayout layout = new VerticalLayout(); + layout.setMargin(true); + setContent(layout); + + Button button = new Button("Click Me"); + button.addClickListener(new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + final FormLayout content = new FormLayout(); + ComboBox cb = new ComboBox(); + cb.addItem("foo"); + cb.addItem("bar"); + content.addComponent(cb); + window.setContent(content); + window.setCloseShortcut(KeyCode.ESCAPE); + UI.getCurrent().addWindow(window); + } + }); + layout.addComponent(button); + } + +} \ No newline at end of file -- cgit v1.2.3 From 9a9b0a518000d2c765917e83ccf798dfa3e4c72a Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Thu, 4 Jul 2013 10:08:52 +0300 Subject: Automatic test for escape closing window from combobox (#12163) Change-Id: I38a143fb76ebf3a64cd416e5ba7d325aedc60ffe --- .../combobox/EscapeClosesComboboxNotWindow.html | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.html diff --git a/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.html b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.html new file mode 100644 index 0000000000..312fffcb97 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/combobox/EscapeClosesComboboxNotWindow.html @@ -0,0 +1,42 @@ + + + + + + +EscapeClosesComboboxNotWindow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EscapeClosesComboboxNotWindow
open/run/EscapeClosesComboboxNotWindow?restartApplication
clickvaadin=runEscapeClosesComboboxNotWindow::/VVerticalLayout[0]/Slot[0]/VButton[0]/domChild[0]/domChild[0]
mouseClickvaadin=runEscapeClosesComboboxNotWindow::/VWindow[0]/FocusableScrollPanel[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VFilterSelect[0]/domChild[1]10,16
keyDownvaadin=runEscapeClosesComboboxNotWindow::/VWindow[0]/FocusableScrollPanel[0]/VFormLayout[0]/VFormLayout$VFormLayoutTable[0]/VFilterSelect[0]/domChild[0]\27
verifyTextPresentWindow
+ + -- cgit v1.2.3 From ae565a229325f1289348c2c0e3dc02f14ed6f549 Mon Sep 17 00:00:00 2001 From: Patrik Lindström Date: Wed, 3 Jul 2013 00:04:35 +0300 Subject: Fix bug in PopupDateField where locale was retained incorrectly if changed while popup was open (#12153) Change-Id: Ib4bebab8c6e75e7f1af7cfc5198ab6516e94a45e --- .../ui/datefield/PopupDateFieldConnector.java | 9 ++++ .../datefield/PopupDateFieldLocaleTest.html | 42 +++++++++++++++++ .../datefield/PopupDateFieldLocaleTest.java | 53 ++++++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.html create mode 100644 uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java diff --git a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java index b3bb481658..7257af4a08 100644 --- a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java +++ b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java @@ -42,6 +42,9 @@ public class PopupDateFieldConnector extends TextualDateConnector { @Override @SuppressWarnings("deprecation") public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + + String oldLocale = getWidget().getCurrentLocale(); + boolean lastReadOnlyState = getWidget().isReadonly(); boolean lastEnabledState = getWidget().isEnabled(); @@ -64,6 +67,12 @@ public class PopupDateFieldConnector extends TextualDateConnector { getWidget().calendar.renderCalendar(); } } + + // Force re-render of calendar if locale has changed (#12153) + if (getWidget().getCurrentLocale() != oldLocale) { + getWidget().calendar.renderCalendar(); + } + getWidget().calendarToggle.setEnabled(getWidget().isEnabled()); if (getWidget().getCurrentResolution().getCalendarField() <= Resolution.MONTH diff --git a/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.html b/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.html new file mode 100644 index 0000000000..932ad0646e --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.html @@ -0,0 +1,42 @@ + + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
open/run/com.vaadin.tests.components.datefield.PopupDateFieldLocaleTest?restartApplication
mouseClickvaadin=runcomvaadintestscomponentsdatefieldPopupDateFieldLocaleTest::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VPopupCalendar[0]/domChild[1]15,18
mouseClick//table[@id='PID_VAADIN_POPUPCAL']/tbody/tr[2]/td/table/tbody/tr[4]/td[4]/span19,11
mouseClickvaadin=runcomvaadintestscomponentsdatefieldPopupDateFieldLocaleTest::/VVerticalLayout[0]/Slot[1]/VVerticalLayout[0]/Slot[0]/VPopupCalendar[0]/domChild[1]4,14
assertTextPresentjanvier 2000
+ + diff --git a/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java b/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java new file mode 100644 index 0000000000..f12a3dda58 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/datefield/PopupDateFieldLocaleTest.java @@ -0,0 +1,53 @@ +package com.vaadin.tests.components.datefield; + +import java.util.Calendar; +import java.util.Locale; + +import com.vaadin.data.Property.ValueChangeEvent; +import com.vaadin.data.Property.ValueChangeListener; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.DateField; +import com.vaadin.ui.PopupDateField; + +public class PopupDateFieldLocaleTest extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + // Set a specific time for the PopupDateField + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, 2000); + cal.set(Calendar.DAY_OF_YEAR, 1); + cal.set(Calendar.HOUR_OF_DAY, 1); + cal.set(Calendar.MINUTE, 1); + cal.set(Calendar.SECOND, 1); + cal.set(Calendar.MILLISECOND, 1); + + final PopupDateField pdf = new PopupDateField(); + pdf.setLocale(Locale.ENGLISH); + pdf.setValue(cal.getTime()); + pdf.setImmediate(true); + pdf.setResolution(DateField.RESOLUTION_SEC); + addComponent(pdf); + + pdf.addValueChangeListener(new ValueChangeListener() { + @Override + public void valueChange(ValueChangeEvent event) { + pdf.setLocale(Locale.FRENCH); + } + }); + } + + @Override + protected String getTestDescription() { + return "Changing the locale while the popupdatefield is visible can " + + "result in the locale remaining at the previous value; the locale " + + "is only changed once the current month is changed."; + } + + @Override + protected Integer getTicketNumber() { + return 12135; + } + +} \ No newline at end of file -- cgit v1.2.3 From d7a64fd5b514f18a65bbc6f3f3816c9219f7ab80 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Thu, 4 Jul 2013 10:53:44 +0300 Subject: Enable native scrolling in home screen apps on iOS 6+ (#12149) This also fixes another iOS 6 detection issue for home screen apps. Change-Id: Icbbb15d3f0d6668f11b2a796ae2c096d8c4dec0b --- .../src/com/vaadin/client/ApplicationConfiguration.java | 3 +-- client/src/com/vaadin/client/BrowserInfo.java | 12 +++++++++++- .../vaadin/client/TestVBrowserDetailsUserAgentParser.java | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/client/src/com/vaadin/client/ApplicationConfiguration.java b/client/src/com/vaadin/client/ApplicationConfiguration.java index 86ab9455ed..ecd957194d 100644 --- a/client/src/com/vaadin/client/ApplicationConfiguration.java +++ b/client/src/com/vaadin/client/ApplicationConfiguration.java @@ -559,8 +559,7 @@ public class ApplicationConfiguration implements EntryPoint { BrowserInfo browserInfo = BrowserInfo.get(); // Enable iOS6 cast fix (see #10460) - if (browserInfo.isIOS() && browserInfo.isWebkit() - && browserInfo.getBrowserMajorVersion() == 6) { + if (browserInfo.isIOS6() && browserInfo.isWebkit()) { enableIOS6castFix(); } diff --git a/client/src/com/vaadin/client/BrowserInfo.java b/client/src/com/vaadin/client/BrowserInfo.java index b3490c3ca4..c733f38481 100644 --- a/client/src/com/vaadin/client/BrowserInfo.java +++ b/client/src/com/vaadin/client/BrowserInfo.java @@ -352,6 +352,16 @@ public class BrowserInfo { return browserDetails.isIOS(); } + /** + * Checks if the browser is run on iOS 6. + * + * @since 7.1.1 + * @return true if the browser is run on iOS 6, false otherwise + */ + public boolean isIOS6() { + return isIOS() && getOperatingSystemMajorVersion() == 6; + } + /** * Checks if the browser is run on Android * @@ -378,7 +388,7 @@ public class BrowserInfo { } // iOS 6 Safari supports native scrolling; iOS 5 suffers from #8792 // TODO Should test other iOS browsers - if (isIOS() && isSafari() && getBrowserMajorVersion() >= 6) { + if (isIOS6() && isWebkit()) { return false; } return true; diff --git a/client/tests/src/com/vaadin/client/TestVBrowserDetailsUserAgentParser.java b/client/tests/src/com/vaadin/client/TestVBrowserDetailsUserAgentParser.java index 4ce03d885d..7d5911f5a0 100644 --- a/client/tests/src/com/vaadin/client/TestVBrowserDetailsUserAgentParser.java +++ b/client/tests/src/com/vaadin/client/TestVBrowserDetailsUserAgentParser.java @@ -43,6 +43,9 @@ public class TestVBrowserDetailsUserAgentParser extends TestCase { private static final String IPHONE_IOS_4_0 = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"; private static final String IPAD_IOS_4_3_1 = "Mozilla/5.0 (iPad; U; CPU OS 4_3_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5"; + // application on the home screen, without Safari in user agent + private static final String IPHONE_IOS_6_1_HOMESCREEN_SIMULATOR = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B141"; + private static final String ANDROID_HTC_2_1 = "Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; ADR6300 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"; private static final String ANDROID_GOOGLE_NEXUS_2_2 = "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"; private static final String ANDROID_MOTOROLA_3_0 = "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"; @@ -68,6 +71,18 @@ public class TestVBrowserDetailsUserAgentParser extends TestCase { assertMacOSX(bd); } + public void testIPhoneIOS6Homescreen() { + VBrowserDetails bd = new VBrowserDetails( + IPHONE_IOS_6_1_HOMESCREEN_SIMULATOR); + assertWebKit(bd); + // not identified as Safari, no browser version available + // assertSafari(bd); + // assertBrowserMajorVersion(bd, 6); + // assertBrowserMinorVersion(bd, 1); + assertEngineVersion(bd, 536f); + assertIOS(bd, 6, 1); + } + public void testIPhoneIOS5() { VBrowserDetails bd = new VBrowserDetails(IPHONE_IOS_5_1); assertWebKit(bd); -- cgit v1.2.3 From 4a04f0068793428484b7afdc245ae766b13439f5 Mon Sep 17 00:00:00 2001 From: Patrik Lindström Date: Tue, 2 Jul 2013 15:26:35 +0300 Subject: Add test case for testing ClickEvent after dragging button (#7690) Change-Id: I9ecb796a9bcbc8415efe27873fdbd71745d0aa85 --- .../tests/components/button/ButtonIOSDragTest.java | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/button/ButtonIOSDragTest.java diff --git a/uitest/src/com/vaadin/tests/components/button/ButtonIOSDragTest.java b/uitest/src/com/vaadin/tests/components/button/ButtonIOSDragTest.java new file mode 100644 index 0000000000..3d3d90728a --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/button/ButtonIOSDragTest.java @@ -0,0 +1,57 @@ +/* + * 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.tests.components.button; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.DragAndDropWrapper; +import com.vaadin.ui.DragAndDropWrapper.DragStartMode; +import com.vaadin.ui.Notification; +import com.vaadin.ui.VerticalLayout; + +public class ButtonIOSDragTest extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + final VerticalLayout layout = new VerticalLayout(); + + Button offset = new Button("Drag me"); + offset.addListener(new ClickListener() { + @Override + public void buttonClick(com.vaadin.ui.Button.ClickEvent event) { + Notification.show("Button clicked!"); + } + }); + DragAndDropWrapper dragMe = new DragAndDropWrapper(offset); + dragMe.setDragStartMode(DragStartMode.WRAPPER); + layout.addComponent(dragMe); + addComponent(layout); + } + + @Override + protected String getTestDescription() { + return "Test dragging of Button in iOS - dragging from the inside of the button to the outside and releasing should not cause a ClickEvent to be fired."; + } + + @Override + protected Integer getTicketNumber() { + return 7690; + } + +} -- cgit v1.2.3 From 775c9693e0778894498ff45cac4512fa69e8cb3d Mon Sep 17 00:00:00 2001 From: Fabian Lange Date: Thu, 13 Jun 2013 14:51:08 +0200 Subject: Make UploadInterruptedException visible (#12070) When another threads interrupts the Upload, the UploadInterruptedException is thrown. The respective StreamVariable will receive streamingFailed(StreamingErrorEvent event) which contains the causing exception via event.getException(). When the UploadInterruptedException is not public, it is impossible to react on it in the StreamVariable (e.g. treating an IOException differently from an UploadInterruptedException). Change-Id: I9098e70e6750c420fcc0978340544e545e237b26 --- .../vaadin/server/communication/FileUploadHandler.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/server/src/com/vaadin/server/communication/FileUploadHandler.java b/server/src/com/vaadin/server/communication/FileUploadHandler.java index e9569d45a1..3f6bfd9267 100644 --- a/server/src/com/vaadin/server/communication/FileUploadHandler.java +++ b/server/src/com/vaadin/server/communication/FileUploadHandler.java @@ -38,6 +38,7 @@ import com.vaadin.server.VaadinResponse; import com.vaadin.server.VaadinSession; import com.vaadin.ui.Component; import com.vaadin.ui.UI; +import com.vaadin.ui.Upload.FailedEvent; /** * Handles a file upload request submitted via an Upload component. @@ -197,7 +198,19 @@ public class FileUploadHandler implements RequestHandler { } } - private static class UploadInterruptedException extends Exception { + /** + * An UploadInterruptedException will be thrown by an ongoing upload if + * {@link StreamVariable#isInterrupted()} returns true. + * + * By checking the exception of an {@link StreamingErrorEvent} or + * {@link FailedEvent} against this class, it is possible to determine if an + * upload was interrupted by code or aborted due to any other exception. + */ + public static class UploadInterruptedException extends Exception { + + /** + * Constructs an instance of UploadInterruptedException. + */ public UploadInterruptedException() { super("Upload interrupted by other thread"); } -- cgit v1.2.3 From 6a4bbe52c399c58d43d7f81f322fe8b090df6921 Mon Sep 17 00:00:00 2001 From: Johannes Dahlström Date: Tue, 9 Jul 2013 12:03:30 +0300 Subject: Set heartbeat response Content-Type to text/plain (#12182) By default browsers assume text/html and may complain about an empty response body. Change-Id: I66ed1aef3421a7f0a618bc441ffab1dc0efbdc71 --- server/src/com/vaadin/server/communication/HeartbeatHandler.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/src/com/vaadin/server/communication/HeartbeatHandler.java b/server/src/com/vaadin/server/communication/HeartbeatHandler.java index 16c21224ab..4c95859203 100644 --- a/server/src/com/vaadin/server/communication/HeartbeatHandler.java +++ b/server/src/com/vaadin/server/communication/HeartbeatHandler.java @@ -63,6 +63,9 @@ public class HeartbeatHandler extends SynchronizedRequestHandler implements // Ensure that the browser does not cache heartbeat responses. // iOS 6 Safari requires this (#10370) response.setHeader("Cache-Control", "no-cache"); + // If Content-Type is not set, browsers assume text/html and may + // complain about the empty response body (#12182) + response.setHeader("Content-Type", "text/plain"); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND, "UI not found"); } -- cgit v1.2.3 From e4011c6fa4d7a00b718551885339854ceacc0cf0 Mon Sep 17 00:00:00 2001 From: Fabian Lange Date: Thu, 13 Jun 2013 15:11:39 +0200 Subject: When InputStream cannot be opened while writing static resource response, display 404 instead of 500 (#10920) A security audit revealed that it is possible to trigger an error 500 with stack trace by just trying a directory traversal. An example of this can be found in the sampler: http://demo.vaadin.com/sampler/VAADIN/widgetsets/ While there are other scenarios that can produce exceptions, in this place Vaadin can handle it more graceful by just catching the exception and returning 404. Change-Id: Iec68d81d3bca365ec133737a9cd3e3b825d192b2 --- server/src/com/vaadin/server/VaadinServlet.java | 30 ++++++++++++++----------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/server/src/com/vaadin/server/VaadinServlet.java b/server/src/com/vaadin/server/VaadinServlet.java index 94601d6599..803a903341 100644 --- a/server/src/com/vaadin/server/VaadinServlet.java +++ b/server/src/com/vaadin/server/VaadinServlet.java @@ -16,6 +16,7 @@ package com.vaadin.server; import java.io.BufferedWriter; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -645,19 +646,19 @@ public class VaadinServlet extends HttpServlet implements Constants { "Failed to find out last modified timestamp. Continuing without it.", e); } finally { - if (connection instanceof URLConnection) { - try { - // Explicitly close the input stream to prevent it - // from remaining hanging - // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4257700 - InputStream is = connection.getInputStream(); - if (is != null) { - is.close(); - } - } catch (IOException e) { - getLogger().log(Level.INFO, - "Error closing URLConnection input stream", e); + try { + // Explicitly close the input stream to prevent it + // from remaining hanging + // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4257700 + InputStream is = connection.getInputStream(); + if (is != null) { + is.close(); } + } catch (FileNotFoundException e) { + // Not logging when the file does not exist. + } catch (IOException e) { + getLogger().log(Level.INFO, + "Error closing URLConnection input stream", e); } } @@ -720,14 +721,17 @@ public class VaadinServlet extends HttpServlet implements Constants { // prevent it from hanging, but that is done below. } - InputStream is = connection.getInputStream(); + InputStream is = null; try { + is = connection.getInputStream(); final OutputStream os = response.getOutputStream(); final byte buffer[] = new byte[DEFAULT_BUFFER_SIZE]; int bytes; while ((bytes = is.read(buffer)) >= 0) { os.write(buffer, 0, bytes); } + } catch (FileNotFoundException e) { + response.setStatus(HttpServletResponse.SC_NOT_FOUND); } finally { if (is != null) { is.close(); -- cgit v1.2.3 From 20162dbe200111a514ab0849963dcf3eea1a9c83 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Mon, 8 Jul 2013 17:23:49 +0300 Subject: Set current instances when calling UI.push from VaadinSession.unlock (#12168) Change-Id: I27795ab9ae3e3692f508e847936ccaa5a1ebadd4 --- server/src/com/vaadin/server/VaadinSession.java | 14 ++++-- server/src/com/vaadin/ui/UI.java | 9 ++-- .../com/vaadin/tests/components/ui/UiAccess.html | 26 +++++++++++ .../com/vaadin/tests/components/ui/UiAccess.java | 54 ++++++++++++++++++++++ 4 files changed, 96 insertions(+), 7 deletions(-) diff --git a/server/src/com/vaadin/server/VaadinSession.java b/server/src/com/vaadin/server/VaadinSession.java index 504788d479..9dedddcc2c 100644 --- a/server/src/com/vaadin/server/VaadinSession.java +++ b/server/src/com/vaadin/server/VaadinSession.java @@ -885,9 +885,9 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable { * Unlocks this session. This method should always be used in a finally * block after {@link #lock()} to ensure that the lock is always released. *

- * If {@link #getPushMode() the push mode} is {@link PushMode#AUTOMATIC - * automatic}, pushes the changes in all UIs in this session to their - * respective clients. + * For UIs in this session that have its push mode set to + * {@link PushMode#AUTOMATIC automatic}, pending changes will be pushed to + * their respective clients. * * @see #lock() * @see UI#push() @@ -904,7 +904,13 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable { for (UI ui : getUIs()) { if (ui.getPushConfiguration().getPushMode() == PushMode.AUTOMATIC) { - ui.push(); + Map, CurrentInstance> oldCurrent = CurrentInstance + .setCurrent(ui); + try { + ui.push(); + } finally { + CurrentInstance.restoreInstances(oldCurrent); + } } } } diff --git a/server/src/com/vaadin/ui/UI.java b/server/src/com/vaadin/ui/UI.java index 6c9551ea81..403bb31f63 100644 --- a/server/src/com/vaadin/ui/UI.java +++ b/server/src/com/vaadin/ui/UI.java @@ -1294,15 +1294,18 @@ public abstract class UI extends AbstractSingleComponentContainer implements * Pushes the pending changes and client RPC invocations of this UI to the * client-side. *

- * As with all UI methods, it is not safe to call push() without holding the - * {@link VaadinSession#lock() session lock}. + * As with all UI methods, the session must be locked when calling this + * method. It is also recommended that {@link UI#getCurrent()} is set up to + * return this UI since writing the response may invoke logic in any + * attached component or extension. The recommended way of fulfilling these + * conditions is to use {@link #access(Runnable)}. * * @throws IllegalStateException * if push is disabled. * @throws UIDetachedException * if this UI is not attached to a session. * - * @see #getPushMode() + * @see #getPushConfiguration() * * @since 7.1 */ diff --git a/uitest/src/com/vaadin/tests/components/ui/UiAccess.html b/uitest/src/com/vaadin/tests/components/ui/UiAccess.html index 613691623c..734b95952a 100644 --- a/uitest/src/com/vaadin/tests/components/ui/UiAccess.html +++ b/uitest/src/com/vaadin/tests/components/ui/UiAccess.html @@ -161,6 +161,32 @@ vaadin=runcomvaadintestscomponentsuiUiAccess::PID_SLog_row_0 3. Test value after access: Set before run pending + + + open + /run/com.vaadin.tests.components.ui.UiAccess?restartApplication&transport=websocket + + + + click + vaadin=runcomvaadintestscomponentsuiUiAccess::/VVerticalLayout[0]/Slot[2]/VVerticalLayout[0]/Slot[7]/VButton[0]/domChild[0]/domChild[0] + + + + waitForNotText + vaadin=runcomvaadintestscomponentsuiUiAccess::PID_SLog_row_0 + + + + assertText + vaadin=runcomvaadintestscomponentsuiUiAccess::PID_SLog_row_0 + exact:1. Current session matches in beforeResponse? true + + + assertText + vaadin=runcomvaadintestscomponentsuiUiAccess::PID_SLog_row_1 + exact:0. Current UI matches in beforeResponse? true + diff --git a/uitest/src/com/vaadin/tests/components/ui/UiAccess.java b/uitest/src/com/vaadin/tests/components/ui/UiAccess.java index 2bc91fa7b4..09f2fd8816 100644 --- a/uitest/src/com/vaadin/tests/components/ui/UiAccess.java +++ b/uitest/src/com/vaadin/tests/components/ui/UiAccess.java @@ -23,13 +23,18 @@ import java.util.concurrent.locks.ReentrantLock; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinService; +import com.vaadin.server.VaadinSession; +import com.vaadin.shared.communication.PushMode; import com.vaadin.tests.components.AbstractTestUIWithLog; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.UI; import com.vaadin.util.CurrentInstance; public class UiAccess extends AbstractTestUIWithLog { + private volatile boolean checkCurrentInstancesBeforeResponse = false; + private Future checkFromBeforeClientResponse; private class CurrentInstanceTestType { @@ -283,6 +288,46 @@ public class UiAccess extends AbstractTestUIWithLog { .get(CurrentInstanceTestType.class)); } })); + + addComponent(new Button("CurrentInstance when pushing", + new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + log.clear(); + if (getPushConfiguration().getPushMode() != PushMode.AUTOMATIC) { + log("Can only test with automatic push enabled"); + return; + } + + final VaadinSession session = getSession(); + new Thread() { + @Override + public void run() { + // Pretend this isn't a Vaadin thread + CurrentInstance.clearAll(); + + /* + * Get explicit lock to ensure the (implicit) + * push does not happen during normal request + * handling. + */ + session.lock(); + try { + access(new Runnable() { + @Override + public void run() { + checkCurrentInstancesBeforeResponse = true; + // Trigger beforeClientResponse + markAsDirty(); + } + }); + } finally { + session.unlock(); + } + } + }.start(); + } + })); } @Override @@ -292,6 +337,15 @@ public class UiAccess extends AbstractTestUIWithLog { + checkFromBeforeClientResponse.isDone()); checkFromBeforeClientResponse = null; } + if (checkCurrentInstancesBeforeResponse) { + UI currentUI = UI.getCurrent(); + VaadinSession currentSession = VaadinSession.getCurrent(); + + log("Current UI matches in beforeResponse? " + (currentUI == this)); + log("Current session matches in beforeResponse? " + + (currentSession == getSession())); + checkCurrentInstancesBeforeResponse = false; + } } @Override -- cgit v1.2.3 From 94c0f86fafd6808df902af0a4dbccd2b45922ba4 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Fri, 12 Jul 2013 09:59:25 +0300 Subject: Ensure VaadinSession.service is set up by storeInSession (#12204) Change-Id: Ie707442f2625f3c9c07c75924c99299f07a4f3ec --- server/src/com/vaadin/server/VaadinSession.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/src/com/vaadin/server/VaadinSession.java b/server/src/com/vaadin/server/VaadinSession.java index 9dedddcc2c..890b2eba29 100644 --- a/server/src/com/vaadin/server/VaadinSession.java +++ b/server/src/com/vaadin/server/VaadinSession.java @@ -426,6 +426,13 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable { public void storeInSession(VaadinService service, WrappedSession session) { assert hasLock(service, session); session.setAttribute(getSessionAttributeName(service), this); + + /* + * GAEVaadinServlet passes newly deserialized sessions here, which means + * that these transient fields need to be populated to avoid NPE from + * refreshLock(). + */ + this.service = service; this.session = session; refreshLock(); } -- cgit v1.2.3 From 23ed4870339df44d02126fe53c431c8b6282f475 Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Fri, 12 Jul 2013 09:54:06 +0300 Subject: Attempt to get GAE lock for UIDL requests (#12211) Also removing the overhead of creating a Date object just for getting a timestamp in the otherwise touched areas of code. Change-Id: Ic712c0ae26d22995ad332593dbb8a14dbec7fcd6 --- server/src/com/vaadin/server/GAEVaadinServlet.java | 35 +++++++++++----------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/server/src/com/vaadin/server/GAEVaadinServlet.java b/server/src/com/vaadin/server/GAEVaadinServlet.java index b4a83603b0..5a12295d9d 100644 --- a/server/src/com/vaadin/server/GAEVaadinServlet.java +++ b/server/src/com/vaadin/server/GAEVaadinServlet.java @@ -218,23 +218,24 @@ public class GAEVaadinServlet extends VaadinServlet { memcache = MemcacheServiceFactory.getMemcacheService(); try { // try to get lock - long started = new Date().getTime(); - // non-UIDL requests will try indefinitely - if (!ServletPortletHelper.isUIDLRequest(request)) { - while (new Date().getTime() - started < MAX_UIDL_WAIT_MILLISECONDS) { - locked = memcache.put(mutex, 1, - Expiration.byDeltaSeconds(40), - MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_PRESENT); - if (locked) { - break; - } - try { - Thread.sleep(RETRY_AFTER_MILLISECONDS); - } catch (InterruptedException e) { - getLogger().finer( - "Thread.sleep() interrupted while waiting for lock. Trying again. " - + e); - } + long started = System.currentTimeMillis(); + while (System.currentTimeMillis() - started < MAX_UIDL_WAIT_MILLISECONDS) { + locked = memcache.put(mutex, 1, Expiration.byDeltaSeconds(40), + MemcacheService.SetPolicy.ADD_ONLY_IF_NOT_PRESENT); + if (locked || ServletPortletHelper.isUIDLRequest(request)) { + /* + * Done if we got a lock. Will also avoid retrying if + * there's a UIDL request because those are retried from the + * client without keeping the server thread stalled. + */ + break; + } + try { + Thread.sleep(RETRY_AFTER_MILLISECONDS); + } catch (InterruptedException e) { + getLogger().finer( + "Thread.sleep() interrupted while waiting for lock. Trying again. " + + e); } } -- cgit v1.2.3 From 7f52b2e8221f58586b5c66dfa11b2bc2a79af204 Mon Sep 17 00:00:00 2001 From: Fabian Lange Date: Sun, 14 Jul 2013 16:38:26 +0200 Subject: Improved AbstractClientConnector performance (#12219) Avoiding duplicate lookup of connector hierarchy when a component shall be marked dirty. Optimized if statement to fail fast. Change-Id: I3ac82d64b235ebfd1888a6076c595f351018d887 --- server/src/com/vaadin/server/AbstractClientConnector.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/com/vaadin/server/AbstractClientConnector.java b/server/src/com/vaadin/server/AbstractClientConnector.java index c3101924dd..91a9e41522 100644 --- a/server/src/com/vaadin/server/AbstractClientConnector.java +++ b/server/src/com/vaadin/server/AbstractClientConnector.java @@ -224,9 +224,9 @@ public abstract class AbstractClientConnector implements ClientConnector, } if (markAsDirty) { UI ui = getUI(); - if (ui != null && !ui.getConnectorTracker().isWritingResponse() - && !ui.getConnectorTracker().isDirty(this)) { - markAsDirty(); + if (ui != null && !ui.getConnectorTracker().isDirty(this) + && !ui.getConnectorTracker().isWritingResponse()) { + ui.getConnectorTracker().markDirty(this); } } return sharedState; -- cgit v1.2.3 From a93426164d5766fd7e0a687c1a7c98ce53aaa1c7 Mon Sep 17 00:00:00 2001 From: Fabian Lange Date: Sat, 13 Jul 2013 22:12:28 +0200 Subject: Improving performance of ConnectorTracker (#12218) Swapping the if check in cleanConnectorMap to prevent unnecessary calls to isComponentVisible when the connector is in uninitializedConnectors set. Change-Id: If6305a908364f8a7bb51fd7302449c6f54c274a3 --- server/src/com/vaadin/ui/ConnectorTracker.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/com/vaadin/ui/ConnectorTracker.java b/server/src/com/vaadin/ui/ConnectorTracker.java index 85cdcdf65c..c2aeebcd44 100644 --- a/server/src/com/vaadin/ui/ConnectorTracker.java +++ b/server/src/com/vaadin/ui/ConnectorTracker.java @@ -296,9 +296,9 @@ public class ConnectorTracker implements Serializable { uninitializedConnectors.remove(connector); diffStates.remove(connector); iterator.remove(); - } else if (!LegacyCommunicationManager - .isConnectorVisibleToClient(connector) - && !uninitializedConnectors.contains(connector)) { + } else if (!uninitializedConnectors.contains(connector) + && !LegacyCommunicationManager + .isConnectorVisibleToClient(connector)) { uninitializedConnectors.add(connector); diffStates.remove(connector); if (getLogger().isLoggable(Level.FINE)) { -- cgit v1.2.3