yale.compiler.compiler.0.9.12.source-code.CSSTree Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of compiler Show documentation
Show all versions of compiler Show documentation
The Apache Royale Compiler
The newest version!
// $ANTLR 3.5.2 CSSTree.g
/*
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.royale.compiler.internal.css;
import java.util.Map;
import java.util.HashMap;
import org.apache.royale.compiler.common.ISourceLocation;
import org.apache.royale.compiler.common.SourceLocation;
import org.apache.royale.compiler.css.*;
import org.apache.royale.compiler.problems.CSSParserProblem;
import org.apache.royale.compiler.problems.ICompilerProblem;
import org.apache.royale.compiler.problems.CSSStrictFlexSyntaxProblem;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
/**
* This is a tree grammar for advanced CSS in Flex. It walks the AST generated
* by the CSS parser and builds CSS DOM objects.
*/
@SuppressWarnings("all")
public class CSSTree extends TreeParser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ALPHA_VALUE", "ARGUMENTS", "AT_FONT_FACE",
"AT_KEYFRAMES", "AT_MEDIA", "AT_NAMESPACE", "AT_WEBKIT_KEYFRAMES", "BEGINS_WITH",
"BLOCK_END", "BLOCK_OPEN", "CALC", "CHILD", "CLASS_REFERENCE", "COLON",
"COMMA", "COMMENT", "CONTAINS", "DASHED_ID", "DIGIT", "DOT", "DOUBLE_COLON",
"EMBED", "ENDS_WITH", "EQUALS", "ESCAPED_HEX", "FORMAT", "FUNCTIONS",
"HASH_WORD", "HEX_DIGIT", "HREFLANG_MATCH", "ID", "IMPORTANT", "I_ARRAY",
"I_CHILD_SELECTOR", "I_DECL", "I_MEDIUM_CONDITIONS", "I_MULTIVALUE", "I_PRECEDED_SELECTOR",
"I_RULE", "I_RULES", "I_SELECTOR", "I_SELECTOR_GROUP", "I_SIBLING_SELECTOR",
"I_SIMPLE_SELECTOR", "LETTER", "LIST_MATCH", "LOCAL", "MATRIX3D_VALUE",
"MATRIX_VALUE", "NOT", "NULL", "NUMBER", "NUMBER_WITH_PERCENT", "NUMBER_WITH_UNIT",
"ONLY", "OPERATOR", "PERCENT", "PIPE", "PRECEDED", "PROPERTY_REFERENCE",
"RECT_VALUE", "RGB", "RGBA", "ROTATE_VALUE", "SCALE", "SCALE_VALUE", "SEMI_COLONS",
"SQUARE_END", "SQUARE_OPEN", "STAR", "STRING", "STRING_QUOTE", "TILDE",
"TRANSLATE3D_VALUE", "URL", "VAR", "WS", "'and'"
};
public static final int EOF=-1;
public static final int T__81=81;
public static final int ALPHA_VALUE=4;
public static final int ARGUMENTS=5;
public static final int AT_FONT_FACE=6;
public static final int AT_KEYFRAMES=7;
public static final int AT_MEDIA=8;
public static final int AT_NAMESPACE=9;
public static final int AT_WEBKIT_KEYFRAMES=10;
public static final int BEGINS_WITH=11;
public static final int BLOCK_END=12;
public static final int BLOCK_OPEN=13;
public static final int CALC=14;
public static final int CHILD=15;
public static final int CLASS_REFERENCE=16;
public static final int COLON=17;
public static final int COMMA=18;
public static final int COMMENT=19;
public static final int CONTAINS=20;
public static final int DASHED_ID=21;
public static final int DIGIT=22;
public static final int DOT=23;
public static final int DOUBLE_COLON=24;
public static final int EMBED=25;
public static final int ENDS_WITH=26;
public static final int EQUALS=27;
public static final int ESCAPED_HEX=28;
public static final int FORMAT=29;
public static final int FUNCTIONS=30;
public static final int HASH_WORD=31;
public static final int HEX_DIGIT=32;
public static final int HREFLANG_MATCH=33;
public static final int ID=34;
public static final int IMPORTANT=35;
public static final int I_ARRAY=36;
public static final int I_CHILD_SELECTOR=37;
public static final int I_DECL=38;
public static final int I_MEDIUM_CONDITIONS=39;
public static final int I_MULTIVALUE=40;
public static final int I_PRECEDED_SELECTOR=41;
public static final int I_RULE=42;
public static final int I_RULES=43;
public static final int I_SELECTOR=44;
public static final int I_SELECTOR_GROUP=45;
public static final int I_SIBLING_SELECTOR=46;
public static final int I_SIMPLE_SELECTOR=47;
public static final int LETTER=48;
public static final int LIST_MATCH=49;
public static final int LOCAL=50;
public static final int MATRIX3D_VALUE=51;
public static final int MATRIX_VALUE=52;
public static final int NOT=53;
public static final int NULL=54;
public static final int NUMBER=55;
public static final int NUMBER_WITH_PERCENT=56;
public static final int NUMBER_WITH_UNIT=57;
public static final int ONLY=58;
public static final int OPERATOR=59;
public static final int PERCENT=60;
public static final int PIPE=61;
public static final int PRECEDED=62;
public static final int PROPERTY_REFERENCE=63;
public static final int RECT_VALUE=64;
public static final int RGB=65;
public static final int RGBA=66;
public static final int ROTATE_VALUE=67;
public static final int SCALE=68;
public static final int SCALE_VALUE=69;
public static final int SEMI_COLONS=70;
public static final int SQUARE_END=71;
public static final int SQUARE_OPEN=72;
public static final int STAR=73;
public static final int STRING=74;
public static final int STRING_QUOTE=75;
public static final int TILDE=76;
public static final int TRANSLATE3D_VALUE=77;
public static final int URL=78;
public static final int VAR=79;
public static final int WS=80;
// delegates
public TreeParser[] getDelegates() {
return new TreeParser[] {};
}
// delegators
public CSSTree(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public CSSTree(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return CSSTree.tokenNames; }
@Override public String getGrammarFileName() { return "CSSTree.g"; }
/**
* CSS DOM object.
*/
protected CSSDocument model;
/**
* Every definition object needs the token stream to compute source location.
*/
private final TokenStream tokenStream = getTreeNodeStream().getTokenStream();
/**
* Tree walker problems.
*/
protected List problems = new ArrayList();
/**
* Used for building up attribute selector strings until we implement a data
* structure for it.
*/
protected String curAttribute;
/**
* Determines if problems should be reported for CSS syntax that would not be
* recognized by the Flex SDK compiler.
*/
protected boolean strictFlexCSS = false;
public boolean getStrictFlexCSS()
{
return strictFlexCSS;
}
public void setStrictFlexCSS(boolean value)
{
strictFlexCSS = value;
}
/**
* Collect problems.
*/
@Override
public void displayRecognitionError(String[] tokenNames, RecognitionException e)
{
problems.add(CSSParserProblem.create(this, tokenNames, e));
}
/**
* Collect strict Flex CSS problems.
*/
public void displayStrictFlexSyntaxError(String syntax, CommonTree tree)
{
final ISourceLocation location = new SourceLocation(
getSourceName(),
-1, -1, // TODO Need start and end info from CSS
tree.getLine(), tree.getCharPositionInLine());
problems.add(new CSSStrictFlexSyntaxProblem(location, syntax));
}
protected static class stylesheet_scope {
List namespaces;
List rules;
List fontFaces;
List keyFrames;
}
protected Stack stylesheet_stack = new Stack();
public static class stylesheet_return extends TreeRuleReturnScope {
};
// $ANTLR start "stylesheet"
// CSSTree.g:131:1: stylesheet : ( namespaceStatement | fontFace | keyframes | mediaQuery | ruleset )* ;
public final CSSTree.stylesheet_return stylesheet() throws RecognitionException {
stylesheet_stack.push(new stylesheet_scope());
CSSTree.stylesheet_return retval = new CSSTree.stylesheet_return();
retval.start = input.LT(1);
stylesheet_stack.peek().rules = new ArrayList();
stylesheet_stack.peek().namespaces = new ArrayList();
stylesheet_stack.peek().fontFaces = new ArrayList();
stylesheet_stack.peek().keyFrames = new ArrayList();
try {
// CSSTree.g:158:5: ( ( namespaceStatement | fontFace | keyframes | mediaQuery | ruleset )* )
// CSSTree.g:158:9: ( namespaceStatement | fontFace | keyframes | mediaQuery | ruleset )*
{
// CSSTree.g:158:9: ( namespaceStatement | fontFace | keyframes | mediaQuery | ruleset )*
loop1:
while (true) {
int alt1=6;
switch ( input.LA(1) ) {
case AT_NAMESPACE:
{
alt1=1;
}
break;
case AT_FONT_FACE:
{
alt1=2;
}
break;
case AT_KEYFRAMES:
case AT_WEBKIT_KEYFRAMES:
{
alt1=3;
}
break;
case AT_MEDIA:
{
alt1=4;
}
break;
case I_RULE:
{
alt1=5;
}
break;
}
switch (alt1) {
case 1 :
// CSSTree.g:158:11: namespaceStatement
{
pushFollow(FOLLOW_namespaceStatement_in_stylesheet94);
namespaceStatement();
state._fsp--;
}
break;
case 2 :
// CSSTree.g:158:32: fontFace
{
pushFollow(FOLLOW_fontFace_in_stylesheet98);
fontFace();
state._fsp--;
}
break;
case 3 :
// CSSTree.g:158:43: keyframes
{
pushFollow(FOLLOW_keyframes_in_stylesheet102);
keyframes();
state._fsp--;
}
break;
case 4 :
// CSSTree.g:158:55: mediaQuery
{
pushFollow(FOLLOW_mediaQuery_in_stylesheet106);
mediaQuery();
state._fsp--;
}
break;
case 5 :
// CSSTree.g:158:68: ruleset
{
pushFollow(FOLLOW_ruleset_in_stylesheet110);
ruleset();
state._fsp--;
}
break;
default :
break loop1;
}
}
}
model = new CSSDocument(stylesheet_stack.peek().rules,
stylesheet_stack.peek().namespaces,
stylesheet_stack.peek().fontFaces,
((CommonTree)retval.start),
tokenStream);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
stylesheet_stack.pop();
}
return retval;
}
// $ANTLR end "stylesheet"
public static class namespaceStatement_return extends TreeRuleReturnScope {
};
// $ANTLR start "namespaceStatement"
// CSSTree.g:161:1: namespaceStatement : ^( AT_NAMESPACE (id= ID )? uri= STRING ) ;
public final CSSTree.namespaceStatement_return namespaceStatement() throws RecognitionException {
CSSTree.namespaceStatement_return retval = new CSSTree.namespaceStatement_return();
retval.start = input.LT(1);
CommonTree id=null;
CommonTree uri=null;
try {
// CSSTree.g:175:5: ( ^( AT_NAMESPACE (id= ID )? uri= STRING ) )
// CSSTree.g:175:9: ^( AT_NAMESPACE (id= ID )? uri= STRING )
{
match(input,AT_NAMESPACE,FOLLOW_AT_NAMESPACE_in_namespaceStatement146);
match(input, Token.DOWN, null);
// CSSTree.g:175:26: (id= ID )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==ID) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// CSSTree.g:175:26: id= ID
{
id=(CommonTree)match(input,ID,FOLLOW_ID_in_namespaceStatement150);
}
break;
}
uri=(CommonTree)match(input,STRING,FOLLOW_STRING_in_namespaceStatement155);
match(input, Token.UP, null);
}
final CSSNamespaceDefinition ns = new CSSNamespaceDefinition(
(id!=null?id.getText():null), (uri!=null?uri.getText():null), ((CommonTree)retval.start), tokenStream);
if (ns.getProblems().size() == 0)
{
stylesheet_stack.peek().namespaces.add(ns);
}
else
{
problems.addAll(ns.getProblems());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespaceStatement"
public static class keyframes_return extends TreeRuleReturnScope {
};
// $ANTLR start "keyframes"
// CSSTree.g:178:1: keyframes : ( ^( AT_KEYFRAMES id= ID ( ruleset )* ) | ^( AT_WEBKIT_KEYFRAMES id= ID ( ruleset )* ) );
public final CSSTree.keyframes_return keyframes() throws RecognitionException {
CSSTree.keyframes_return retval = new CSSTree.keyframes_return();
retval.start = input.LT(1);
CommonTree id=null;
try {
// CSSTree.g:179:5: ( ^( AT_KEYFRAMES id= ID ( ruleset )* ) | ^( AT_WEBKIT_KEYFRAMES id= ID ( ruleset )* ) )
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==AT_KEYFRAMES) ) {
alt5=1;
}
else if ( (LA5_0==AT_WEBKIT_KEYFRAMES) ) {
alt5=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// CSSTree.g:179:9: ^( AT_KEYFRAMES id= ID ( ruleset )* )
{
match(input,AT_KEYFRAMES,FOLLOW_AT_KEYFRAMES_in_keyframes178);
match(input, Token.DOWN, null);
id=(CommonTree)match(input,ID,FOLLOW_ID_in_keyframes182);
// CSSTree.g:179:30: ( ruleset )*
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==I_RULE) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// CSSTree.g:179:30: ruleset
{
pushFollow(FOLLOW_ruleset_in_keyframes184);
ruleset();
state._fsp--;
}
break;
default :
break loop3;
}
}
match(input, Token.UP, null);
stylesheet_stack.peek().keyFrames.add(new CSSKeyFrames((id!=null?id.getText():null), CSSModelTreeType.KEYFRAMES, ((CommonTree)retval.start), tokenStream));
}
break;
case 2 :
// CSSTree.g:181:9: ^( AT_WEBKIT_KEYFRAMES id= ID ( ruleset )* )
{
match(input,AT_WEBKIT_KEYFRAMES,FOLLOW_AT_WEBKIT_KEYFRAMES_in_keyframes208);
match(input, Token.DOWN, null);
id=(CommonTree)match(input,ID,FOLLOW_ID_in_keyframes212);
// CSSTree.g:181:37: ( ruleset )*
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==I_RULE) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// CSSTree.g:181:37: ruleset
{
pushFollow(FOLLOW_ruleset_in_keyframes214);
ruleset();
state._fsp--;
}
break;
default :
break loop4;
}
}
match(input, Token.UP, null);
stylesheet_stack.peek().keyFrames.add(new CSSKeyFrames((id!=null?id.getText():null), CSSModelTreeType.KEYFRAMES_WEBKIT, ((CommonTree)retval.start), tokenStream));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "keyframes"
protected static class mediaQuery_scope {
List conditions;
}
protected Stack mediaQuery_stack = new Stack();
// $ANTLR start "mediaQuery"
// CSSTree.g:186:1: mediaQuery : ^( AT_MEDIA medium ( ruleset )* ) ;
public final void mediaQuery() throws RecognitionException {
mediaQuery_stack.push(new mediaQuery_scope());
mediaQuery_stack.peek().conditions = new ArrayList();
try {
// CSSTree.g:196:5: ( ^( AT_MEDIA medium ( ruleset )* ) )
// CSSTree.g:196:9: ^( AT_MEDIA medium ( ruleset )* )
{
match(input,AT_MEDIA,FOLLOW_AT_MEDIA_in_mediaQuery261);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_medium_in_mediaQuery263);
medium();
state._fsp--;
// CSSTree.g:196:27: ( ruleset )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==I_RULE) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// CSSTree.g:196:27: ruleset
{
pushFollow(FOLLOW_ruleset_in_mediaQuery265);
ruleset();
state._fsp--;
}
break;
default :
break loop6;
}
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
mediaQuery_stack.pop();
}
}
// $ANTLR end "mediaQuery"
// $ANTLR start "medium"
// CSSTree.g:199:1: medium : ^( I_MEDIUM_CONDITIONS ( mediumCondition )* ) ;
public final void medium() throws RecognitionException {
try {
// CSSTree.g:200:5: ( ^( I_MEDIUM_CONDITIONS ( mediumCondition )* ) )
// CSSTree.g:200:9: ^( I_MEDIUM_CONDITIONS ( mediumCondition )* )
{
match(input,I_MEDIUM_CONDITIONS,FOLLOW_I_MEDIUM_CONDITIONS_in_medium290);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// CSSTree.g:200:31: ( mediumCondition )*
loop7:
while (true) {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==ARGUMENTS||LA7_0==COMMA||LA7_0==ID||LA7_0==ONLY) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// CSSTree.g:200:31: mediumCondition
{
pushFollow(FOLLOW_mediumCondition_in_medium292);
mediumCondition();
state._fsp--;
}
break;
default :
break loop7;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "medium"
public static class mediumCondition_return extends TreeRuleReturnScope {
};
// $ANTLR start "mediumCondition"
// CSSTree.g:203:1: mediumCondition : ( ID | ONLY id= ID | ARGUMENTS | COMMA );
public final CSSTree.mediumCondition_return mediumCondition() throws RecognitionException {
CSSTree.mediumCondition_return retval = new CSSTree.mediumCondition_return();
retval.start = input.LT(1);
CommonTree id=null;
try {
// CSSTree.g:204:5: ( ID | ONLY id= ID | ARGUMENTS | COMMA )
int alt8=4;
switch ( input.LA(1) ) {
case ID:
{
alt8=1;
}
break;
case ONLY:
{
alt8=2;
}
break;
case ARGUMENTS:
{
alt8=3;
}
break;
case COMMA:
{
alt8=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// CSSTree.g:204:9: ID
{
match(input,ID,FOLLOW_ID_in_mediumCondition315);
mediaQuery_stack.peek().conditions.add(new CSSMediaQueryCondition(((CommonTree)retval.start), tokenStream));
}
break;
case 2 :
// CSSTree.g:208:7: ONLY id= ID
{
match(input,ONLY,FOLLOW_ONLY_in_mediumCondition331);
id=(CommonTree)match(input,ID,FOLLOW_ID_in_mediumCondition335);
mediaQuery_stack.peek().conditions.add(new CSSMediaQueryCondition(((CommonTree)retval.start), tokenStream));
mediaQuery_stack.peek().conditions.add(new CSSMediaQueryCondition(id, tokenStream));
}
break;
case 3 :
// CSSTree.g:213:7: ARGUMENTS
{
match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_mediumCondition351);
mediaQuery_stack.peek().conditions.add(new CSSMediaQueryCondition(((CommonTree)retval.start), tokenStream));
}
break;
case 4 :
// CSSTree.g:217:7: COMMA
{
match(input,COMMA,FOLLOW_COMMA_in_mediumCondition366);
mediaQuery_stack.peek().conditions.add(new CSSMediaQueryCondition(((CommonTree)retval.start), tokenStream));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "mediumCondition"
public static class fontFace_return extends TreeRuleReturnScope {
};
// $ANTLR start "fontFace"
// CSSTree.g:223:1: fontFace : ^( AT_FONT_FACE d= declarationsBlock ) ;
public final CSSTree.fontFace_return fontFace() throws RecognitionException {
CSSTree.fontFace_return retval = new CSSTree.fontFace_return();
retval.start = input.LT(1);
List d =null;
try {
// CSSTree.g:241:5: ( ^( AT_FONT_FACE d= declarationsBlock ) )
// CSSTree.g:241:9: ^( AT_FONT_FACE d= declarationsBlock )
{
match(input,AT_FONT_FACE,FOLLOW_AT_FONT_FACE_in_fontFace402);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_declarationsBlock_in_fontFace406);
d=declarationsBlock();
state._fsp--;
match(input, Token.UP, null);
}
List properties = d;
if (properties == null)
{
properties = new ArrayList();
}
final CSSFontFace fontFace = new CSSFontFace(properties, ((CommonTree)retval.start), tokenStream);
if (fontFace.getProblems().size() == 0)
{
stylesheet_stack.peek().fontFaces.add(fontFace);
}
else
{
problems.addAll(fontFace.getProblems());
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fontFace"
protected static class ruleset_scope {
List subjects;
}
protected Stack ruleset_stack = new Stack();
public static class ruleset_return extends TreeRuleReturnScope {
};
// $ANTLR start "ruleset"
// CSSTree.g:244:1: ruleset : ^( I_RULE selectorGroup d= declarationsBlock ) ;
public final CSSTree.ruleset_return ruleset() throws RecognitionException {
ruleset_stack.push(new ruleset_scope());
CSSTree.ruleset_return retval = new CSSTree.ruleset_return();
retval.start = input.LT(1);
List d =null;
ruleset_stack.peek().subjects = new ArrayList();
try {
// CSSTree.g:270:5: ( ^( I_RULE selectorGroup d= declarationsBlock ) )
// CSSTree.g:270:9: ^( I_RULE selectorGroup d= declarationsBlock )
{
match(input,I_RULE,FOLLOW_I_RULE_in_ruleset446);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_selectorGroup_in_ruleset448);
selectorGroup();
state._fsp--;
pushFollow(FOLLOW_declarationsBlock_in_ruleset452);
d=declarationsBlock();
state._fsp--;
match(input, Token.UP, null);
}
final List mediaQueryConditions;
if (mediaQuery_stack.isEmpty())
mediaQueryConditions = null;
else
mediaQueryConditions = mediaQuery_stack.peek().conditions;
final CSSRule cssRule = new CSSRule(
mediaQueryConditions,
ruleset_stack.peek().subjects,
d,
((CommonTree)retval.start),
tokenStream);
stylesheet_stack.peek().rules.add(cssRule);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
ruleset_stack.pop();
}
return retval;
}
// $ANTLR end "ruleset"
// $ANTLR start "selectorGroup"
// CSSTree.g:273:1: selectorGroup : ^( I_SELECTOR_GROUP ( compoundSelector )+ ) ;
public final void selectorGroup() throws RecognitionException {
try {
// CSSTree.g:274:5: ( ^( I_SELECTOR_GROUP ( compoundSelector )+ ) )
// CSSTree.g:274:8: ^( I_SELECTOR_GROUP ( compoundSelector )+ )
{
match(input,I_SELECTOR_GROUP,FOLLOW_I_SELECTOR_GROUP_in_selectorGroup472);
match(input, Token.DOWN, null);
// CSSTree.g:274:27: ( compoundSelector )+
int cnt9=0;
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==I_SELECTOR) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// CSSTree.g:274:27: compoundSelector
{
pushFollow(FOLLOW_compoundSelector_in_selectorGroup474);
compoundSelector();
state._fsp--;
}
break;
default :
if ( cnt9 >= 1 ) break loop9;
EarlyExitException eee = new EarlyExitException(9, input);
throw eee;
}
cnt9++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "selectorGroup"
// $ANTLR start "compoundSelector"
// CSSTree.g:277:1: compoundSelector : ^( I_SELECTOR firstSelector[simpleSelectorStack] ( moreSelectors[simpleSelectorStack] )* ) ;
public final void compoundSelector() throws RecognitionException {
final Stack simpleSelectorStack = new Stack();
try {
// CSSTree.g:286:5: ( ^( I_SELECTOR firstSelector[simpleSelectorStack] ( moreSelectors[simpleSelectorStack] )* ) )
// CSSTree.g:286:9: ^( I_SELECTOR firstSelector[simpleSelectorStack] ( moreSelectors[simpleSelectorStack] )* )
{
match(input,I_SELECTOR,FOLLOW_I_SELECTOR_in_compoundSelector510);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_firstSelector_in_compoundSelector512);
firstSelector(simpleSelectorStack);
state._fsp--;
// CSSTree.g:286:57: ( moreSelectors[simpleSelectorStack] )*
loop10:
while (true) {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==I_CHILD_SELECTOR||LA10_0==I_PRECEDED_SELECTOR||(LA10_0 >= I_SIBLING_SELECTOR && LA10_0 <= I_SIMPLE_SELECTOR)) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// CSSTree.g:286:57: moreSelectors[simpleSelectorStack]
{
pushFollow(FOLLOW_moreSelectors_in_compoundSelector515);
moreSelectors(simpleSelectorStack);
state._fsp--;
}
break;
default :
break loop10;
}
}
match(input, Token.UP, null);
}
ruleset_stack.peek().subjects.add(simpleSelectorStack.peek());
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "compoundSelector"
// $ANTLR start "moreSelectors"
// CSSTree.g:289:1: moreSelectors[Stack simpleSelectorStack] : ( ^( I_CHILD_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.CHILD] ) | ^( I_PRECEDED_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.PRECEDED] ) | ^( I_SIBLING_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.SIBLING] ) | ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] ) );
public final void moreSelectors(Stack simpleSelectorStack) throws RecognitionException {
try {
// CSSTree.g:290:5: ( ^( I_CHILD_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.CHILD] ) | ^( I_PRECEDED_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.PRECEDED] ) | ^( I_SIBLING_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.SIBLING] ) | ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] ) )
int alt11=4;
switch ( input.LA(1) ) {
case I_CHILD_SELECTOR:
{
alt11=1;
}
break;
case I_PRECEDED_SELECTOR:
{
alt11=2;
}
break;
case I_SIBLING_SELECTOR:
{
alt11=3;
}
break;
case I_SIMPLE_SELECTOR:
{
alt11=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// CSSTree.g:290:9: ^( I_CHILD_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.CHILD] )
{
match(input,I_CHILD_SELECTOR,FOLLOW_I_CHILD_SELECTOR_in_moreSelectors547);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_simpleSelector_in_moreSelectors549);
simpleSelector(simpleSelectorStack, CombinatorType.CHILD);
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// CSSTree.g:291:9: ^( I_PRECEDED_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.PRECEDED] )
{
match(input,I_PRECEDED_SELECTOR,FOLLOW_I_PRECEDED_SELECTOR_in_moreSelectors562);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_simpleSelector_in_moreSelectors564);
simpleSelector(simpleSelectorStack, CombinatorType.PRECEDED);
state._fsp--;
match(input, Token.UP, null);
}
break;
case 3 :
// CSSTree.g:292:9: ^( I_SIBLING_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.SIBLING] )
{
match(input,I_SIBLING_SELECTOR,FOLLOW_I_SIBLING_SELECTOR_in_moreSelectors577);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_simpleSelector_in_moreSelectors579);
simpleSelector(simpleSelectorStack, CombinatorType.SIBLING);
state._fsp--;
match(input, Token.UP, null);
}
break;
case 4 :
// CSSTree.g:293:9: ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] )
{
match(input,I_SIMPLE_SELECTOR,FOLLOW_I_SIMPLE_SELECTOR_in_moreSelectors592);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_simpleSelector_in_moreSelectors594);
simpleSelector(simpleSelectorStack, CombinatorType.DESCENDANT);
state._fsp--;
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "moreSelectors"
// $ANTLR start "firstSelector"
// CSSTree.g:296:1: firstSelector[Stack simpleSelectorStack] : ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] ) ;
public final void firstSelector(Stack simpleSelectorStack) throws RecognitionException {
try {
// CSSTree.g:297:5: ( ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] ) )
// CSSTree.g:297:9: ^( I_SIMPLE_SELECTOR simpleSelector[simpleSelectorStack, CombinatorType.DESCENDANT] )
{
match(input,I_SIMPLE_SELECTOR,FOLLOW_I_SIMPLE_SELECTOR_in_firstSelector619);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_simpleSelector_in_firstSelector621);
simpleSelector(simpleSelectorStack, CombinatorType.DESCENDANT);
state._fsp--;
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "firstSelector"
protected static class simpleSelector_scope {
String namespace;
String element;
List conditions;
}
protected Stack simpleSelector_stack = new Stack();
public static class simpleSelector_return extends TreeRuleReturnScope {
};
// $ANTLR start "simpleSelector"
// CSSTree.g:300:1: simpleSelector[Stack simpleSelectorStack, CombinatorType combinatorType] : ( simpleSelectorFraction )+ ;
public final CSSTree.simpleSelector_return simpleSelector(Stack simpleSelectorStack, CombinatorType combinatorType) throws RecognitionException {
simpleSelector_stack.push(new simpleSelector_scope());
CSSTree.simpleSelector_return retval = new CSSTree.simpleSelector_return();
retval.start = input.LT(1);
simpleSelector_stack.peek().conditions = new ArrayList();
final CSSCombinator combinator ;
if (simpleSelectorStack.isEmpty())
combinator = null;
else
combinator = new CSSCombinator(simpleSelectorStack.peek(), combinatorType, ((CommonTree)retval.start), tokenStream);
try {
// CSSTree.g:332:5: ( ( simpleSelectorFraction )+ )
// CSSTree.g:332:9: ( simpleSelectorFraction )+
{
// CSSTree.g:332:9: ( simpleSelectorFraction )+
int cnt12=0;
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==COLON||(LA12_0 >= DOT && LA12_0 <= DOUBLE_COLON)||LA12_0==HASH_WORD||LA12_0==ID||LA12_0==NUMBER_WITH_PERCENT||LA12_0==PIPE||(LA12_0 >= SQUARE_OPEN && LA12_0 <= STAR)) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// CSSTree.g:332:9: simpleSelectorFraction
{
pushFollow(FOLLOW_simpleSelectorFraction_in_simpleSelector658);
simpleSelectorFraction();
state._fsp--;
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
EarlyExitException eee = new EarlyExitException(12, input);
throw eee;
}
cnt12++;
}
}
if (strictFlexCSS && !CombinatorType.DESCENDANT.equals(combinatorType))
{
// Flex supported only the DESCENDANT combinator type
problems.add(new CSSStrictFlexSyntaxProblem(combinator, combinatorType.text));
}
final CSSSelector simpleSelector = new CSSSelector(
combinator,
simpleSelector_stack.peek().element,
simpleSelector_stack.peek().namespace,
simpleSelector_stack.peek().conditions,
((CommonTree)retval.start),
tokenStream);
simpleSelectorStack.push(simpleSelector);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
simpleSelector_stack.pop();
}
return retval;
}
// $ANTLR end "simpleSelector"
// $ANTLR start "simpleSelectorFraction"
// CSSTree.g:336:1: simpleSelectorFraction : ( elementSelector | conditionSelector );
public final void simpleSelectorFraction() throws RecognitionException {
try {
// CSSTree.g:337:5: ( elementSelector | conditionSelector )
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==ID||LA13_0==NUMBER_WITH_PERCENT||LA13_0==PIPE||LA13_0==STAR) ) {
alt13=1;
}
else if ( (LA13_0==COLON||(LA13_0 >= DOT && LA13_0 <= DOUBLE_COLON)||LA13_0==HASH_WORD||LA13_0==SQUARE_OPEN) ) {
alt13=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// CSSTree.g:337:9: elementSelector
{
pushFollow(FOLLOW_elementSelector_in_simpleSelectorFraction690);
elementSelector();
state._fsp--;
}
break;
case 2 :
// CSSTree.g:338:9: conditionSelector
{
pushFollow(FOLLOW_conditionSelector_in_simpleSelectorFraction700);
conditionSelector();
state._fsp--;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "simpleSelectorFraction"
public static class conditionSelector_return extends TreeRuleReturnScope {
};
// $ANTLR start "conditionSelector"
// CSSTree.g:341:1: conditionSelector : ( ^( DOT c= ID ) | HASH_WORD | ^( COLON NOT arg= ARGUMENTS ) | ^( COLON s= ID ) | ^( DOUBLE_COLON dc= ID ) | attributeSelector );
public final CSSTree.conditionSelector_return conditionSelector() throws RecognitionException {
CSSTree.conditionSelector_return retval = new CSSTree.conditionSelector_return();
retval.start = input.LT(1);
CommonTree c=null;
CommonTree arg=null;
CommonTree s=null;
CommonTree dc=null;
CommonTree HASH_WORD1=null;
CommonTree COLON2=null;
CommonTree NOT3=null;
CommonTree DOUBLE_COLON4=null;
ConditionType type = null;
String name = null;
try {
// CSSTree.g:352:5: ( ^( DOT c= ID ) | HASH_WORD | ^( COLON NOT arg= ARGUMENTS ) | ^( COLON s= ID ) | ^( DOUBLE_COLON dc= ID ) | attributeSelector )
int alt14=6;
switch ( input.LA(1) ) {
case DOT:
{
alt14=1;
}
break;
case HASH_WORD:
{
alt14=2;
}
break;
case COLON:
{
int LA14_3 = input.LA(2);
if ( (LA14_3==DOWN) ) {
int LA14_6 = input.LA(3);
if ( (LA14_6==NOT) ) {
alt14=3;
}
else if ( (LA14_6==ID) ) {
alt14=4;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 14, 6, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 14, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case DOUBLE_COLON:
{
alt14=5;
}
break;
case SQUARE_OPEN:
{
alt14=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// CSSTree.g:352:9: ^( DOT c= ID )
{
match(input,DOT,FOLLOW_DOT_in_conditionSelector734);
match(input, Token.DOWN, null);
c=(CommonTree)match(input,ID,FOLLOW_ID_in_conditionSelector738);
match(input, Token.UP, null);
type = ConditionType.CLASS; name = (c!=null?c.getText():null);
}
break;
case 2 :
// CSSTree.g:353:9: HASH_WORD
{
HASH_WORD1=(CommonTree)match(input,HASH_WORD,FOLLOW_HASH_WORD_in_conditionSelector755);
type = ConditionType.ID; name = (HASH_WORD1!=null?HASH_WORD1.getText():null).substring(1);
}
break;
case 3 :
// CSSTree.g:354:9: ^( COLON NOT arg= ARGUMENTS )
{
COLON2=(CommonTree)match(input,COLON,FOLLOW_COLON_in_conditionSelector770);
match(input, Token.DOWN, null);
NOT3=(CommonTree)match(input,NOT,FOLLOW_NOT_in_conditionSelector772);
arg=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_conditionSelector776);
match(input, Token.UP, null);
if (strictFlexCSS)
{
// Flex didn't support the CSS :not() pseudo-class
displayStrictFlexSyntaxError((COLON2!=null?COLON2.getText():null) + (NOT3!=null?NOT3.getText():null), NOT3);
}
type = ConditionType.NOT;
name = (arg!=null?arg.getText():null);
}
break;
case 4 :
// CSSTree.g:364:9: ^( COLON s= ID )
{
match(input,COLON,FOLLOW_COLON_in_conditionSelector798);
match(input, Token.DOWN, null);
s=(CommonTree)match(input,ID,FOLLOW_ID_in_conditionSelector802);
match(input, Token.UP, null);
type = ConditionType.PSEUDO; name = (s!=null?s.getText():null);
}
break;
case 5 :
// CSSTree.g:365:9: ^( DOUBLE_COLON dc= ID )
{
DOUBLE_COLON4=(CommonTree)match(input,DOUBLE_COLON,FOLLOW_DOUBLE_COLON_in_conditionSelector817);
match(input, Token.DOWN, null);
dc=(CommonTree)match(input,ID,FOLLOW_ID_in_conditionSelector821);
match(input, Token.UP, null);
if (strictFlexCSS)
{
// Flex didn't support CSS pseudo elements (but did support non-function pseudo-classes)
displayStrictFlexSyntaxError((DOUBLE_COLON4!=null?DOUBLE_COLON4.getText():null), DOUBLE_COLON4);
}
type = ConditionType.PSEUDO_ELEMENT;
name = (dc!=null?dc.getText():null);
}
break;
case 6 :
// CSSTree.g:375:9: attributeSelector
{
pushFollow(FOLLOW_attributeSelector_in_conditionSelector843);
attributeSelector();
state._fsp--;
type = ConditionType.ATTRIBUTE; name = curAttribute.substring(1);
}
break;
}
simpleSelector_stack.peek().conditions.add(
new CSSSelectorCondition(name, type, ((CommonTree)retval.start), tokenStream));
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conditionSelector"
// $ANTLR start "elementSelector"
// CSSTree.g:378:1: elementSelector : ( ^( PIPE ns= ID e1= ID ) |e2= ID |np= NUMBER_WITH_PERCENT | STAR );
public final void elementSelector() throws RecognitionException {
CommonTree ns=null;
CommonTree e1=null;
CommonTree e2=null;
CommonTree np=null;
CommonTree STAR5=null;
try {
// CSSTree.g:379:5: ( ^( PIPE ns= ID e1= ID ) |e2= ID |np= NUMBER_WITH_PERCENT | STAR )
int alt15=4;
switch ( input.LA(1) ) {
case PIPE:
{
alt15=1;
}
break;
case ID:
{
alt15=2;
}
break;
case NUMBER_WITH_PERCENT:
{
alt15=3;
}
break;
case STAR:
{
alt15=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// CSSTree.g:379:9: ^( PIPE ns= ID e1= ID )
{
match(input,PIPE,FOLLOW_PIPE_in_elementSelector867);
match(input, Token.DOWN, null);
ns=(CommonTree)match(input,ID,FOLLOW_ID_in_elementSelector871);
e1=(CommonTree)match(input,ID,FOLLOW_ID_in_elementSelector875);
match(input, Token.UP, null);
simpleSelector_stack.peek().element = (e1!=null?e1.getText():null);
simpleSelector_stack.peek().namespace = (ns!=null?ns.getText():null);
}
break;
case 2 :
// CSSTree.g:382:9: e2= ID
{
e2=(CommonTree)match(input,ID,FOLLOW_ID_in_elementSelector900);
simpleSelector_stack.peek().element = (e2!=null?e2.getText():null);
}
break;
case 3 :
// CSSTree.g:384:9: np= NUMBER_WITH_PERCENT
{
np=(CommonTree)match(input,NUMBER_WITH_PERCENT,FOLLOW_NUMBER_WITH_PERCENT_in_elementSelector935);
simpleSelector_stack.peek().element = (np!=null?np.getText():null);
}
break;
case 4 :
// CSSTree.g:386:9: STAR
{
STAR5=(CommonTree)match(input,STAR,FOLLOW_STAR_in_elementSelector968);
simpleSelector_stack.peek().element = (STAR5!=null?STAR5.getText():null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "elementSelector"
// $ANTLR start "attributeSelector"
// CSSTree.g:390:1: attributeSelector : open= SQUARE_OPEN attributeName ( attributeOperator )* ( attributeValue )* close= SQUARE_END ;
public final void attributeSelector() throws RecognitionException {
CommonTree open=null;
CommonTree close=null;
try {
// CSSTree.g:391:5: (open= SQUARE_OPEN attributeName ( attributeOperator )* ( attributeValue )* close= SQUARE_END )
// CSSTree.g:391:9: open= SQUARE_OPEN attributeName ( attributeOperator )* ( attributeValue )* close= SQUARE_END
{
open=(CommonTree)match(input,SQUARE_OPEN,FOLLOW_SQUARE_OPEN_in_attributeSelector1016);
pushFollow(FOLLOW_attributeName_in_attributeSelector1018);
attributeName();
state._fsp--;
// CSSTree.g:391:42: ( attributeOperator )*
loop16:
while (true) {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==BEGINS_WITH||LA16_0==CONTAINS||(LA16_0 >= ENDS_WITH && LA16_0 <= EQUALS)||LA16_0==HREFLANG_MATCH||LA16_0==LIST_MATCH) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// CSSTree.g:391:42: attributeOperator
{
pushFollow(FOLLOW_attributeOperator_in_attributeSelector1020);
attributeOperator();
state._fsp--;
}
break;
default :
break loop16;
}
}
// CSSTree.g:391:61: ( attributeValue )*
loop17:
while (true) {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==ID||LA17_0==STRING) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// CSSTree.g:391:61: attributeValue
{
pushFollow(FOLLOW_attributeValue_in_attributeSelector1023);
attributeValue();
state._fsp--;
}
break;
default :
break loop17;
}
}
close=(CommonTree)match(input,SQUARE_END,FOLLOW_SQUARE_END_in_attributeSelector1030);
if (strictFlexCSS)
{
// Flex didn't support CSS attributes
displayStrictFlexSyntaxError((open!=null?open.getText():null), open);
}
curAttribute = (open!=null?open.getText():null) + curAttribute + (close!=null?close.getText():null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attributeSelector"
// $ANTLR start "attributeName"
// CSSTree.g:402:1: attributeName : n1= ID ;
public final void attributeName() throws RecognitionException {
CommonTree n1=null;
try {
// CSSTree.g:403:5: (n1= ID )
// CSSTree.g:403:10: n1= ID
{
n1=(CommonTree)match(input,ID,FOLLOW_ID_in_attributeName1068);
curAttribute = (n1!=null?n1.getText():null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attributeName"
// $ANTLR start "attributeOperator"
// CSSTree.g:407:1: attributeOperator : (o1= BEGINS_WITH |o2= ENDS_WITH |o3= CONTAINS |o4= LIST_MATCH |o5= HREFLANG_MATCH |o6= EQUALS );
public final void attributeOperator() throws RecognitionException {
CommonTree o1=null;
CommonTree o2=null;
CommonTree o3=null;
CommonTree o4=null;
CommonTree o5=null;
CommonTree o6=null;
try {
// CSSTree.g:408:5: (o1= BEGINS_WITH |o2= ENDS_WITH |o3= CONTAINS |o4= LIST_MATCH |o5= HREFLANG_MATCH |o6= EQUALS )
int alt18=6;
switch ( input.LA(1) ) {
case BEGINS_WITH:
{
alt18=1;
}
break;
case ENDS_WITH:
{
alt18=2;
}
break;
case CONTAINS:
{
alt18=3;
}
break;
case LIST_MATCH:
{
alt18=4;
}
break;
case HREFLANG_MATCH:
{
alt18=5;
}
break;
case EQUALS:
{
alt18=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1 :
// CSSTree.g:408:10: o1= BEGINS_WITH
{
o1=(CommonTree)match(input,BEGINS_WITH,FOLLOW_BEGINS_WITH_in_attributeOperator1107);
curAttribute += (o1!=null?o1.getText():null);
}
break;
case 2 :
// CSSTree.g:410:10: o2= ENDS_WITH
{
o2=(CommonTree)match(input,ENDS_WITH,FOLLOW_ENDS_WITH_in_attributeOperator1133);
curAttribute += (o2!=null?o2.getText():null);
}
break;
case 3 :
// CSSTree.g:412:10: o3= CONTAINS
{
o3=(CommonTree)match(input,CONTAINS,FOLLOW_CONTAINS_in_attributeOperator1159);
curAttribute += (o3!=null?o3.getText():null);
}
break;
case 4 :
// CSSTree.g:414:10: o4= LIST_MATCH
{
o4=(CommonTree)match(input,LIST_MATCH,FOLLOW_LIST_MATCH_in_attributeOperator1185);
curAttribute += (o4!=null?o4.getText():null);
}
break;
case 5 :
// CSSTree.g:416:10: o5= HREFLANG_MATCH
{
o5=(CommonTree)match(input,HREFLANG_MATCH,FOLLOW_HREFLANG_MATCH_in_attributeOperator1211);
curAttribute += (o5!=null?o5.getText():null);
}
break;
case 6 :
// CSSTree.g:418:10: o6= EQUALS
{
o6=(CommonTree)match(input,EQUALS,FOLLOW_EQUALS_in_attributeOperator1237);
curAttribute += (o6!=null?o6.getText():null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attributeOperator"
// $ANTLR start "attributeValue"
// CSSTree.g:422:1: attributeValue : (s= STRING |s1= ID );
public final void attributeValue() throws RecognitionException {
CommonTree s=null;
CommonTree s1=null;
try {
// CSSTree.g:423:5: (s= STRING |s1= ID )
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==STRING) ) {
alt19=1;
}
else if ( (LA19_0==ID) ) {
alt19=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// CSSTree.g:423:10: s= STRING
{
s=(CommonTree)match(input,STRING,FOLLOW_STRING_in_attributeValue1276);
curAttribute += (s!=null?s.getText():null);
}
break;
case 2 :
// CSSTree.g:425:10: s1= ID
{
s1=(CommonTree)match(input,ID,FOLLOW_ID_in_attributeValue1302);
curAttribute = (s1!=null?s1.getText():null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "attributeValue"
// $ANTLR start "declarationsBlock"
// CSSTree.g:430:1: declarationsBlock returns [List properties] : ^( I_DECL ( declaration )* ) ;
public final List declarationsBlock() throws RecognitionException {
List properties = null;
TreeRuleReturnScope declaration6 =null;
properties = new ArrayList();
try {
// CSSTree.g:435:5: ( ^( I_DECL ( declaration )* ) )
// CSSTree.g:435:9: ^( I_DECL ( declaration )* )
{
match(input,I_DECL,FOLLOW_I_DECL_in_declarationsBlock1349);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// CSSTree.g:435:18: ( declaration )*
loop20:
while (true) {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==COLON) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// CSSTree.g:435:19: declaration
{
pushFollow(FOLLOW_declaration_in_declarationsBlock1352);
declaration6=declaration();
state._fsp--;
if ((declaration6!=null?((CSSTree.declaration_return)declaration6).property:null) != null)
properties.add((declaration6!=null?((CSSTree.declaration_return)declaration6).property:null));
}
break;
default :
break loop20;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return properties;
}
// $ANTLR end "declarationsBlock"
public static class declaration_return extends TreeRuleReturnScope {
public CSSProperty property;
};
// $ANTLR start "declaration"
// CSSTree.g:443:1: declaration returns [CSSProperty property] : ( ^( COLON id= ID v= value ) | ^( COLON id= DASHED_ID v= value ) );
public final CSSTree.declaration_return declaration() throws RecognitionException {
CSSTree.declaration_return retval = new CSSTree.declaration_return();
retval.start = input.LT(1);
CommonTree id=null;
TreeRuleReturnScope v =null;
try {
// CSSTree.g:454:5: ( ^( COLON id= ID v= value ) | ^( COLON id= DASHED_ID v= value ) )
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==COLON) ) {
int LA21_1 = input.LA(2);
if ( (LA21_1==DOWN) ) {
int LA21_2 = input.LA(3);
if ( (LA21_2==ID) ) {
alt21=1;
}
else if ( (LA21_2==DASHED_ID) ) {
alt21=2;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 21, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 21, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// CSSTree.g:454:9: ^( COLON id= ID v= value )
{
match(input,COLON,FOLLOW_COLON_in_declaration1406);
match(input, Token.DOWN, null);
id=(CommonTree)match(input,ID,FOLLOW_ID_in_declaration1410);
pushFollow(FOLLOW_value_in_declaration1414);
v=value();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// CSSTree.g:455:9: ^( COLON id= DASHED_ID v= value )
{
match(input,COLON,FOLLOW_COLON_in_declaration1426);
match(input, Token.DOWN, null);
id=(CommonTree)match(input,DASHED_ID,FOLLOW_DASHED_ID_in_declaration1430);
pushFollow(FOLLOW_value_in_declaration1434);
v=value();
state._fsp--;
match(input, Token.UP, null);
}
break;
}
if (strictFlexCSS && (id!=null?id.getText():null).startsWith("--"))
{
// Flex didn't support CSS custom properties (CSS variables)
displayStrictFlexSyntaxError((id!=null?id.getText():null), id);
}
if ((id!=null?id.getText():null) != null && (v!=null?((CSSTree.value_return)v).propertyValue:null) != null)
retval.property = new CSSProperty((id!=null?id.getText():null), (v!=null?((CSSTree.value_return)v).propertyValue:null), ((CommonTree)retval.start), tokenStream);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "declaration"
public static class value_return extends TreeRuleReturnScope {
public CSSPropertyValue propertyValue;
};
// $ANTLR start "value"
// CSSTree.g:458:1: value returns [CSSPropertyValue propertyValue] : ( ^( I_ARRAY (s1= multiValue )+ ) |s2= multiValue );
public final CSSTree.value_return value() throws RecognitionException {
CSSTree.value_return retval = new CSSTree.value_return();
retval.start = input.LT(1);
TreeRuleReturnScope s1 =null;
TreeRuleReturnScope s2 =null;
try {
// CSSTree.g:459:5: ( ^( I_ARRAY (s1= multiValue )+ ) |s2= multiValue )
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==I_ARRAY) ) {
alt23=1;
}
else if ( (LA23_0==ALPHA_VALUE||LA23_0==CALC||LA23_0==CLASS_REFERENCE||LA23_0==EMBED||(LA23_0 >= FUNCTIONS && LA23_0 <= HASH_WORD)||(LA23_0 >= ID && LA23_0 <= IMPORTANT)||LA23_0==I_MULTIVALUE||(LA23_0 >= LOCAL && LA23_0 <= MATRIX_VALUE)||(LA23_0 >= NUMBER_WITH_PERCENT && LA23_0 <= NUMBER_WITH_UNIT)||LA23_0==OPERATOR||(LA23_0 >= PROPERTY_REFERENCE && LA23_0 <= ROTATE_VALUE)||LA23_0==SCALE_VALUE||LA23_0==STRING||(LA23_0 >= TRANSLATE3D_VALUE && LA23_0 <= VAR)) ) {
alt23=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
// CSSTree.g:459:9: ^( I_ARRAY (s1= multiValue )+ )
{
match(input,I_ARRAY,FOLLOW_I_ARRAY_in_value1464);
final List array = new ArrayList();
match(input, Token.DOWN, null);
// CSSTree.g:461:12: (s1= multiValue )+
int cnt22=0;
loop22:
while (true) {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==ALPHA_VALUE||LA22_0==CALC||LA22_0==CLASS_REFERENCE||LA22_0==EMBED||(LA22_0 >= FUNCTIONS && LA22_0 <= HASH_WORD)||(LA22_0 >= ID && LA22_0 <= IMPORTANT)||LA22_0==I_MULTIVALUE||(LA22_0 >= LOCAL && LA22_0 <= MATRIX_VALUE)||(LA22_0 >= NUMBER_WITH_PERCENT && LA22_0 <= NUMBER_WITH_UNIT)||LA22_0==OPERATOR||(LA22_0 >= PROPERTY_REFERENCE && LA22_0 <= ROTATE_VALUE)||LA22_0==SCALE_VALUE||LA22_0==STRING||(LA22_0 >= TRANSLATE3D_VALUE && LA22_0 <= VAR)) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// CSSTree.g:461:14: s1= multiValue
{
pushFollow(FOLLOW_multiValue_in_value1514);
s1=multiValue();
state._fsp--;
array.add((s1!=null?((CSSTree.multiValue_return)s1).propertyValue:null));
}
break;
default :
if ( cnt22 >= 1 ) break loop22;
EarlyExitException eee = new EarlyExitException(22, input);
throw eee;
}
cnt22++;
}
match(input, Token.UP, null);
retval.propertyValue = new CSSArrayPropertyValue(array, ((CommonTree)retval.start), tokenStream);
}
break;
case 2 :
// CSSTree.g:463:9: s2= multiValue
{
pushFollow(FOLLOW_multiValue_in_value1566);
s2=multiValue();
state._fsp--;
retval.propertyValue = (s2!=null?((CSSTree.multiValue_return)s2).propertyValue:null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "value"
public static class multiValue_return extends TreeRuleReturnScope {
public CSSPropertyValue propertyValue;
};
// $ANTLR start "multiValue"
// CSSTree.g:466:1: multiValue returns [CSSPropertyValue propertyValue] : ( ^( I_MULTIVALUE (s1= singleValue )+ ) |s2= singleValue );
public final CSSTree.multiValue_return multiValue() throws RecognitionException {
CSSTree.multiValue_return retval = new CSSTree.multiValue_return();
retval.start = input.LT(1);
TreeRuleReturnScope s1 =null;
TreeRuleReturnScope s2 =null;
try {
// CSSTree.g:467:5: ( ^( I_MULTIVALUE (s1= singleValue )+ ) |s2= singleValue )
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==I_MULTIVALUE) ) {
alt25=1;
}
else if ( (LA25_0==ALPHA_VALUE||LA25_0==CALC||LA25_0==CLASS_REFERENCE||LA25_0==EMBED||(LA25_0 >= FUNCTIONS && LA25_0 <= HASH_WORD)||(LA25_0 >= ID && LA25_0 <= IMPORTANT)||(LA25_0 >= LOCAL && LA25_0 <= MATRIX_VALUE)||(LA25_0 >= NUMBER_WITH_PERCENT && LA25_0 <= NUMBER_WITH_UNIT)||LA25_0==OPERATOR||(LA25_0 >= PROPERTY_REFERENCE && LA25_0 <= ROTATE_VALUE)||LA25_0==SCALE_VALUE||LA25_0==STRING||(LA25_0 >= TRANSLATE3D_VALUE && LA25_0 <= VAR)) ) {
alt25=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// CSSTree.g:467:9: ^( I_MULTIVALUE (s1= singleValue )+ )
{
match(input,I_MULTIVALUE,FOLLOW_I_MULTIVALUE_in_multiValue1605);
final List array = new ArrayList();
match(input, Token.DOWN, null);
// CSSTree.g:469:12: (s1= singleValue )+
int cnt24=0;
loop24:
while (true) {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==ALPHA_VALUE||LA24_0==CALC||LA24_0==CLASS_REFERENCE||LA24_0==EMBED||(LA24_0 >= FUNCTIONS && LA24_0 <= HASH_WORD)||(LA24_0 >= ID && LA24_0 <= IMPORTANT)||(LA24_0 >= LOCAL && LA24_0 <= MATRIX_VALUE)||(LA24_0 >= NUMBER_WITH_PERCENT && LA24_0 <= NUMBER_WITH_UNIT)||LA24_0==OPERATOR||(LA24_0 >= PROPERTY_REFERENCE && LA24_0 <= ROTATE_VALUE)||LA24_0==SCALE_VALUE||LA24_0==STRING||(LA24_0 >= TRANSLATE3D_VALUE && LA24_0 <= VAR)) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// CSSTree.g:469:14: s1= singleValue
{
pushFollow(FOLLOW_singleValue_in_multiValue1655);
s1=singleValue();
state._fsp--;
array.add((s1!=null?((CSSTree.singleValue_return)s1).propertyValue:null));
}
break;
default :
if ( cnt24 >= 1 ) break loop24;
EarlyExitException eee = new EarlyExitException(24, input);
throw eee;
}
cnt24++;
}
match(input, Token.UP, null);
retval.propertyValue = new CSSMultiValuePropertyValue(array, ((CommonTree)retval.start), tokenStream);
}
break;
case 2 :
// CSSTree.g:471:9: s2= singleValue
{
pushFollow(FOLLOW_singleValue_in_multiValue1706);
s2=singleValue();
state._fsp--;
retval.propertyValue = (s2!=null?((CSSTree.singleValue_return)s2).propertyValue:null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "multiValue"
public static class singleValue_return extends TreeRuleReturnScope {
public CSSPropertyValue propertyValue;
};
// $ANTLR start "singleValue"
// CSSTree.g:474:1: singleValue returns [CSSPropertyValue propertyValue] : ( NUMBER_WITH_PERCENT | NUMBER_WITH_UNIT | HASH_WORD | ALPHA_VALUE | RECT_VALUE | ROTATE_VALUE | SCALE_VALUE | TRANSLATE3D_VALUE | MATRIX_VALUE | MATRIX3D_VALUE | RGB | RGBA | ^( CLASS_REFERENCE cr= ARGUMENTS ) | ^( PROPERTY_REFERENCE pr= ARGUMENTS ) | ^( EMBED es= ARGUMENTS ) | ^( URL url= ARGUMENTS (format= formatOption )* ) | ^( LOCAL l= ARGUMENTS ) | ^( CALC l= ARGUMENTS ) | ^( VAR l= ARGUMENTS ) | ^( FUNCTIONS l= ARGUMENTS ) |s= STRING | ID | OPERATOR | IMPORTANT );
public final CSSTree.singleValue_return singleValue() throws RecognitionException {
CSSTree.singleValue_return retval = new CSSTree.singleValue_return();
retval.start = input.LT(1);
CommonTree cr=null;
CommonTree pr=null;
CommonTree es=null;
CommonTree url=null;
CommonTree l=null;
CommonTree s=null;
CommonTree NUMBER_WITH_PERCENT7=null;
CommonTree NUMBER_WITH_UNIT8=null;
CommonTree ALPHA_VALUE9=null;
CommonTree ROTATE_VALUE10=null;
CommonTree SCALE_VALUE11=null;
CommonTree TRANSLATE3D_VALUE12=null;
CommonTree MATRIX_VALUE13=null;
CommonTree MATRIX3D_VALUE14=null;
CommonTree RGB15=null;
CommonTree RGBA16=null;
CommonTree CLASS_REFERENCE17=null;
CommonTree PROPERTY_REFERENCE18=null;
CommonTree EMBED19=null;
CommonTree URL20=null;
CommonTree LOCAL21=null;
CommonTree CALC22=null;
CommonTree VAR23=null;
CommonTree FUNCTIONS24=null;
TreeRuleReturnScope format =null;
try {
// CSSTree.g:475:5: ( NUMBER_WITH_PERCENT | NUMBER_WITH_UNIT | HASH_WORD | ALPHA_VALUE | RECT_VALUE | ROTATE_VALUE | SCALE_VALUE | TRANSLATE3D_VALUE | MATRIX_VALUE | MATRIX3D_VALUE | RGB | RGBA | ^( CLASS_REFERENCE cr= ARGUMENTS ) | ^( PROPERTY_REFERENCE pr= ARGUMENTS ) | ^( EMBED es= ARGUMENTS ) | ^( URL url= ARGUMENTS (format= formatOption )* ) | ^( LOCAL l= ARGUMENTS ) | ^( CALC l= ARGUMENTS ) | ^( VAR l= ARGUMENTS ) | ^( FUNCTIONS l= ARGUMENTS ) |s= STRING | ID | OPERATOR | IMPORTANT )
int alt27=24;
switch ( input.LA(1) ) {
case NUMBER_WITH_PERCENT:
{
alt27=1;
}
break;
case NUMBER_WITH_UNIT:
{
alt27=2;
}
break;
case HASH_WORD:
{
alt27=3;
}
break;
case ALPHA_VALUE:
{
alt27=4;
}
break;
case RECT_VALUE:
{
alt27=5;
}
break;
case ROTATE_VALUE:
{
alt27=6;
}
break;
case SCALE_VALUE:
{
alt27=7;
}
break;
case TRANSLATE3D_VALUE:
{
alt27=8;
}
break;
case MATRIX_VALUE:
{
alt27=9;
}
break;
case MATRIX3D_VALUE:
{
alt27=10;
}
break;
case RGB:
{
alt27=11;
}
break;
case RGBA:
{
alt27=12;
}
break;
case CLASS_REFERENCE:
{
alt27=13;
}
break;
case PROPERTY_REFERENCE:
{
alt27=14;
}
break;
case EMBED:
{
alt27=15;
}
break;
case URL:
{
alt27=16;
}
break;
case LOCAL:
{
alt27=17;
}
break;
case CALC:
{
alt27=18;
}
break;
case VAR:
{
alt27=19;
}
break;
case FUNCTIONS:
{
alt27=20;
}
break;
case STRING:
{
alt27=21;
}
break;
case ID:
{
alt27=22;
}
break;
case OPERATOR:
{
alt27=23;
}
break;
case IMPORTANT:
{
alt27=24;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 27, 0, input);
throw nvae;
}
switch (alt27) {
case 1 :
// CSSTree.g:475:9: NUMBER_WITH_PERCENT
{
NUMBER_WITH_PERCENT7=(CommonTree)match(input,NUMBER_WITH_PERCENT,FOLLOW_NUMBER_WITH_PERCENT_in_singleValue1740);
retval.propertyValue = new CSSNumberPropertyValue((NUMBER_WITH_PERCENT7!=null?NUMBER_WITH_PERCENT7.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 2 :
// CSSTree.g:477:9: NUMBER_WITH_UNIT
{
NUMBER_WITH_UNIT8=(CommonTree)match(input,NUMBER_WITH_UNIT,FOLLOW_NUMBER_WITH_UNIT_in_singleValue1763);
retval.propertyValue = new CSSNumberPropertyValue((NUMBER_WITH_UNIT8!=null?NUMBER_WITH_UNIT8.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 3 :
// CSSTree.g:479:9: HASH_WORD
{
match(input,HASH_WORD,FOLLOW_HASH_WORD_in_singleValue1786);
retval.propertyValue = new CSSColorPropertyValue(((CommonTree)retval.start), tokenStream);
}
break;
case 4 :
// CSSTree.g:481:9: ALPHA_VALUE
{
ALPHA_VALUE9=(CommonTree)match(input,ALPHA_VALUE,FOLLOW_ALPHA_VALUE_in_singleValue1815);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((ALPHA_VALUE9!=null?ALPHA_VALUE9.getText():null), ALPHA_VALUE9);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 5 :
// CSSTree.g:489:9: RECT_VALUE
{
match(input,RECT_VALUE,FOLLOW_RECT_VALUE_in_singleValue1835);
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 6 :
// CSSTree.g:491:9: ROTATE_VALUE
{
ROTATE_VALUE10=(CommonTree)match(input,ROTATE_VALUE,FOLLOW_ROTATE_VALUE_in_singleValue1855);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((ROTATE_VALUE10!=null?ROTATE_VALUE10.getText():null), ROTATE_VALUE10);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 7 :
// CSSTree.g:499:9: SCALE_VALUE
{
SCALE_VALUE11=(CommonTree)match(input,SCALE_VALUE,FOLLOW_SCALE_VALUE_in_singleValue1875);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((SCALE_VALUE11!=null?SCALE_VALUE11.getText():null), SCALE_VALUE11);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 8 :
// CSSTree.g:507:9: TRANSLATE3D_VALUE
{
TRANSLATE3D_VALUE12=(CommonTree)match(input,TRANSLATE3D_VALUE,FOLLOW_TRANSLATE3D_VALUE_in_singleValue1895);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((TRANSLATE3D_VALUE12!=null?TRANSLATE3D_VALUE12.getText():null), TRANSLATE3D_VALUE12);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 9 :
// CSSTree.g:515:9: MATRIX_VALUE
{
MATRIX_VALUE13=(CommonTree)match(input,MATRIX_VALUE,FOLLOW_MATRIX_VALUE_in_singleValue1915);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((MATRIX_VALUE13!=null?MATRIX_VALUE13.getText():null), MATRIX_VALUE13);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 10 :
// CSSTree.g:523:9: MATRIX3D_VALUE
{
MATRIX3D_VALUE14=(CommonTree)match(input,MATRIX3D_VALUE,FOLLOW_MATRIX3D_VALUE_in_singleValue1935);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((MATRIX3D_VALUE14!=null?MATRIX3D_VALUE14.getText():null), MATRIX3D_VALUE14);
}
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 11 :
// CSSTree.g:531:9: RGB
{
RGB15=(CommonTree)match(input,RGB,FOLLOW_RGB_in_singleValue1955);
retval.propertyValue = new CSSRgbColorPropertyValue((RGB15!=null?RGB15.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 12 :
// CSSTree.g:533:9: RGBA
{
RGBA16=(CommonTree)match(input,RGBA,FOLLOW_RGBA_in_singleValue1972);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((RGBA16!=null?RGBA16.getText():null), RGBA16);
}
retval.propertyValue = new CSSRgbaColorPropertyValue((RGBA16!=null?RGBA16.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 13 :
// CSSTree.g:541:9: ^( CLASS_REFERENCE cr= ARGUMENTS )
{
CLASS_REFERENCE17=(CommonTree)match(input,CLASS_REFERENCE,FOLLOW_CLASS_REFERENCE_in_singleValue1990);
match(input, Token.DOWN, null);
cr=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue1994);
match(input, Token.UP, null);
retval.propertyValue = new CSSFunctionCallPropertyValue((CLASS_REFERENCE17!=null?CLASS_REFERENCE17.getText():null), (cr!=null?cr.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 14 :
// CSSTree.g:543:9: ^( PROPERTY_REFERENCE pr= ARGUMENTS )
{
PROPERTY_REFERENCE18=(CommonTree)match(input,PROPERTY_REFERENCE,FOLLOW_PROPERTY_REFERENCE_in_singleValue2016);
match(input, Token.DOWN, null);
pr=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2020);
match(input, Token.UP, null);
retval.propertyValue = new CSSFunctionCallPropertyValue((PROPERTY_REFERENCE18!=null?PROPERTY_REFERENCE18.getText():null), (pr!=null?pr.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 15 :
// CSSTree.g:545:9: ^( EMBED es= ARGUMENTS )
{
EMBED19=(CommonTree)match(input,EMBED,FOLLOW_EMBED_in_singleValue2042);
match(input, Token.DOWN, null);
es=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2046);
match(input, Token.UP, null);
retval.propertyValue = new CSSFunctionCallPropertyValue((EMBED19!=null?EMBED19.getText():null), (es!=null?es.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 16 :
// CSSTree.g:547:9: ^( URL url= ARGUMENTS (format= formatOption )* )
{
URL20=(CommonTree)match(input,URL,FOLLOW_URL_in_singleValue2068);
match(input, Token.DOWN, null);
url=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2072);
// CSSTree.g:547:35: (format= formatOption )*
loop26:
while (true) {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==FORMAT) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// CSSTree.g:547:35: format= formatOption
{
pushFollow(FOLLOW_formatOption_in_singleValue2076);
format=formatOption();
state._fsp--;
}
break;
default :
break loop26;
}
}
match(input, Token.UP, null);
retval.propertyValue = new CSSURLAndFormatPropertyValue((URL20!=null?URL20.getText():null), (url!=null?url.getText():null), (format!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(format.start),input.getTreeAdaptor().getTokenStopIndex(format.start))):null), ((CommonTree)retval.start), tokenStream);
}
break;
case 17 :
// CSSTree.g:549:9: ^( LOCAL l= ARGUMENTS )
{
LOCAL21=(CommonTree)match(input,LOCAL,FOLLOW_LOCAL_in_singleValue2099);
match(input, Token.DOWN, null);
l=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2103);
match(input, Token.UP, null);
retval.propertyValue = new CSSFunctionCallPropertyValue((LOCAL21!=null?LOCAL21.getText():null), (l!=null?l.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 18 :
// CSSTree.g:551:9: ^( CALC l= ARGUMENTS )
{
CALC22=(CommonTree)match(input,CALC,FOLLOW_CALC_in_singleValue2125);
match(input, Token.DOWN, null);
l=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2129);
match(input, Token.UP, null);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((CALC22!=null?CALC22.getText():null), CALC22);
}
retval.propertyValue = new CSSFunctionCallPropertyValue((CALC22!=null?CALC22.getText():null), (l!=null?l.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 19 :
// CSSTree.g:559:9: ^( VAR l= ARGUMENTS )
{
VAR23=(CommonTree)match(input,VAR,FOLLOW_VAR_in_singleValue2151);
match(input, Token.DOWN, null);
l=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2155);
match(input, Token.UP, null);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((VAR23!=null?VAR23.getText():null), VAR23);
}
retval.propertyValue = new CSSFunctionCallPropertyValue((VAR23!=null?VAR23.getText():null), (l!=null?l.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 20 :
// CSSTree.g:567:9: ^( FUNCTIONS l= ARGUMENTS )
{
FUNCTIONS24=(CommonTree)match(input,FUNCTIONS,FOLLOW_FUNCTIONS_in_singleValue2177);
match(input, Token.DOWN, null);
l=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_singleValue2181);
match(input, Token.UP, null);
if (strictFlexCSS)
{
displayStrictFlexSyntaxError((FUNCTIONS24!=null?FUNCTIONS24.getText():null), FUNCTIONS24);
}
retval.propertyValue = new CSSFunctionCallPropertyValue((FUNCTIONS24!=null?FUNCTIONS24.getText():null), (l!=null?l.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 21 :
// CSSTree.g:575:9: s= STRING
{
s=(CommonTree)match(input,STRING,FOLLOW_STRING_in_singleValue2204);
retval.propertyValue = new CSSStringPropertyValue((s!=null?s.getText():null), ((CommonTree)retval.start), tokenStream);
}
break;
case 22 :
// CSSTree.g:577:9: ID
{
match(input,ID,FOLLOW_ID_in_singleValue2246);
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 23 :
// CSSTree.g:579:9: OPERATOR
{
match(input,OPERATOR,FOLLOW_OPERATOR_in_singleValue2267);
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
case 24 :
// CSSTree.g:581:9: IMPORTANT
{
match(input,IMPORTANT,FOLLOW_IMPORTANT_in_singleValue2288);
retval.propertyValue = CSSKeywordPropertyValue.create(((CommonTree)retval.start), tokenStream);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "singleValue"
public static class formatOption_return extends TreeRuleReturnScope {
public CSSPropertyValue propertyValue;
};
// $ANTLR start "formatOption"
// CSSTree.g:585:1: formatOption returns [CSSPropertyValue propertyValue] : ^( FORMAT format= ARGUMENTS ) ;
public final CSSTree.formatOption_return formatOption() throws RecognitionException {
CSSTree.formatOption_return retval = new CSSTree.formatOption_return();
retval.start = input.LT(1);
CommonTree format=null;
CommonTree FORMAT25=null;
try {
// CSSTree.g:586:5: ( ^( FORMAT format= ARGUMENTS ) )
// CSSTree.g:586:9: ^( FORMAT format= ARGUMENTS )
{
FORMAT25=(CommonTree)match(input,FORMAT,FOLLOW_FORMAT_in_formatOption2327);
match(input, Token.DOWN, null);
format=(CommonTree)match(input,ARGUMENTS,FOLLOW_ARGUMENTS_in_formatOption2331);
match(input, Token.UP, null);
retval.propertyValue = new CSSFunctionCallPropertyValue((FORMAT25!=null?FORMAT25.getText():null), (format!=null?format.getText():null), ((CommonTree)retval.start), tokenStream);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "formatOption"
public static class argumentList_return extends TreeRuleReturnScope {
public List labels;
public List values;
};
// $ANTLR start "argumentList"
// CSSTree.g:590:1: argumentList returns [List labels, List values] : ( argument[$labels, $values] )+ ;
public final CSSTree.argumentList_return argumentList() throws RecognitionException {
CSSTree.argumentList_return retval = new CSSTree.argumentList_return();
retval.start = input.LT(1);
retval.labels = new ArrayList(3);
retval.values = new ArrayList(3);
try {
// CSSTree.g:596:5: ( ( argument[$labels, $values] )+ )
// CSSTree.g:596:9: ( argument[$labels, $values] )+
{
// CSSTree.g:596:9: ( argument[$labels, $values] )+
int cnt28=0;
loop28:
while (true) {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==EQUALS) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// CSSTree.g:596:9: argument[$labels, $values]
{
pushFollow(FOLLOW_argument_in_argumentList2372);
argument(retval.labels, retval.values);
state._fsp--;
}
break;
default :
if ( cnt28 >= 1 ) break loop28;
EarlyExitException eee = new EarlyExitException(28, input);
throw eee;
}
cnt28++;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argumentList"
// $ANTLR start "argument"
// CSSTree.g:599:1: argument[List labels, List values] : ^( EQUALS (l= ID )? v= STRING ) ;
public final void argument(List labels, List values) throws RecognitionException {
CommonTree l=null;
CommonTree v=null;
try {
// CSSTree.g:606:5: ( ^( EQUALS (l= ID )? v= STRING ) )
// CSSTree.g:606:9: ^( EQUALS (l= ID )? v= STRING )
{
match(input,EQUALS,FOLLOW_EQUALS_in_argument2405);
match(input, Token.DOWN, null);
// CSSTree.g:606:19: (l= ID )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==ID) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// CSSTree.g:606:19: l= ID
{
l=(CommonTree)match(input,ID,FOLLOW_ID_in_argument2409);
}
break;
}
v=(CommonTree)match(input,STRING,FOLLOW_STRING_in_argument2414);
match(input, Token.UP, null);
}
// Use null for argument without label.
labels.add((l!=null?l.getText():null));
values.add((v!=null?v.getText():null));
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "argument"
// Delegated rules
public static final BitSet FOLLOW_namespaceStatement_in_stylesheet94 = new BitSet(new long[]{0x00000400000007C2L});
public static final BitSet FOLLOW_fontFace_in_stylesheet98 = new BitSet(new long[]{0x00000400000007C2L});
public static final BitSet FOLLOW_keyframes_in_stylesheet102 = new BitSet(new long[]{0x00000400000007C2L});
public static final BitSet FOLLOW_mediaQuery_in_stylesheet106 = new BitSet(new long[]{0x00000400000007C2L});
public static final BitSet FOLLOW_ruleset_in_stylesheet110 = new BitSet(new long[]{0x00000400000007C2L});
public static final BitSet FOLLOW_AT_NAMESPACE_in_namespaceStatement146 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_namespaceStatement150 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_STRING_in_namespaceStatement155 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_AT_KEYFRAMES_in_keyframes178 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_keyframes182 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_ruleset_in_keyframes184 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_AT_WEBKIT_KEYFRAMES_in_keyframes208 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_keyframes212 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_ruleset_in_keyframes214 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_AT_MEDIA_in_mediaQuery261 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_medium_in_mediaQuery263 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_ruleset_in_mediaQuery265 = new BitSet(new long[]{0x0000040000000008L});
public static final BitSet FOLLOW_I_MEDIUM_CONDITIONS_in_medium290 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_mediumCondition_in_medium292 = new BitSet(new long[]{0x0400000400040028L});
public static final BitSet FOLLOW_ID_in_mediumCondition315 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ONLY_in_mediumCondition331 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_ID_in_mediumCondition335 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ARGUMENTS_in_mediumCondition351 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COMMA_in_mediumCondition366 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AT_FONT_FACE_in_fontFace402 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_declarationsBlock_in_fontFace406 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_RULE_in_ruleset446 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_selectorGroup_in_ruleset448 = new BitSet(new long[]{0x0000004000000000L});
public static final BitSet FOLLOW_declarationsBlock_in_ruleset452 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_SELECTOR_GROUP_in_selectorGroup472 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_compoundSelector_in_selectorGroup474 = new BitSet(new long[]{0x0000100000000008L});
public static final BitSet FOLLOW_I_SELECTOR_in_compoundSelector510 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_firstSelector_in_compoundSelector512 = new BitSet(new long[]{0x0000C22000000008L});
public static final BitSet FOLLOW_moreSelectors_in_compoundSelector515 = new BitSet(new long[]{0x0000C22000000008L});
public static final BitSet FOLLOW_I_CHILD_SELECTOR_in_moreSelectors547 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_simpleSelector_in_moreSelectors549 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_PRECEDED_SELECTOR_in_moreSelectors562 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_simpleSelector_in_moreSelectors564 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_SIBLING_SELECTOR_in_moreSelectors577 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_simpleSelector_in_moreSelectors579 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_SIMPLE_SELECTOR_in_moreSelectors592 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_simpleSelector_in_moreSelectors594 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_SIMPLE_SELECTOR_in_firstSelector619 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_simpleSelector_in_firstSelector621 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_simpleSelectorFraction_in_simpleSelector658 = new BitSet(new long[]{0x2100000481820002L,0x0000000000000300L});
public static final BitSet FOLLOW_elementSelector_in_simpleSelectorFraction690 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conditionSelector_in_simpleSelectorFraction700 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_conditionSelector734 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_conditionSelector738 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_HASH_WORD_in_conditionSelector755 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_conditionSelector770 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_NOT_in_conditionSelector772 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_ARGUMENTS_in_conditionSelector776 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COLON_in_conditionSelector798 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_conditionSelector802 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DOUBLE_COLON_in_conditionSelector817 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_conditionSelector821 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_attributeSelector_in_conditionSelector843 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PIPE_in_elementSelector867 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_elementSelector871 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_ID_in_elementSelector875 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_ID_in_elementSelector900 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NUMBER_WITH_PERCENT_in_elementSelector935 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STAR_in_elementSelector968 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SQUARE_OPEN_in_attributeSelector1016 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_attributeName_in_attributeSelector1018 = new BitSet(new long[]{0x000200060C100800L,0x0000000000000480L});
public static final BitSet FOLLOW_attributeOperator_in_attributeSelector1020 = new BitSet(new long[]{0x000200060C100800L,0x0000000000000480L});
public static final BitSet FOLLOW_attributeValue_in_attributeSelector1023 = new BitSet(new long[]{0x0000000400000000L,0x0000000000000480L});
public static final BitSet FOLLOW_SQUARE_END_in_attributeSelector1030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_attributeName1068 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BEGINS_WITH_in_attributeOperator1107 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ENDS_WITH_in_attributeOperator1133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONTAINS_in_attributeOperator1159 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LIST_MATCH_in_attributeOperator1185 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_HREFLANG_MATCH_in_attributeOperator1211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EQUALS_in_attributeOperator1237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_attributeValue1276 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_attributeValue1302 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_I_DECL_in_declarationsBlock1349 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_declaration_in_declarationsBlock1352 = new BitSet(new long[]{0x0000000000020008L});
public static final BitSet FOLLOW_COLON_in_declaration1406 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_declaration1410 = new BitSet(new long[]{0x8B1C011CC2014010L,0x000000000000E42FL});
public static final BitSet FOLLOW_value_in_declaration1414 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COLON_in_declaration1426 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DASHED_ID_in_declaration1430 = new BitSet(new long[]{0x8B1C011CC2014010L,0x000000000000E42FL});
public static final BitSet FOLLOW_value_in_declaration1434 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_I_ARRAY_in_value1464 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_multiValue_in_value1514 = new BitSet(new long[]{0x8B1C010CC2014018L,0x000000000000E42FL});
public static final BitSet FOLLOW_multiValue_in_value1566 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_I_MULTIVALUE_in_multiValue1605 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_singleValue_in_multiValue1655 = new BitSet(new long[]{0x8B1C000CC2014018L,0x000000000000E42FL});
public static final BitSet FOLLOW_singleValue_in_multiValue1706 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NUMBER_WITH_PERCENT_in_singleValue1740 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NUMBER_WITH_UNIT_in_singleValue1763 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_HASH_WORD_in_singleValue1786 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ALPHA_VALUE_in_singleValue1815 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RECT_VALUE_in_singleValue1835 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ROTATE_VALUE_in_singleValue1855 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SCALE_VALUE_in_singleValue1875 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TRANSLATE3D_VALUE_in_singleValue1895 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MATRIX_VALUE_in_singleValue1915 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MATRIX3D_VALUE_in_singleValue1935 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RGB_in_singleValue1955 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RGBA_in_singleValue1972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CLASS_REFERENCE_in_singleValue1990 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue1994 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PROPERTY_REFERENCE_in_singleValue2016 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2020 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_EMBED_in_singleValue2042 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2046 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_URL_in_singleValue2068 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2072 = new BitSet(new long[]{0x0000000020000008L});
public static final BitSet FOLLOW_formatOption_in_singleValue2076 = new BitSet(new long[]{0x0000000020000008L});
public static final BitSet FOLLOW_LOCAL_in_singleValue2099 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2103 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CALC_in_singleValue2125 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2129 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_VAR_in_singleValue2151 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2155 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FUNCTIONS_in_singleValue2177 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_singleValue2181 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_STRING_in_singleValue2204 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ID_in_singleValue2246 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPERATOR_in_singleValue2267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPORTANT_in_singleValue2288 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FORMAT_in_formatOption2327 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ARGUMENTS_in_formatOption2331 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_argument_in_argumentList2372 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_EQUALS_in_argument2405 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_argument2409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_STRING_in_argument2414 = new BitSet(new long[]{0x0000000000000008L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy