catch up with branch daily Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties index 7d9b159..2187d9d 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties +++ b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties
@@ -1,10 +1,8 @@ source.. = src/,\ - src-gen/ + src-gen/\, + xtend-gen bin.includes = about.properties, about.mappings, about.ini, about.html, META-INF/,\ .,\ - .classpath,\ - .project,\ - .settings/,\ LICENSE.txt,\ license.html src.includes = about.properties, about.mappings, about.ini, about.html, LICENSE.txt,\
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java index 468b497..35708a6 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java +++ b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java
@@ -1,16 +1,5 @@ /** - * - * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation + * generated by Xtext 2.11.0 */ package org.eclipse.osbp.xtext.functionlibrarydsl.tests;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF index a40f395..a08f367 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF +++ b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF
@@ -26,7 +26,8 @@ org.eclipse.osbp.xtext.basic.ui;bundle-version="[0.9.0,0.10.0)", org.eclipse.osbp.xtext.oxtype;bundle-version="[0.9.0,0.10.0)", org.eclipse.osbp.xtext.oxtype.ui;bundle-version="[0.9.0,0.10.0)", - org.eclipse.xtend.lib;resolution:=optional + org.eclipse.xtend.lib;resolution:=optional, + com.itemis.xtext.codebuff.ui;bundle-version="1.0.0";resolution:=optional Import-Package: javax.validation, org.apache.log4j, javax.annotation
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java index a1276b5..c65f44a 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java +++ b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java
@@ -21,6 +21,7 @@ import com.google.inject.Binder; import com.google.inject.Provider; import com.google.inject.name.Names; +import com.itemis.xtext.codebuff.ui.CodebuffContentFormatterFactory; import org.eclipse.compare.IViewerCreator; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; @@ -85,6 +86,7 @@ import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory; import org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler; import org.eclipse.xtext.ui.editor.findrefs.ReferenceQueryExecutor; +import org.eclipse.xtext.ui.editor.formatting.IContentFormatterFactory; import org.eclipse.xtext.ui.editor.model.XtextDocumentProvider; import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider; import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider; @@ -407,4 +409,9 @@ return DefaultViewerCreator.class; } + // contributed by com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment + public Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() { + return CodebuffContentFormatterFactory.class; + } + }
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF index f2e69b0..68a12d6 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF
@@ -46,7 +46,9 @@ org.eclipse.xtend.lib, org.eclipse.osbp.bpm;bundle-version="0.9.0", org.eclipse.osbp.bpm.api;bundle-version="0.9.0", - org.eclipse.osbp.runtime.common;bundle-version="0.9.0" + org.eclipse.osbp.runtime.common;bundle-version="0.9.0", + com.itemis.xtext.codebuff;bundle-version="1.0.0";resolution:=optional, + com.itemis.xtext.codebuff.ui;bundle-version="1.0.0";resolution:=optional Import-Package: javax.validation;version="1.1.0", javax.validation.constraints;version="1.1.0", org.apache.log4j,
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar new file mode 100644 index 0000000..8203e15 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar Binary files differ
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens new file mode 100644 index 0000000..098f59a --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens
@@ -0,0 +1,207 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +T__12=13 +T__13=14 +T__14=15 +T__15=16 +T__16=17 +T__17=18 +T__18=19 +T__19=20 +T__20=21 +T__21=22 +T__22=23 +T__23=24 +T__24=25 +T__25=26 +T__26=27 +T__27=28 +T__28=29 +T__29=30 +T__30=31 +T__31=32 +T__32=33 +T__33=34 +T__34=35 +T__35=36 +T__36=37 +T__37=38 +T__38=39 +T__39=40 +T__40=41 +T__41=42 +T__42=43 +T__43=44 +T__44=45 +T__45=46 +T__46=47 +T__47=48 +T__48=49 +T__49=50 +T__50=51 +T__51=52 +T__52=53 +T__53=54 +T__54=55 +T__55=56 +T__56=57 +T__57=58 +T__58=59 +T__59=60 +T__60=61 +T__61=62 +T__62=63 +T__63=64 +T__64=65 +T__65=66 +T__66=67 +T__67=68 +T__68=69 +T__69=70 +T__70=71 +T__71=72 +T__72=73 +T__73=74 +T__74=75 +T__75=76 +T__76=77 +T__77=78 +T__78=79 +T__79=80 +T__80=81 +T__81=82 +T__82=83 +T__83=84 +T__84=85 +T__85=86 +T__86=87 +T__87=88 +T__88=89 +T__89=90 +T__90=91 +T__91=92 +T__92=93 +T__93=94 +T__94=95 +T__95=96 +T__96=97 +T__97=98 +T__98=99 +RULE_HEX=100 +RULE_INT=101 +RULE_DECIMAL=102 +RULE_ID=103 +RULE_STRING=104 +RULE_ML_COMMENT=105 +RULE_SL_COMMENT=106 +RULE_WS=107 +RULE_ANY_OTHER=108 +'package'=1 +'{'=2 +'}'=3 +'group'=4 +'blip-group'=5 +'statemachine'=6 +'validation'=7 +'dialog'=8 +'action'=9 +'converter'=10 +'model-datatype'=11 +'presentation-datatype'=12 +'to-model'=13 +'to-presentation'=14 +'rating'=15 +'function'=16 +'('=17 +','=18 +')'=19 +'returns'=20 +'test'=21 +'rate'=22 +'guard'=23 +'operation'=24 +'validate'=25 +'hook'=26 +'execute'=27 +'canExecute'=28 +'import'=29 +'static'=30 +'extension'=31 +'*'=32 +'ns'=33 +';'=34 +'@'=35 +'='=36 +'#'=37 +'['=38 +']'=39 +'+='=40 +'-='=41 +'*='=42 +'/='=43 +'%='=44 +'<'=45 +'>'=46 +'>='=47 +'||'=48 +'&&'=49 +'=='=50 +'!='=51 +'==='=52 +'!=='=53 +'instanceof'=54 +'->'=55 +'..<'=56 +'..'=57 +'=>'=58 +'<>'=59 +'?:'=60 +'+'=61 +'-'=62 +'**'=63 +'/'=64 +'%'=65 +'!'=66 +'as'=67 +'++'=68 +'--'=69 +'.'=70 +'::'=71 +'?.'=72 +'|'=73 +'if'=74 +'else'=75 +'switch'=76 +':'=77 +'default'=78 +'case'=79 +'for'=80 +'while'=81 +'do'=82 +'var'=83 +'val'=84 +'extends'=85 +'super'=86 +'new'=87 +'false'=88 +'true'=89 +'null'=90 +'typeof'=91 +'throw'=92 +'return'=93 +'try'=94 +'finally'=95 +'synchronized'=96 +'catch'=97 +'?'=98 +'&'=99
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java new file mode 100644 index 0000000..c00101a --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java
@@ -0,0 +1,1299 @@ +// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3 +package org.antlr.codebuff; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link CodebuffListener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +public class CodebuffBaseListener implements CodebuffListener { + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXExpression(CodebuffParser.RuleXExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXExpression(CodebuffParser.RuleXExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpOr(CodebuffParser.RuleOpOrContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpOr(CodebuffParser.RuleOpOrContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpAnd(CodebuffParser.RuleOpAndContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpAnd(CodebuffParser.RuleOpAndContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpOther(CodebuffParser.RuleOpOtherContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpOther(CodebuffParser.RuleOpOtherContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpAdd(CodebuffParser.RuleOpAddContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpAdd(CodebuffParser.RuleOpAddContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXClosure(CodebuffParser.RuleXClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXClosure(CodebuffParser.RuleXClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleNumber(CodebuffParser.RuleNumberContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleNumber(CodebuffParser.RuleNumberContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleValidID(CodebuffParser.RuleValidIDContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleValidID(CodebuffParser.RuleValidIDContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx) { } + + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + * <p>The default implementation does nothing.</p> + */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java new file mode 100644 index 0000000..3677db9 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java
@@ -0,0 +1,431 @@ +// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3 +package org.antlr.codebuff; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class CodebuffLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, + T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, + T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, + T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, + T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45, + T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52, + T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, T__57=58, T__58=59, + T__59=60, T__60=61, T__61=62, T__62=63, T__63=64, T__64=65, T__65=66, + T__66=67, T__67=68, T__68=69, T__69=70, T__70=71, T__71=72, T__72=73, + T__73=74, T__74=75, T__75=76, T__76=77, T__77=78, T__78=79, T__79=80, + T__80=81, T__81=82, T__82=83, T__83=84, T__84=85, T__85=86, T__86=87, + T__87=88, T__88=89, T__89=90, T__90=91, T__91=92, T__92=93, T__93=94, + T__94=95, T__95=96, T__96=97, T__97=98, T__98=99, RULE_HEX=100, RULE_INT=101, + RULE_DECIMAL=102, RULE_ID=103, RULE_STRING=104, RULE_ML_COMMENT=105, RULE_SL_COMMENT=106, + RULE_WS=107, RULE_ANY_OTHER=108; + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + public static final String[] ruleNames = { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", + "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", + "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", + "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48", + "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56", + "T__57", "T__58", "T__59", "T__60", "T__61", "T__62", "T__63", "T__64", + "T__65", "T__66", "T__67", "T__68", "T__69", "T__70", "T__71", "T__72", + "T__73", "T__74", "T__75", "T__76", "T__77", "T__78", "T__79", "T__80", + "T__81", "T__82", "T__83", "T__84", "T__85", "T__86", "T__87", "T__88", + "T__89", "T__90", "T__91", "T__92", "T__93", "T__94", "T__95", "T__96", + "T__97", "T__98", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", "RULE_STRING", + "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'package'", "'{'", "'}'", "'group'", "'blip-group'", "'statemachine'", + "'validation'", "'dialog'", "'action'", "'converter'", "'model-datatype'", + "'presentation-datatype'", "'to-model'", "'to-presentation'", "'rating'", + "'function'", "'('", "','", "')'", "'returns'", "'test'", "'rate'", "'guard'", + "'operation'", "'validate'", "'hook'", "'execute'", "'canExecute'", "'import'", + "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'='", "'#'", + "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", + "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", + "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", + "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", + "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", + "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'", + "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", + "'synchronized'", "'catch'", "'?'", "'&'" + }; + private static final String[] _SYMBOLIC_NAMES = { + 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, null, null, null, null, + null, null, null, null, "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", + "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = "<INVALID>"; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public CodebuffLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Codebuff.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2n\u034d\b\1\4\2\t"+ + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+ + "k\4l\tl\4m\tm\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\4\3\4\3\5\3\5"+ + "\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3"+ + "\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b"+ + "\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3"+ + "\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3"+ + "\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+ + "\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16"+ + "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+ + "\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20"+ + "\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\23"+ + "\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26"+ + "\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\30\3\31"+ + "\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32"+ + "\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34"+ + "\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35"+ + "\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+ + "\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3\"\3\"\3\"\3#\3#\3$\3$\3%\3%\3&"+ + "\3&\3\'\3\'\3(\3(\3)\3)\3)\3*\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3-\3.\3.\3"+ + "/\3/\3\60\3\60\3\60\3\61\3\61\3\61\3\62\3\62\3\62\3\63\3\63\3\63\3\64"+ + "\3\64\3\64\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\38\38\38\39\39\39\39\3:\3:\3:\3;\3"+ + ";\3;\3<\3<\3<\3=\3=\3=\3>\3>\3?\3?\3@\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3"+ + "D\3E\3E\3E\3F\3F\3F\3G\3G\3H\3H\3H\3I\3I\3I\3J\3J\3K\3K\3K\3L\3L\3L\3"+ + "L\3L\3M\3M\3M\3M\3M\3M\3M\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3P\3P\3"+ + "P\3Q\3Q\3Q\3Q\3R\3R\3R\3R\3R\3R\3S\3S\3S\3T\3T\3T\3T\3U\3U\3U\3U\3V\3"+ + "V\3V\3V\3V\3V\3V\3V\3W\3W\3W\3W\3W\3W\3X\3X\3X\3X\3Y\3Y\3Y\3Y\3Y\3Y\3"+ + "Z\3Z\3Z\3Z\3Z\3[\3[\3[\3[\3[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3]\3]\3]\3]\3"+ + "]\3]\3^\3^\3^\3^\3^\3^\3^\3_\3_\3_\3_\3`\3`\3`\3`\3`\3`\3`\3`\3a\3a\3"+ + "a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3b\3b\3b\3b\3b\3b\3c\3c\3d\3d\3e\3e\3"+ + "e\3e\5e\u02e1\ne\3e\6e\u02e4\ne\re\16e\u02e5\3e\3e\3e\3e\5e\u02ec\ne\5"+ + "e\u02ee\ne\3f\3f\7f\u02f2\nf\ff\16f\u02f5\13f\3g\3g\3g\5g\u02fa\ng\3g"+ + "\5g\u02fd\ng\3g\3g\3g\5g\u0302\ng\3h\5h\u0305\nh\3h\3h\7h\u0309\nh\fh"+ + "\16h\u030c\13h\3i\3i\3i\3i\7i\u0312\ni\fi\16i\u0315\13i\3i\5i\u0318\n"+ + "i\3i\3i\3i\3i\7i\u031e\ni\fi\16i\u0321\13i\3i\5i\u0324\ni\5i\u0326\ni"+ + "\3j\3j\7j\u032a\nj\fj\16j\u032d\13j\3j\3j\3j\3j\3j\3k\3k\3k\3k\7k\u0338"+ + "\nk\fk\16k\u033b\13k\3k\5k\u033e\nk\3k\5k\u0341\nk\3k\3k\3l\6l\u0346\n"+ + "l\rl\16l\u0347\3l\3l\3m\3m\3\u032b\2n\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21"+ + "\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30"+ + "/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.["+ + "/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u<w=y>{?}@\177A\u0081B\u0083"+ + "C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097"+ + "M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab"+ + "W\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bf"+ + "a\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3"+ + "k\u00d5l\u00d7m\u00d9n\3\2\21\6\2\62;CHaach\4\2DDdd\4\2KKkk\4\2NNnn\4"+ + "\2\62;aa\4\2GGgg\4\2--//\6\2FFKKffkk\b\2FFHHNNffhhnn\6\2&&C\\aac|\7\2"+ + "&&\62;C\\aac|\4\2$$^^\4\2))^^\4\2\f\f\17\17\5\2\13\f\17\17\"\"\u0363\2"+ + "\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2"+ + "\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2"+ + "\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2"+ + "\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2"+ + "\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2"+ + "\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2"+ + "\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U"+ + "\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2"+ + "\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2"+ + "\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{"+ + "\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+ + "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+ + "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097"+ + "\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f\3\2\2"+ + "\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7\3\2\2\2\2\u00a9"+ + "\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2"+ + "\2\2\u00b3\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb"+ + "\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2\2\2\u00c3\3\2\2"+ + "\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd"+ + "\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+ + "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\3\u00db\3\2\2\2\5\u00e3\3\2\2\2\7\u00e5"+ + "\3\2\2\2\t\u00e7\3\2\2\2\13\u00ed\3\2\2\2\r\u00f8\3\2\2\2\17\u0105\3\2"+ + "\2\2\21\u0110\3\2\2\2\23\u0117\3\2\2\2\25\u011e\3\2\2\2\27\u0128\3\2\2"+ + "\2\31\u0137\3\2\2\2\33\u014d\3\2\2\2\35\u0156\3\2\2\2\37\u0166\3\2\2\2"+ + "!\u016d\3\2\2\2#\u0176\3\2\2\2%\u0178\3\2\2\2\'\u017a\3\2\2\2)\u017c\3"+ + "\2\2\2+\u0184\3\2\2\2-\u0189\3\2\2\2/\u018e\3\2\2\2\61\u0194\3\2\2\2\63"+ + "\u019e\3\2\2\2\65\u01a7\3\2\2\2\67\u01ac\3\2\2\29\u01b4\3\2\2\2;\u01bf"+ + "\3\2\2\2=\u01c6\3\2\2\2?\u01cd\3\2\2\2A\u01d7\3\2\2\2C\u01d9\3\2\2\2E"+ + "\u01dc\3\2\2\2G\u01de\3\2\2\2I\u01e0\3\2\2\2K\u01e2\3\2\2\2M\u01e4\3\2"+ + "\2\2O\u01e6\3\2\2\2Q\u01e8\3\2\2\2S\u01eb\3\2\2\2U\u01ee\3\2\2\2W\u01f1"+ + "\3\2\2\2Y\u01f4\3\2\2\2[\u01f7\3\2\2\2]\u01f9\3\2\2\2_\u01fb\3\2\2\2a"+ + "\u01fe\3\2\2\2c\u0201\3\2\2\2e\u0204\3\2\2\2g\u0207\3\2\2\2i\u020a\3\2"+ + "\2\2k\u020e\3\2\2\2m\u0212\3\2\2\2o\u021d\3\2\2\2q\u0220\3\2\2\2s\u0224"+ + "\3\2\2\2u\u0227\3\2\2\2w\u022a\3\2\2\2y\u022d\3\2\2\2{\u0230\3\2\2\2}"+ + "\u0232\3\2\2\2\177\u0234\3\2\2\2\u0081\u0237\3\2\2\2\u0083\u0239\3\2\2"+ + "\2\u0085\u023b\3\2\2\2\u0087\u023d\3\2\2\2\u0089\u0240\3\2\2\2\u008b\u0243"+ + "\3\2\2\2\u008d\u0246\3\2\2\2\u008f\u0248\3\2\2\2\u0091\u024b\3\2\2\2\u0093"+ + "\u024e\3\2\2\2\u0095\u0250\3\2\2\2\u0097\u0253\3\2\2\2\u0099\u0258\3\2"+ + "\2\2\u009b\u025f\3\2\2\2\u009d\u0261\3\2\2\2\u009f\u0269\3\2\2\2\u00a1"+ + "\u026e\3\2\2\2\u00a3\u0272\3\2\2\2\u00a5\u0278\3\2\2\2\u00a7\u027b\3\2"+ + "\2\2\u00a9\u027f\3\2\2\2\u00ab\u0283\3\2\2\2\u00ad\u028b\3\2\2\2\u00af"+ + "\u0291\3\2\2\2\u00b1\u0295\3\2\2\2\u00b3\u029b\3\2\2\2\u00b5\u02a0\3\2"+ + "\2\2\u00b7\u02a5\3\2\2\2\u00b9\u02ac\3\2\2\2\u00bb\u02b2\3\2\2\2\u00bd"+ + "\u02b9\3\2\2\2\u00bf\u02bd\3\2\2\2\u00c1\u02c5\3\2\2\2\u00c3\u02d2\3\2"+ + "\2\2\u00c5\u02d8\3\2\2\2\u00c7\u02da\3\2\2\2\u00c9\u02e0\3\2\2\2\u00cb"+ + "\u02ef\3\2\2\2\u00cd\u02f6\3\2\2\2\u00cf\u0304\3\2\2\2\u00d1\u0325\3\2"+ + "\2\2\u00d3\u032b\3\2\2\2\u00d5\u0333\3\2\2\2\u00d7\u0345\3\2\2\2\u00d9"+ + "\u034b\3\2\2\2\u00db\u00dc\7r\2\2\u00dc\u00dd\7c\2\2\u00dd\u00de\7e\2"+ + "\2\u00de\u00df\7m\2\2\u00df\u00e0\7c\2\2\u00e0\u00e1\7i\2\2\u00e1\u00e2"+ + "\7g\2\2\u00e2\4\3\2\2\2\u00e3\u00e4\7}\2\2\u00e4\6\3\2\2\2\u00e5\u00e6"+ + "\7\177\2\2\u00e6\b\3\2\2\2\u00e7\u00e8\7i\2\2\u00e8\u00e9\7t\2\2\u00e9"+ + "\u00ea\7q\2\2\u00ea\u00eb\7w\2\2\u00eb\u00ec\7r\2\2\u00ec\n\3\2\2\2\u00ed"+ + "\u00ee\7d\2\2\u00ee\u00ef\7n\2\2\u00ef\u00f0\7k\2\2\u00f0\u00f1\7r\2\2"+ + "\u00f1\u00f2\7/\2\2\u00f2\u00f3\7i\2\2\u00f3\u00f4\7t\2\2\u00f4\u00f5"+ + "\7q\2\2\u00f5\u00f6\7w\2\2\u00f6\u00f7\7r\2\2\u00f7\f\3\2\2\2\u00f8\u00f9"+ + "\7u\2\2\u00f9\u00fa\7v\2\2\u00fa\u00fb\7c\2\2\u00fb\u00fc\7v\2\2\u00fc"+ + "\u00fd\7g\2\2\u00fd\u00fe\7o\2\2\u00fe\u00ff\7c\2\2\u00ff\u0100\7e\2\2"+ + "\u0100\u0101\7j\2\2\u0101\u0102\7k\2\2\u0102\u0103\7p\2\2\u0103\u0104"+ + "\7g\2\2\u0104\16\3\2\2\2\u0105\u0106\7x\2\2\u0106\u0107\7c\2\2\u0107\u0108"+ + "\7n\2\2\u0108\u0109\7k\2\2\u0109\u010a\7f\2\2\u010a\u010b\7c\2\2\u010b"+ + "\u010c\7v\2\2\u010c\u010d\7k\2\2\u010d\u010e\7q\2\2\u010e\u010f\7p\2\2"+ + "\u010f\20\3\2\2\2\u0110\u0111\7f\2\2\u0111\u0112\7k\2\2\u0112\u0113\7"+ + "c\2\2\u0113\u0114\7n\2\2\u0114\u0115\7q\2\2\u0115\u0116\7i\2\2\u0116\22"+ + "\3\2\2\2\u0117\u0118\7c\2\2\u0118\u0119\7e\2\2\u0119\u011a\7v\2\2\u011a"+ + "\u011b\7k\2\2\u011b\u011c\7q\2\2\u011c\u011d\7p\2\2\u011d\24\3\2\2\2\u011e"+ + "\u011f\7e\2\2\u011f\u0120\7q\2\2\u0120\u0121\7p\2\2\u0121\u0122\7x\2\2"+ + "\u0122\u0123\7g\2\2\u0123\u0124\7t\2\2\u0124\u0125\7v\2\2\u0125\u0126"+ + "\7g\2\2\u0126\u0127\7t\2\2\u0127\26\3\2\2\2\u0128\u0129\7o\2\2\u0129\u012a"+ + "\7q\2\2\u012a\u012b\7f\2\2\u012b\u012c\7g\2\2\u012c\u012d\7n\2\2\u012d"+ + "\u012e\7/\2\2\u012e\u012f\7f\2\2\u012f\u0130\7c\2\2\u0130\u0131\7v\2\2"+ + "\u0131\u0132\7c\2\2\u0132\u0133\7v\2\2\u0133\u0134\7{\2\2\u0134\u0135"+ + "\7r\2\2\u0135\u0136\7g\2\2\u0136\30\3\2\2\2\u0137\u0138\7r\2\2\u0138\u0139"+ + "\7t\2\2\u0139\u013a\7g\2\2\u013a\u013b\7u\2\2\u013b\u013c\7g\2\2\u013c"+ + "\u013d\7p\2\2\u013d\u013e\7v\2\2\u013e\u013f\7c\2\2\u013f\u0140\7v\2\2"+ + "\u0140\u0141\7k\2\2\u0141\u0142\7q\2\2\u0142\u0143\7p\2\2\u0143\u0144"+ + "\7/\2\2\u0144\u0145\7f\2\2\u0145\u0146\7c\2\2\u0146\u0147\7v\2\2\u0147"+ + "\u0148\7c\2\2\u0148\u0149\7v\2\2\u0149\u014a\7{\2\2\u014a\u014b\7r\2\2"+ + "\u014b\u014c\7g\2\2\u014c\32\3\2\2\2\u014d\u014e\7v\2\2\u014e\u014f\7"+ + "q\2\2\u014f\u0150\7/\2\2\u0150\u0151\7o\2\2\u0151\u0152\7q\2\2\u0152\u0153"+ + "\7f\2\2\u0153\u0154\7g\2\2\u0154\u0155\7n\2\2\u0155\34\3\2\2\2\u0156\u0157"+ + "\7v\2\2\u0157\u0158\7q\2\2\u0158\u0159\7/\2\2\u0159\u015a\7r\2\2\u015a"+ + "\u015b\7t\2\2\u015b\u015c\7g\2\2\u015c\u015d\7u\2\2\u015d\u015e\7g\2\2"+ + "\u015e\u015f\7p\2\2\u015f\u0160\7v\2\2\u0160\u0161\7c\2\2\u0161\u0162"+ + "\7v\2\2\u0162\u0163\7k\2\2\u0163\u0164\7q\2\2\u0164\u0165\7p\2\2\u0165"+ + "\36\3\2\2\2\u0166\u0167\7t\2\2\u0167\u0168\7c\2\2\u0168\u0169\7v\2\2\u0169"+ + "\u016a\7k\2\2\u016a\u016b\7p\2\2\u016b\u016c\7i\2\2\u016c \3\2\2\2\u016d"+ + "\u016e\7h\2\2\u016e\u016f\7w\2\2\u016f\u0170\7p\2\2\u0170\u0171\7e\2\2"+ + "\u0171\u0172\7v\2\2\u0172\u0173\7k\2\2\u0173\u0174\7q\2\2\u0174\u0175"+ + "\7p\2\2\u0175\"\3\2\2\2\u0176\u0177\7*\2\2\u0177$\3\2\2\2\u0178\u0179"+ + "\7.\2\2\u0179&\3\2\2\2\u017a\u017b\7+\2\2\u017b(\3\2\2\2\u017c\u017d\7"+ + "t\2\2\u017d\u017e\7g\2\2\u017e\u017f\7v\2\2\u017f\u0180\7w\2\2\u0180\u0181"+ + "\7t\2\2\u0181\u0182\7p\2\2\u0182\u0183\7u\2\2\u0183*\3\2\2\2\u0184\u0185"+ + "\7v\2\2\u0185\u0186\7g\2\2\u0186\u0187\7u\2\2\u0187\u0188\7v\2\2\u0188"+ + ",\3\2\2\2\u0189\u018a\7t\2\2\u018a\u018b\7c\2\2\u018b\u018c\7v\2\2\u018c"+ + "\u018d\7g\2\2\u018d.\3\2\2\2\u018e\u018f\7i\2\2\u018f\u0190\7w\2\2\u0190"+ + "\u0191\7c\2\2\u0191\u0192\7t\2\2\u0192\u0193\7f\2\2\u0193\60\3\2\2\2\u0194"+ + "\u0195\7q\2\2\u0195\u0196\7r\2\2\u0196\u0197\7g\2\2\u0197\u0198\7t\2\2"+ + "\u0198\u0199\7c\2\2\u0199\u019a\7v\2\2\u019a\u019b\7k\2\2\u019b\u019c"+ + "\7q\2\2\u019c\u019d\7p\2\2\u019d\62\3\2\2\2\u019e\u019f\7x\2\2\u019f\u01a0"+ + "\7c\2\2\u01a0\u01a1\7n\2\2\u01a1\u01a2\7k\2\2\u01a2\u01a3\7f\2\2\u01a3"+ + "\u01a4\7c\2\2\u01a4\u01a5\7v\2\2\u01a5\u01a6\7g\2\2\u01a6\64\3\2\2\2\u01a7"+ + "\u01a8\7j\2\2\u01a8\u01a9\7q\2\2\u01a9\u01aa\7q\2\2\u01aa\u01ab\7m\2\2"+ + "\u01ab\66\3\2\2\2\u01ac\u01ad\7g\2\2\u01ad\u01ae\7z\2\2\u01ae\u01af\7"+ + "g\2\2\u01af\u01b0\7e\2\2\u01b0\u01b1\7w\2\2\u01b1\u01b2\7v\2\2\u01b2\u01b3"+ + "\7g\2\2\u01b38\3\2\2\2\u01b4\u01b5\7e\2\2\u01b5\u01b6\7c\2\2\u01b6\u01b7"+ + "\7p\2\2\u01b7\u01b8\7G\2\2\u01b8\u01b9\7z\2\2\u01b9\u01ba\7g\2\2\u01ba"+ + "\u01bb\7e\2\2\u01bb\u01bc\7w\2\2\u01bc\u01bd\7v\2\2\u01bd\u01be\7g\2\2"+ + "\u01be:\3\2\2\2\u01bf\u01c0\7k\2\2\u01c0\u01c1\7o\2\2\u01c1\u01c2\7r\2"+ + "\2\u01c2\u01c3\7q\2\2\u01c3\u01c4\7t\2\2\u01c4\u01c5\7v\2\2\u01c5<\3\2"+ + "\2\2\u01c6\u01c7\7u\2\2\u01c7\u01c8\7v\2\2\u01c8\u01c9\7c\2\2\u01c9\u01ca"+ + "\7v\2\2\u01ca\u01cb\7k\2\2\u01cb\u01cc\7e\2\2\u01cc>\3\2\2\2\u01cd\u01ce"+ + "\7g\2\2\u01ce\u01cf\7z\2\2\u01cf\u01d0\7v\2\2\u01d0\u01d1\7g\2\2\u01d1"+ + "\u01d2\7p\2\2\u01d2\u01d3\7u\2\2\u01d3\u01d4\7k\2\2\u01d4\u01d5\7q\2\2"+ + "\u01d5\u01d6\7p\2\2\u01d6@\3\2\2\2\u01d7\u01d8\7,\2\2\u01d8B\3\2\2\2\u01d9"+ + "\u01da\7p\2\2\u01da\u01db\7u\2\2\u01dbD\3\2\2\2\u01dc\u01dd\7=\2\2\u01dd"+ + "F\3\2\2\2\u01de\u01df\7B\2\2\u01dfH\3\2\2\2\u01e0\u01e1\7?\2\2\u01e1J"+ + "\3\2\2\2\u01e2\u01e3\7%\2\2\u01e3L\3\2\2\2\u01e4\u01e5\7]\2\2\u01e5N\3"+ + "\2\2\2\u01e6\u01e7\7_\2\2\u01e7P\3\2\2\2\u01e8\u01e9\7-\2\2\u01e9\u01ea"+ + "\7?\2\2\u01eaR\3\2\2\2\u01eb\u01ec\7/\2\2\u01ec\u01ed\7?\2\2\u01edT\3"+ + "\2\2\2\u01ee\u01ef\7,\2\2\u01ef\u01f0\7?\2\2\u01f0V\3\2\2\2\u01f1\u01f2"+ + "\7\61\2\2\u01f2\u01f3\7?\2\2\u01f3X\3\2\2\2\u01f4\u01f5\7\'\2\2\u01f5"+ + "\u01f6\7?\2\2\u01f6Z\3\2\2\2\u01f7\u01f8\7>\2\2\u01f8\\\3\2\2\2\u01f9"+ + "\u01fa\7@\2\2\u01fa^\3\2\2\2\u01fb\u01fc\7@\2\2\u01fc\u01fd\7?\2\2\u01fd"+ + "`\3\2\2\2\u01fe\u01ff\7~\2\2\u01ff\u0200\7~\2\2\u0200b\3\2\2\2\u0201\u0202"+ + "\7(\2\2\u0202\u0203\7(\2\2\u0203d\3\2\2\2\u0204\u0205\7?\2\2\u0205\u0206"+ + "\7?\2\2\u0206f\3\2\2\2\u0207\u0208\7#\2\2\u0208\u0209\7?\2\2\u0209h\3"+ + "\2\2\2\u020a\u020b\7?\2\2\u020b\u020c\7?\2\2\u020c\u020d\7?\2\2\u020d"+ + "j\3\2\2\2\u020e\u020f\7#\2\2\u020f\u0210\7?\2\2\u0210\u0211\7?\2\2\u0211"+ + "l\3\2\2\2\u0212\u0213\7k\2\2\u0213\u0214\7p\2\2\u0214\u0215\7u\2\2\u0215"+ + "\u0216\7v\2\2\u0216\u0217\7c\2\2\u0217\u0218\7p\2\2\u0218\u0219\7e\2\2"+ + "\u0219\u021a\7g\2\2\u021a\u021b\7q\2\2\u021b\u021c\7h\2\2\u021cn\3\2\2"+ + "\2\u021d\u021e\7/\2\2\u021e\u021f\7@\2\2\u021fp\3\2\2\2\u0220\u0221\7"+ + "\60\2\2\u0221\u0222\7\60\2\2\u0222\u0223\7>\2\2\u0223r\3\2\2\2\u0224\u0225"+ + "\7\60\2\2\u0225\u0226\7\60\2\2\u0226t\3\2\2\2\u0227\u0228\7?\2\2\u0228"+ + "\u0229\7@\2\2\u0229v\3\2\2\2\u022a\u022b\7>\2\2\u022b\u022c\7@\2\2\u022c"+ + "x\3\2\2\2\u022d\u022e\7A\2\2\u022e\u022f\7<\2\2\u022fz\3\2\2\2\u0230\u0231"+ + "\7-\2\2\u0231|\3\2\2\2\u0232\u0233\7/\2\2\u0233~\3\2\2\2\u0234\u0235\7"+ + ",\2\2\u0235\u0236\7,\2\2\u0236\u0080\3\2\2\2\u0237\u0238\7\61\2\2\u0238"+ + "\u0082\3\2\2\2\u0239\u023a\7\'\2\2\u023a\u0084\3\2\2\2\u023b\u023c\7#"+ + "\2\2\u023c\u0086\3\2\2\2\u023d\u023e\7c\2\2\u023e\u023f\7u\2\2\u023f\u0088"+ + "\3\2\2\2\u0240\u0241\7-\2\2\u0241\u0242\7-\2\2\u0242\u008a\3\2\2\2\u0243"+ + "\u0244\7/\2\2\u0244\u0245\7/\2\2\u0245\u008c\3\2\2\2\u0246\u0247\7\60"+ + "\2\2\u0247\u008e\3\2\2\2\u0248\u0249\7<\2\2\u0249\u024a\7<\2\2\u024a\u0090"+ + "\3\2\2\2\u024b\u024c\7A\2\2\u024c\u024d\7\60\2\2\u024d\u0092\3\2\2\2\u024e"+ + "\u024f\7~\2\2\u024f\u0094\3\2\2\2\u0250\u0251\7k\2\2\u0251\u0252\7h\2"+ + "\2\u0252\u0096\3\2\2\2\u0253\u0254\7g\2\2\u0254\u0255\7n\2\2\u0255\u0256"+ + "\7u\2\2\u0256\u0257\7g\2\2\u0257\u0098\3\2\2\2\u0258\u0259\7u\2\2\u0259"+ + "\u025a\7y\2\2\u025a\u025b\7k\2\2\u025b\u025c\7v\2\2\u025c\u025d\7e\2\2"+ + "\u025d\u025e\7j\2\2\u025e\u009a\3\2\2\2\u025f\u0260\7<\2\2\u0260\u009c"+ + "\3\2\2\2\u0261\u0262\7f\2\2\u0262\u0263\7g\2\2\u0263\u0264\7h\2\2\u0264"+ + "\u0265\7c\2\2\u0265\u0266\7w\2\2\u0266\u0267\7n\2\2\u0267\u0268\7v\2\2"+ + "\u0268\u009e\3\2\2\2\u0269\u026a\7e\2\2\u026a\u026b\7c\2\2\u026b\u026c"+ + "\7u\2\2\u026c\u026d\7g\2\2\u026d\u00a0\3\2\2\2\u026e\u026f\7h\2\2\u026f"+ + "\u0270\7q\2\2\u0270\u0271\7t\2\2\u0271\u00a2\3\2\2\2\u0272\u0273\7y\2"+ + "\2\u0273\u0274\7j\2\2\u0274\u0275\7k\2\2\u0275\u0276\7n\2\2\u0276\u0277"+ + "\7g\2\2\u0277\u00a4\3\2\2\2\u0278\u0279\7f\2\2\u0279\u027a\7q\2\2\u027a"+ + "\u00a6\3\2\2\2\u027b\u027c\7x\2\2\u027c\u027d\7c\2\2\u027d\u027e\7t\2"+ + "\2\u027e\u00a8\3\2\2\2\u027f\u0280\7x\2\2\u0280\u0281\7c\2\2\u0281\u0282"+ + "\7n\2\2\u0282\u00aa\3\2\2\2\u0283\u0284\7g\2\2\u0284\u0285\7z\2\2\u0285"+ + "\u0286\7v\2\2\u0286\u0287\7g\2\2\u0287\u0288\7p\2\2\u0288\u0289\7f\2\2"+ + "\u0289\u028a\7u\2\2\u028a\u00ac\3\2\2\2\u028b\u028c\7u\2\2\u028c\u028d"+ + "\7w\2\2\u028d\u028e\7r\2\2\u028e\u028f\7g\2\2\u028f\u0290\7t\2\2\u0290"+ + "\u00ae\3\2\2\2\u0291\u0292\7p\2\2\u0292\u0293\7g\2\2\u0293\u0294\7y\2"+ + "\2\u0294\u00b0\3\2\2\2\u0295\u0296\7h\2\2\u0296\u0297\7c\2\2\u0297\u0298"+ + "\7n\2\2\u0298\u0299\7u\2\2\u0299\u029a\7g\2\2\u029a\u00b2\3\2\2\2\u029b"+ + "\u029c\7v\2\2\u029c\u029d\7t\2\2\u029d\u029e\7w\2\2\u029e\u029f\7g\2\2"+ + "\u029f\u00b4\3\2\2\2\u02a0\u02a1\7p\2\2\u02a1\u02a2\7w\2\2\u02a2\u02a3"+ + "\7n\2\2\u02a3\u02a4\7n\2\2\u02a4\u00b6\3\2\2\2\u02a5\u02a6\7v\2\2\u02a6"+ + "\u02a7\7{\2\2\u02a7\u02a8\7r\2\2\u02a8\u02a9\7g\2\2\u02a9\u02aa\7q\2\2"+ + "\u02aa\u02ab\7h\2\2\u02ab\u00b8\3\2\2\2\u02ac\u02ad\7v\2\2\u02ad\u02ae"+ + "\7j\2\2\u02ae\u02af\7t\2\2\u02af\u02b0\7q\2\2\u02b0\u02b1\7y\2\2\u02b1"+ + "\u00ba\3\2\2\2\u02b2\u02b3\7t\2\2\u02b3\u02b4\7g\2\2\u02b4\u02b5\7v\2"+ + "\2\u02b5\u02b6\7w\2\2\u02b6\u02b7\7t\2\2\u02b7\u02b8\7p\2\2\u02b8\u00bc"+ + "\3\2\2\2\u02b9\u02ba\7v\2\2\u02ba\u02bb\7t\2\2\u02bb\u02bc\7{\2\2\u02bc"+ + "\u00be\3\2\2\2\u02bd\u02be\7h\2\2\u02be\u02bf\7k\2\2\u02bf\u02c0\7p\2"+ + "\2\u02c0\u02c1\7c\2\2\u02c1\u02c2\7n\2\2\u02c2\u02c3\7n\2\2\u02c3\u02c4"+ + "\7{\2\2\u02c4\u00c0\3\2\2\2\u02c5\u02c6\7u\2\2\u02c6\u02c7\7{\2\2\u02c7"+ + "\u02c8\7p\2\2\u02c8\u02c9\7e\2\2\u02c9\u02ca\7j\2\2\u02ca\u02cb\7t\2\2"+ + "\u02cb\u02cc\7q\2\2\u02cc\u02cd\7p\2\2\u02cd\u02ce\7k\2\2\u02ce\u02cf"+ + "\7|\2\2\u02cf\u02d0\7g\2\2\u02d0\u02d1\7f\2\2\u02d1\u00c2\3\2\2\2\u02d2"+ + "\u02d3\7e\2\2\u02d3\u02d4\7c\2\2\u02d4\u02d5\7v\2\2\u02d5\u02d6\7e\2\2"+ + "\u02d6\u02d7\7j\2\2\u02d7\u00c4\3\2\2\2\u02d8\u02d9\7A\2\2\u02d9\u00c6"+ + "\3\2\2\2\u02da\u02db\7(\2\2\u02db\u00c8\3\2\2\2\u02dc\u02dd\7\62\2\2\u02dd"+ + "\u02e1\7z\2\2\u02de\u02df\7\62\2\2\u02df\u02e1\7Z\2\2\u02e0\u02dc\3\2"+ + "\2\2\u02e0\u02de\3\2\2\2\u02e1\u02e3\3\2\2\2\u02e2\u02e4\t\2\2\2\u02e3"+ + "\u02e2\3\2\2\2\u02e4\u02e5\3\2\2\2\u02e5\u02e3\3\2\2\2\u02e5\u02e6\3\2"+ + "\2\2\u02e6\u02ed\3\2\2\2\u02e7\u02eb\7%\2\2\u02e8\u02e9\t\3\2\2\u02e9"+ + "\u02ec\t\4\2\2\u02ea\u02ec\t\5\2\2\u02eb\u02e8\3\2\2\2\u02eb\u02ea\3\2"+ + "\2\2\u02ec\u02ee\3\2\2\2\u02ed\u02e7\3\2\2\2\u02ed\u02ee\3\2\2\2\u02ee"+ + "\u00ca\3\2\2\2\u02ef\u02f3\4\62;\2\u02f0\u02f2\t\6\2\2\u02f1\u02f0\3\2"+ + "\2\2\u02f2\u02f5\3\2\2\2\u02f3\u02f1\3\2\2\2\u02f3\u02f4\3\2\2\2\u02f4"+ + "\u00cc\3\2\2\2\u02f5\u02f3\3\2\2\2\u02f6\u02fc\5\u00cbf\2\u02f7\u02f9"+ + "\t\7\2\2\u02f8\u02fa\t\b\2\2\u02f9\u02f8\3\2\2\2\u02f9\u02fa\3\2\2\2\u02fa"+ + "\u02fb\3\2\2\2\u02fb\u02fd\5\u00cbf\2\u02fc\u02f7\3\2\2\2\u02fc\u02fd"+ + "\3\2\2\2\u02fd\u0301\3\2\2\2\u02fe\u02ff\t\3\2\2\u02ff\u0302\t\t\2\2\u0300"+ + "\u0302\t\n\2\2\u0301\u02fe\3\2\2\2\u0301\u0300\3\2\2\2\u0301\u0302\3\2"+ + "\2\2\u0302\u00ce\3\2\2\2\u0303\u0305\7`\2\2\u0304\u0303\3\2\2\2\u0304"+ + "\u0305\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u030a\t\13\2\2\u0307\u0309\t"+ + "\f\2\2\u0308\u0307\3\2\2\2\u0309\u030c\3\2\2\2\u030a\u0308\3\2\2\2\u030a"+ + "\u030b\3\2\2\2\u030b\u00d0\3\2\2\2\u030c\u030a\3\2\2\2\u030d\u0313\7$"+ + "\2\2\u030e\u030f\7^\2\2\u030f\u0312\13\2\2\2\u0310\u0312\n\r\2\2\u0311"+ + "\u030e\3\2\2\2\u0311\u0310\3\2\2\2\u0312\u0315\3\2\2\2\u0313\u0311\3\2"+ + "\2\2\u0313\u0314\3\2\2\2\u0314\u0317\3\2\2\2\u0315\u0313\3\2\2\2\u0316"+ + "\u0318\7$\2\2\u0317\u0316\3\2\2\2\u0317\u0318\3\2\2\2\u0318\u0326\3\2"+ + "\2\2\u0319\u031f\7)\2\2\u031a\u031b\7^\2\2\u031b\u031e\13\2\2\2\u031c"+ + "\u031e\n\16\2\2\u031d\u031a\3\2\2\2\u031d\u031c\3\2\2\2\u031e\u0321\3"+ + "\2\2\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320\u0323\3\2\2\2\u0321"+ + "\u031f\3\2\2\2\u0322\u0324\7)\2\2\u0323\u0322\3\2\2\2\u0323\u0324\3\2"+ + "\2\2\u0324\u0326\3\2\2\2\u0325\u030d\3\2\2\2\u0325\u0319\3\2\2\2\u0326"+ + "\u00d2\3\2\2\2\u0327\u0328\7\61\2\2\u0328\u032a\7,\2\2\u0329\u0327\3\2"+ + "\2\2\u032a\u032d\3\2\2\2\u032b\u032c\3\2\2\2\u032b\u0329\3\2\2\2\u032c"+ + "\u032e\3\2\2\2\u032d\u032b\3\2\2\2\u032e\u032f\7,\2\2\u032f\u0330\7\61"+ + "\2\2\u0330\u0331\3\2\2\2\u0331\u0332\bj\2\2\u0332\u00d4\3\2\2\2\u0333"+ + "\u0334\7\61\2\2\u0334\u0335\7\61\2\2\u0335\u0339\3\2\2\2\u0336\u0338\n"+ + "\17\2\2\u0337\u0336\3\2\2\2\u0338\u033b\3\2\2\2\u0339\u0337\3\2\2\2\u0339"+ + "\u033a\3\2\2\2\u033a\u0340\3\2\2\2\u033b\u0339\3\2\2\2\u033c\u033e\7\17"+ + "\2\2\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e\u033f\3\2\2\2\u033f"+ + "\u0341\7\f\2\2\u0340\u033d\3\2\2\2\u0340\u0341\3\2\2\2\u0341\u0342\3\2"+ + "\2\2\u0342\u0343\bk\2\2\u0343\u00d6\3\2\2\2\u0344\u0346\t\20\2\2\u0345"+ + "\u0344\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0345\3\2\2\2\u0347\u0348\3\2"+ + "\2\2\u0348\u0349\3\2\2\2\u0349\u034a\bl\2\2\u034a\u00d8\3\2\2\2\u034b"+ + "\u034c\13\2\2\2\u034c\u00da\3\2\2\2\31\2\u02e0\u02e5\u02eb\u02ed\u02f3"+ + "\u02f9\u02fc\u0301\u0304\u030a\u0311\u0313\u0317\u031d\u031f\u0323\u0325"+ + "\u032b\u0339\u033d\u0340\u0347\3\2\3\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens new file mode 100644 index 0000000..098f59a --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens
@@ -0,0 +1,207 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +T__12=13 +T__13=14 +T__14=15 +T__15=16 +T__16=17 +T__17=18 +T__18=19 +T__19=20 +T__20=21 +T__21=22 +T__22=23 +T__23=24 +T__24=25 +T__25=26 +T__26=27 +T__27=28 +T__28=29 +T__29=30 +T__30=31 +T__31=32 +T__32=33 +T__33=34 +T__34=35 +T__35=36 +T__36=37 +T__37=38 +T__38=39 +T__39=40 +T__40=41 +T__41=42 +T__42=43 +T__43=44 +T__44=45 +T__45=46 +T__46=47 +T__47=48 +T__48=49 +T__49=50 +T__50=51 +T__51=52 +T__52=53 +T__53=54 +T__54=55 +T__55=56 +T__56=57 +T__57=58 +T__58=59 +T__59=60 +T__60=61 +T__61=62 +T__62=63 +T__63=64 +T__64=65 +T__65=66 +T__66=67 +T__67=68 +T__68=69 +T__69=70 +T__70=71 +T__71=72 +T__72=73 +T__73=74 +T__74=75 +T__75=76 +T__76=77 +T__77=78 +T__78=79 +T__79=80 +T__80=81 +T__81=82 +T__82=83 +T__83=84 +T__84=85 +T__85=86 +T__86=87 +T__87=88 +T__88=89 +T__89=90 +T__90=91 +T__91=92 +T__92=93 +T__93=94 +T__94=95 +T__95=96 +T__96=97 +T__97=98 +T__98=99 +RULE_HEX=100 +RULE_INT=101 +RULE_DECIMAL=102 +RULE_ID=103 +RULE_STRING=104 +RULE_ML_COMMENT=105 +RULE_SL_COMMENT=106 +RULE_WS=107 +RULE_ANY_OTHER=108 +'package'=1 +'{'=2 +'}'=3 +'group'=4 +'blip-group'=5 +'statemachine'=6 +'validation'=7 +'dialog'=8 +'action'=9 +'converter'=10 +'model-datatype'=11 +'presentation-datatype'=12 +'to-model'=13 +'to-presentation'=14 +'rating'=15 +'function'=16 +'('=17 +','=18 +')'=19 +'returns'=20 +'test'=21 +'rate'=22 +'guard'=23 +'operation'=24 +'validate'=25 +'hook'=26 +'execute'=27 +'canExecute'=28 +'import'=29 +'static'=30 +'extension'=31 +'*'=32 +'ns'=33 +';'=34 +'@'=35 +'='=36 +'#'=37 +'['=38 +']'=39 +'+='=40 +'-='=41 +'*='=42 +'/='=43 +'%='=44 +'<'=45 +'>'=46 +'>='=47 +'||'=48 +'&&'=49 +'=='=50 +'!='=51 +'==='=52 +'!=='=53 +'instanceof'=54 +'->'=55 +'..<'=56 +'..'=57 +'=>'=58 +'<>'=59 +'?:'=60 +'+'=61 +'-'=62 +'**'=63 +'/'=64 +'%'=65 +'!'=66 +'as'=67 +'++'=68 +'--'=69 +'.'=70 +'::'=71 +'?.'=72 +'|'=73 +'if'=74 +'else'=75 +'switch'=76 +':'=77 +'default'=78 +'case'=79 +'for'=80 +'while'=81 +'do'=82 +'var'=83 +'val'=84 +'extends'=85 +'super'=86 +'new'=87 +'false'=88 +'true'=89 +'null'=90 +'typeof'=91 +'throw'=92 +'return'=93 +'try'=94 +'finally'=95 +'synchronized'=96 +'catch'=97 +'?'=98 +'&'=99
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java new file mode 100644 index 0000000..8e3c434 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java
@@ -0,0 +1,1060 @@ +// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3 +package org.antlr.codebuff; +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link CodebuffParser}. + */ +public interface CodebuffListener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryModel}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryModel}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryPackage}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryPackage}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryBlipGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryBlipGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryStatemachineGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryStatemachineGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidationGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidationGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryActionGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryActionGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryConverterGroup}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryConverterGroup}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToModel}. + * @param ctx the parse tree + */ + void enterRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToModel}. + * @param ctx the parse tree + */ + void exitRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToPresentation}. + * @param ctx the parse tree + */ + void enterRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToPresentation}. + * @param ctx the parse tree + */ + void exitRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRating}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRating}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRatingItem}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRatingItem}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryFunction}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryFunction}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryTest}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryTest}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRate}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRate}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGuard}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGuard}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryOperation}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryOperation}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidation}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidation}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogHook}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogHook}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryExecute}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryExecute}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryCanExecute}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryCanExecute}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryParameter}. + * @param ctx the parse tree + */ + void enterRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryParameter}. + * @param ctx the parse tree + */ + void exitRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleTYPE_CROSS_REFERENCE}. + * @param ctx the parse tree + */ + void enterRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleTYPE_CROSS_REFERENCE}. + * @param ctx the parse tree + */ + void exitRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXImportDeclaration}. + * @param ctx the parse tree + */ + void enterRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXImportDeclaration}. + * @param ctx the parse tree + */ + void exitRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotation}. + * @param ctx the parse tree + */ + void enterRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotation}. + * @param ctx the parse tree + */ + void exitRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValuePair}. + * @param ctx the parse tree + */ + void enterRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValuePair}. + * @param ctx the parse tree + */ + void exitRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValueOrCommaList}. + * @param ctx the parse tree + */ + void enterRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValueOrCommaList}. + * @param ctx the parse tree + */ + void exitRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValue}. + * @param ctx the parse tree + */ + void enterRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValue}. + * @param ctx the parse tree + */ + void exitRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationOrExpression}. + * @param ctx the parse tree + */ + void enterRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationOrExpression}. + * @param ctx the parse tree + */ + void exitRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXExpression}. + * @param ctx the parse tree + */ + void enterRuleXExpression(CodebuffParser.RuleXExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXExpression}. + * @param ctx the parse tree + */ + void exitRuleXExpression(CodebuffParser.RuleXExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAssignment}. + * @param ctx the parse tree + */ + void enterRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAssignment}. + * @param ctx the parse tree + */ + void exitRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpSingleAssign}. + * @param ctx the parse tree + */ + void enterRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpSingleAssign}. + * @param ctx the parse tree + */ + void exitRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpMultiAssign}. + * @param ctx the parse tree + */ + void enterRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpMultiAssign}. + * @param ctx the parse tree + */ + void exitRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXOrExpression}. + * @param ctx the parse tree + */ + void enterRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXOrExpression}. + * @param ctx the parse tree + */ + void exitRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpOr}. + * @param ctx the parse tree + */ + void enterRuleOpOr(CodebuffParser.RuleOpOrContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpOr}. + * @param ctx the parse tree + */ + void exitRuleOpOr(CodebuffParser.RuleOpOrContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAndExpression}. + * @param ctx the parse tree + */ + void enterRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAndExpression}. + * @param ctx the parse tree + */ + void exitRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpAnd}. + * @param ctx the parse tree + */ + void enterRuleOpAnd(CodebuffParser.RuleOpAndContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpAnd}. + * @param ctx the parse tree + */ + void exitRuleOpAnd(CodebuffParser.RuleOpAndContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXEqualityExpression}. + * @param ctx the parse tree + */ + void enterRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXEqualityExpression}. + * @param ctx the parse tree + */ + void exitRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpEquality}. + * @param ctx the parse tree + */ + void enterRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpEquality}. + * @param ctx the parse tree + */ + void exitRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXRelationalExpression}. + * @param ctx the parse tree + */ + void enterRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXRelationalExpression}. + * @param ctx the parse tree + */ + void exitRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpCompare}. + * @param ctx the parse tree + */ + void enterRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpCompare}. + * @param ctx the parse tree + */ + void exitRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXOtherOperatorExpression}. + * @param ctx the parse tree + */ + void enterRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXOtherOperatorExpression}. + * @param ctx the parse tree + */ + void exitRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpOther}. + * @param ctx the parse tree + */ + void enterRuleOpOther(CodebuffParser.RuleOpOtherContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpOther}. + * @param ctx the parse tree + */ + void exitRuleOpOther(CodebuffParser.RuleOpOtherContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXAdditiveExpression}. + * @param ctx the parse tree + */ + void enterRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXAdditiveExpression}. + * @param ctx the parse tree + */ + void exitRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpAdd}. + * @param ctx the parse tree + */ + void enterRuleOpAdd(CodebuffParser.RuleOpAddContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpAdd}. + * @param ctx the parse tree + */ + void exitRuleOpAdd(CodebuffParser.RuleOpAddContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXMultiplicativeExpression}. + * @param ctx the parse tree + */ + void enterRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXMultiplicativeExpression}. + * @param ctx the parse tree + */ + void exitRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpMulti}. + * @param ctx the parse tree + */ + void enterRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpMulti}. + * @param ctx the parse tree + */ + void exitRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXUnaryOperation}. + * @param ctx the parse tree + */ + void enterRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXUnaryOperation}. + * @param ctx the parse tree + */ + void exitRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpUnary}. + * @param ctx the parse tree + */ + void enterRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpUnary}. + * @param ctx the parse tree + */ + void exitRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXCastedExpression}. + * @param ctx the parse tree + */ + void enterRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXCastedExpression}. + * @param ctx the parse tree + */ + void exitRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXPostfixOperation}. + * @param ctx the parse tree + */ + void enterRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXPostfixOperation}. + * @param ctx the parse tree + */ + void exitRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleOpPostfix}. + * @param ctx the parse tree + */ + void enterRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleOpPostfix}. + * @param ctx the parse tree + */ + void exitRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXMemberFeatureCall}. + * @param ctx the parse tree + */ + void enterRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXMemberFeatureCall}. + * @param ctx the parse tree + */ + void exitRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXPrimaryExpression}. + * @param ctx the parse tree + */ + void enterRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXPrimaryExpression}. + * @param ctx the parse tree + */ + void exitRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXLiteral}. + * @param ctx the parse tree + */ + void enterRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXLiteral}. + * @param ctx the parse tree + */ + void exitRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXCollectionLiteral}. + * @param ctx the parse tree + */ + void enterRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXCollectionLiteral}. + * @param ctx the parse tree + */ + void exitRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXSetLiteral}. + * @param ctx the parse tree + */ + void enterRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXSetLiteral}. + * @param ctx the parse tree + */ + void exitRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXListLiteral}. + * @param ctx the parse tree + */ + void enterRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXListLiteral}. + * @param ctx the parse tree + */ + void exitRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXClosure}. + * @param ctx the parse tree + */ + void enterRuleXClosure(CodebuffParser.RuleXClosureContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXClosure}. + * @param ctx the parse tree + */ + void exitRuleXClosure(CodebuffParser.RuleXClosureContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXExpressionInClosure}. + * @param ctx the parse tree + */ + void enterRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXExpressionInClosure}. + * @param ctx the parse tree + */ + void exitRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXShortClosure}. + * @param ctx the parse tree + */ + void enterRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXShortClosure}. + * @param ctx the parse tree + */ + void exitRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXParenthesizedExpression}. + * @param ctx the parse tree + */ + void enterRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXParenthesizedExpression}. + * @param ctx the parse tree + */ + void exitRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXIfExpression}. + * @param ctx the parse tree + */ + void enterRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXIfExpression}. + * @param ctx the parse tree + */ + void exitRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXSwitchExpression}. + * @param ctx the parse tree + */ + void enterRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXSwitchExpression}. + * @param ctx the parse tree + */ + void exitRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXCasePart}. + * @param ctx the parse tree + */ + void enterRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXCasePart}. + * @param ctx the parse tree + */ + void exitRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXForLoopExpression}. + * @param ctx the parse tree + */ + void enterRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXForLoopExpression}. + * @param ctx the parse tree + */ + void exitRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXBasicForLoopExpression}. + * @param ctx the parse tree + */ + void enterRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXBasicForLoopExpression}. + * @param ctx the parse tree + */ + void exitRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXWhileExpression}. + * @param ctx the parse tree + */ + void enterRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXWhileExpression}. + * @param ctx the parse tree + */ + void exitRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXDoWhileExpression}. + * @param ctx the parse tree + */ + void enterRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXDoWhileExpression}. + * @param ctx the parse tree + */ + void exitRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXBlockExpression}. + * @param ctx the parse tree + */ + void enterRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXBlockExpression}. + * @param ctx the parse tree + */ + void exitRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXExpressionOrVarDeclaration}. + * @param ctx the parse tree + */ + void enterRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXExpressionOrVarDeclaration}. + * @param ctx the parse tree + */ + void exitRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXVariableDeclaration}. + * @param ctx the parse tree + */ + void enterRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXVariableDeclaration}. + * @param ctx the parse tree + */ + void exitRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmFormalParameter}. + * @param ctx the parse tree + */ + void enterRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmFormalParameter}. + * @param ctx the parse tree + */ + void exitRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFullJvmFormalParameter}. + * @param ctx the parse tree + */ + void enterRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFullJvmFormalParameter}. + * @param ctx the parse tree + */ + void exitRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXFeatureCall}. + * @param ctx the parse tree + */ + void enterRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXFeatureCall}. + * @param ctx the parse tree + */ + void exitRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleFeatureCallID}. + * @param ctx the parse tree + */ + void enterRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleFeatureCallID}. + * @param ctx the parse tree + */ + void exitRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleIdOrSuper}. + * @param ctx the parse tree + */ + void enterRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleIdOrSuper}. + * @param ctx the parse tree + */ + void exitRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXConstructorCall}. + * @param ctx the parse tree + */ + void enterRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXConstructorCall}. + * @param ctx the parse tree + */ + void exitRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXBooleanLiteral}. + * @param ctx the parse tree + */ + void enterRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXBooleanLiteral}. + * @param ctx the parse tree + */ + void exitRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXNullLiteral}. + * @param ctx the parse tree + */ + void enterRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXNullLiteral}. + * @param ctx the parse tree + */ + void exitRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXNumberLiteral}. + * @param ctx the parse tree + */ + void enterRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXNumberLiteral}. + * @param ctx the parse tree + */ + void exitRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXStringLiteral}. + * @param ctx the parse tree + */ + void enterRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXStringLiteral}. + * @param ctx the parse tree + */ + void exitRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXTypeLiteral}. + * @param ctx the parse tree + */ + void enterRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXTypeLiteral}. + * @param ctx the parse tree + */ + void exitRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXThrowExpression}. + * @param ctx the parse tree + */ + void enterRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXThrowExpression}. + * @param ctx the parse tree + */ + void exitRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXReturnExpression}. + * @param ctx the parse tree + */ + void enterRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXReturnExpression}. + * @param ctx the parse tree + */ + void exitRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXTryCatchFinallyExpression}. + * @param ctx the parse tree + */ + void enterRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXTryCatchFinallyExpression}. + * @param ctx the parse tree + */ + void exitRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXSynchronizedExpression}. + * @param ctx the parse tree + */ + void enterRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXSynchronizedExpression}. + * @param ctx the parse tree + */ + void exitRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXCatchClause}. + * @param ctx the parse tree + */ + void enterRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXCatchClause}. + * @param ctx the parse tree + */ + void exitRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedName}. + * @param ctx the parse tree + */ + void enterRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedName}. + * @param ctx the parse tree + */ + void exitRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleNumber}. + * @param ctx the parse tree + */ + void enterRuleNumber(CodebuffParser.RuleNumberContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleNumber}. + * @param ctx the parse tree + */ + void exitRuleNumber(CodebuffParser.RuleNumberContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmTypeReference}. + * @param ctx the parse tree + */ + void enterRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmTypeReference}. + * @param ctx the parse tree + */ + void exitRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleArrayBrackets}. + * @param ctx the parse tree + */ + void enterRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleArrayBrackets}. + * @param ctx the parse tree + */ + void exitRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXFunctionTypeRef}. + * @param ctx the parse tree + */ + void enterRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXFunctionTypeRef}. + * @param ctx the parse tree + */ + void exitRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmParameterizedTypeReference}. + * @param ctx the parse tree + */ + void enterRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmParameterizedTypeReference}. + * @param ctx the parse tree + */ + void exitRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmArgumentTypeReference}. + * @param ctx the parse tree + */ + void enterRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmArgumentTypeReference}. + * @param ctx the parse tree + */ + void exitRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmWildcardTypeReference}. + * @param ctx the parse tree + */ + void enterRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmWildcardTypeReference}. + * @param ctx the parse tree + */ + void exitRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmUpperBound}. + * @param ctx the parse tree + */ + void enterRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmUpperBound}. + * @param ctx the parse tree + */ + void exitRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmUpperBoundAnded}. + * @param ctx the parse tree + */ + void enterRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmUpperBoundAnded}. + * @param ctx the parse tree + */ + void exitRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmLowerBound}. + * @param ctx the parse tree + */ + void enterRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmLowerBound}. + * @param ctx the parse tree + */ + void exitRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleJvmLowerBoundAnded}. + * @param ctx the parse tree + */ + void enterRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleJvmLowerBoundAnded}. + * @param ctx the parse tree + */ + void exitRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedNameWithWildcard}. + * @param ctx the parse tree + */ + void enterRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedNameWithWildcard}. + * @param ctx the parse tree + */ + void exitRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleValidID}. + * @param ctx the parse tree + */ + void enterRuleValidID(CodebuffParser.RuleValidIDContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleValidID}. + * @param ctx the parse tree + */ + void exitRuleValidID(CodebuffParser.RuleValidIDContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleXImportSection}. + * @param ctx the parse tree + */ + void enterRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleXImportSection}. + * @param ctx the parse tree + */ + void exitRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx); + /** + * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedNameInStaticImport}. + * @param ctx the parse tree + */ + void enterRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx); + /** + * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedNameInStaticImport}. + * @param ctx the parse tree + */ + void exitRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx); +} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java new file mode 100644 index 0000000..9a3b67b --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java
@@ -0,0 +1,8369 @@ +// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3 +package org.antlr.codebuff; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) +public class CodebuffParser extends Parser { + static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, + T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, + T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, + T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, + T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45, + T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52, + T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, T__57=58, T__58=59, + T__59=60, T__60=61, T__61=62, T__62=63, T__63=64, T__64=65, T__65=66, + T__66=67, T__67=68, T__68=69, T__69=70, T__70=71, T__71=72, T__72=73, + T__73=74, T__74=75, T__75=76, T__76=77, T__77=78, T__78=79, T__79=80, + T__80=81, T__81=82, T__82=83, T__83=84, T__84=85, T__85=86, T__86=87, + T__87=88, T__88=89, T__89=90, T__90=91, T__91=92, T__92=93, T__93=94, + T__94=95, T__95=96, T__96=97, T__97=98, T__98=99, RULE_HEX=100, RULE_INT=101, + RULE_DECIMAL=102, RULE_ID=103, RULE_STRING=104, RULE_ML_COMMENT=105, RULE_SL_COMMENT=106, + RULE_WS=107, RULE_ANY_OTHER=108; + public static final int + RULE_ruleFunctionLibraryModel = 0, RULE_ruleFunctionLibraryPackage = 1, + RULE_ruleFunctionLibraryGroup = 2, RULE_ruleFunctionLibraryBlipGroup = 3, + RULE_ruleFunctionLibraryStatemachineGroup = 4, RULE_ruleFunctionLibraryValidationGroup = 5, + RULE_ruleFunctionLibraryDialogGroup = 6, RULE_ruleFunctionLibraryActionGroup = 7, + RULE_ruleFunctionLibraryConverterGroup = 8, RULE_ruleFunctionConvertToModel = 9, + RULE_ruleFunctionConvertToPresentation = 10, RULE_ruleFunctionLibraryRating = 11, + RULE_ruleFunctionLibraryRatingItem = 12, RULE_ruleFunctionLibraryFunction = 13, + RULE_ruleFunctionLibraryTest = 14, RULE_ruleFunctionLibraryRate = 15, + RULE_ruleFunctionLibraryGuard = 16, RULE_ruleFunctionLibraryOperation = 17, + RULE_ruleFunctionLibraryValidation = 18, RULE_ruleFunctionLibraryDialogHook = 19, + RULE_ruleFunctionLibraryExecute = 20, RULE_ruleFunctionLibraryCanExecute = 21, + RULE_ruleFunctionLibraryParameter = 22, RULE_ruleTYPE_CROSS_REFERENCE = 23, + RULE_ruleXImportDeclaration = 24, RULE_ruleXAnnotation = 25, RULE_ruleXAnnotationElementValuePair = 26, + RULE_ruleXAnnotationElementValueOrCommaList = 27, RULE_ruleXAnnotationElementValue = 28, + RULE_ruleXAnnotationOrExpression = 29, RULE_ruleXExpression = 30, RULE_ruleXAssignment = 31, + RULE_ruleOpSingleAssign = 32, RULE_ruleOpMultiAssign = 33, RULE_ruleXOrExpression = 34, + RULE_ruleOpOr = 35, RULE_ruleXAndExpression = 36, RULE_ruleOpAnd = 37, + RULE_ruleXEqualityExpression = 38, RULE_ruleOpEquality = 39, RULE_ruleXRelationalExpression = 40, + RULE_ruleOpCompare = 41, RULE_ruleXOtherOperatorExpression = 42, RULE_ruleOpOther = 43, + RULE_ruleXAdditiveExpression = 44, RULE_ruleOpAdd = 45, RULE_ruleXMultiplicativeExpression = 46, + RULE_ruleOpMulti = 47, RULE_ruleXUnaryOperation = 48, RULE_ruleOpUnary = 49, + RULE_ruleXCastedExpression = 50, RULE_ruleXPostfixOperation = 51, RULE_ruleOpPostfix = 52, + RULE_ruleXMemberFeatureCall = 53, RULE_ruleXPrimaryExpression = 54, RULE_ruleXLiteral = 55, + RULE_ruleXCollectionLiteral = 56, RULE_ruleXSetLiteral = 57, RULE_ruleXListLiteral = 58, + RULE_ruleXClosure = 59, RULE_ruleXExpressionInClosure = 60, RULE_ruleXShortClosure = 61, + RULE_ruleXParenthesizedExpression = 62, RULE_ruleXIfExpression = 63, RULE_ruleXSwitchExpression = 64, + RULE_ruleXCasePart = 65, RULE_ruleXForLoopExpression = 66, RULE_ruleXBasicForLoopExpression = 67, + RULE_ruleXWhileExpression = 68, RULE_ruleXDoWhileExpression = 69, RULE_ruleXBlockExpression = 70, + RULE_ruleXExpressionOrVarDeclaration = 71, RULE_ruleXVariableDeclaration = 72, + RULE_ruleJvmFormalParameter = 73, RULE_ruleFullJvmFormalParameter = 74, + RULE_ruleXFeatureCall = 75, RULE_ruleFeatureCallID = 76, RULE_ruleIdOrSuper = 77, + RULE_ruleXConstructorCall = 78, RULE_ruleXBooleanLiteral = 79, RULE_ruleXNullLiteral = 80, + RULE_ruleXNumberLiteral = 81, RULE_ruleXStringLiteral = 82, RULE_ruleXTypeLiteral = 83, + RULE_ruleXThrowExpression = 84, RULE_ruleXReturnExpression = 85, RULE_ruleXTryCatchFinallyExpression = 86, + RULE_ruleXSynchronizedExpression = 87, RULE_ruleXCatchClause = 88, RULE_ruleQualifiedName = 89, + RULE_ruleNumber = 90, RULE_ruleJvmTypeReference = 91, RULE_ruleArrayBrackets = 92, + RULE_ruleXFunctionTypeRef = 93, RULE_ruleJvmParameterizedTypeReference = 94, + RULE_ruleJvmArgumentTypeReference = 95, RULE_ruleJvmWildcardTypeReference = 96, + RULE_ruleJvmUpperBound = 97, RULE_ruleJvmUpperBoundAnded = 98, RULE_ruleJvmLowerBound = 99, + RULE_ruleJvmLowerBoundAnded = 100, RULE_ruleQualifiedNameWithWildcard = 101, + RULE_ruleValidID = 102, RULE_ruleXImportSection = 103, RULE_ruleQualifiedNameInStaticImport = 104; + public static final String[] ruleNames = { + "ruleFunctionLibraryModel", "ruleFunctionLibraryPackage", "ruleFunctionLibraryGroup", + "ruleFunctionLibraryBlipGroup", "ruleFunctionLibraryStatemachineGroup", + "ruleFunctionLibraryValidationGroup", "ruleFunctionLibraryDialogGroup", + "ruleFunctionLibraryActionGroup", "ruleFunctionLibraryConverterGroup", + "ruleFunctionConvertToModel", "ruleFunctionConvertToPresentation", "ruleFunctionLibraryRating", + "ruleFunctionLibraryRatingItem", "ruleFunctionLibraryFunction", "ruleFunctionLibraryTest", + "ruleFunctionLibraryRate", "ruleFunctionLibraryGuard", "ruleFunctionLibraryOperation", + "ruleFunctionLibraryValidation", "ruleFunctionLibraryDialogHook", "ruleFunctionLibraryExecute", + "ruleFunctionLibraryCanExecute", "ruleFunctionLibraryParameter", "ruleTYPE_CROSS_REFERENCE", + "ruleXImportDeclaration", "ruleXAnnotation", "ruleXAnnotationElementValuePair", + "ruleXAnnotationElementValueOrCommaList", "ruleXAnnotationElementValue", + "ruleXAnnotationOrExpression", "ruleXExpression", "ruleXAssignment", "ruleOpSingleAssign", + "ruleOpMultiAssign", "ruleXOrExpression", "ruleOpOr", "ruleXAndExpression", + "ruleOpAnd", "ruleXEqualityExpression", "ruleOpEquality", "ruleXRelationalExpression", + "ruleOpCompare", "ruleXOtherOperatorExpression", "ruleOpOther", "ruleXAdditiveExpression", + "ruleOpAdd", "ruleXMultiplicativeExpression", "ruleOpMulti", "ruleXUnaryOperation", + "ruleOpUnary", "ruleXCastedExpression", "ruleXPostfixOperation", "ruleOpPostfix", + "ruleXMemberFeatureCall", "ruleXPrimaryExpression", "ruleXLiteral", "ruleXCollectionLiteral", + "ruleXSetLiteral", "ruleXListLiteral", "ruleXClosure", "ruleXExpressionInClosure", + "ruleXShortClosure", "ruleXParenthesizedExpression", "ruleXIfExpression", + "ruleXSwitchExpression", "ruleXCasePart", "ruleXForLoopExpression", "ruleXBasicForLoopExpression", + "ruleXWhileExpression", "ruleXDoWhileExpression", "ruleXBlockExpression", + "ruleXExpressionOrVarDeclaration", "ruleXVariableDeclaration", "ruleJvmFormalParameter", + "ruleFullJvmFormalParameter", "ruleXFeatureCall", "ruleFeatureCallID", + "ruleIdOrSuper", "ruleXConstructorCall", "ruleXBooleanLiteral", "ruleXNullLiteral", + "ruleXNumberLiteral", "ruleXStringLiteral", "ruleXTypeLiteral", "ruleXThrowExpression", + "ruleXReturnExpression", "ruleXTryCatchFinallyExpression", "ruleXSynchronizedExpression", + "ruleXCatchClause", "ruleQualifiedName", "ruleNumber", "ruleJvmTypeReference", + "ruleArrayBrackets", "ruleXFunctionTypeRef", "ruleJvmParameterizedTypeReference", + "ruleJvmArgumentTypeReference", "ruleJvmWildcardTypeReference", "ruleJvmUpperBound", + "ruleJvmUpperBoundAnded", "ruleJvmLowerBound", "ruleJvmLowerBoundAnded", + "ruleQualifiedNameWithWildcard", "ruleValidID", "ruleXImportSection", + "ruleQualifiedNameInStaticImport" + }; + + private static final String[] _LITERAL_NAMES = { + null, "'package'", "'{'", "'}'", "'group'", "'blip-group'", "'statemachine'", + "'validation'", "'dialog'", "'action'", "'converter'", "'model-datatype'", + "'presentation-datatype'", "'to-model'", "'to-presentation'", "'rating'", + "'function'", "'('", "','", "')'", "'returns'", "'test'", "'rate'", "'guard'", + "'operation'", "'validate'", "'hook'", "'execute'", "'canExecute'", "'import'", + "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'='", "'#'", + "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", + "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", + "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", + "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'", + "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", + "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'", + "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", + "'synchronized'", "'catch'", "'?'", "'&'" + }; + private static final String[] _SYMBOLIC_NAMES = { + 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, null, null, null, null, + null, null, null, null, "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", + "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = "<INVALID>"; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "Codebuff.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public CodebuffParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + public static class RuleFunctionLibraryModelContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleFunctionLibraryPackageContext ruleFunctionLibraryPackage() { + return getRuleContext(RuleFunctionLibraryPackageContext.class,0); + } + public RuleXImportSectionContext ruleXImportSection() { + return getRuleContext(RuleXImportSectionContext.class,0); + } + public RuleFunctionLibraryModelContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryModel; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryModel(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryModel(this); + } + } + + public final RuleFunctionLibraryModelContext ruleFunctionLibraryModel() throws RecognitionException { + RuleFunctionLibraryModelContext _localctx = new RuleFunctionLibraryModelContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_ruleFunctionLibraryModel); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(211); + _la = _input.LA(1); + if (_la==T__28) { + { + setState(210); + ruleXImportSection(); + } + } + + setState(213); + ruleFunctionLibraryPackage(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryPackageContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public List<RuleFunctionLibraryRatingContext> ruleFunctionLibraryRating() { + return getRuleContexts(RuleFunctionLibraryRatingContext.class); + } + public RuleFunctionLibraryRatingContext ruleFunctionLibraryRating(int i) { + return getRuleContext(RuleFunctionLibraryRatingContext.class,i); + } + public List<RuleFunctionLibraryGroupContext> ruleFunctionLibraryGroup() { + return getRuleContexts(RuleFunctionLibraryGroupContext.class); + } + public RuleFunctionLibraryGroupContext ruleFunctionLibraryGroup(int i) { + return getRuleContext(RuleFunctionLibraryGroupContext.class,i); + } + public List<RuleFunctionLibraryBlipGroupContext> ruleFunctionLibraryBlipGroup() { + return getRuleContexts(RuleFunctionLibraryBlipGroupContext.class); + } + public RuleFunctionLibraryBlipGroupContext ruleFunctionLibraryBlipGroup(int i) { + return getRuleContext(RuleFunctionLibraryBlipGroupContext.class,i); + } + public List<RuleFunctionLibraryConverterGroupContext> ruleFunctionLibraryConverterGroup() { + return getRuleContexts(RuleFunctionLibraryConverterGroupContext.class); + } + public RuleFunctionLibraryConverterGroupContext ruleFunctionLibraryConverterGroup(int i) { + return getRuleContext(RuleFunctionLibraryConverterGroupContext.class,i); + } + public List<RuleFunctionLibraryStatemachineGroupContext> ruleFunctionLibraryStatemachineGroup() { + return getRuleContexts(RuleFunctionLibraryStatemachineGroupContext.class); + } + public RuleFunctionLibraryStatemachineGroupContext ruleFunctionLibraryStatemachineGroup(int i) { + return getRuleContext(RuleFunctionLibraryStatemachineGroupContext.class,i); + } + public List<RuleFunctionLibraryActionGroupContext> ruleFunctionLibraryActionGroup() { + return getRuleContexts(RuleFunctionLibraryActionGroupContext.class); + } + public RuleFunctionLibraryActionGroupContext ruleFunctionLibraryActionGroup(int i) { + return getRuleContext(RuleFunctionLibraryActionGroupContext.class,i); + } + public List<RuleFunctionLibraryValidationGroupContext> ruleFunctionLibraryValidationGroup() { + return getRuleContexts(RuleFunctionLibraryValidationGroupContext.class); + } + public RuleFunctionLibraryValidationGroupContext ruleFunctionLibraryValidationGroup(int i) { + return getRuleContext(RuleFunctionLibraryValidationGroupContext.class,i); + } + public List<RuleFunctionLibraryDialogGroupContext> ruleFunctionLibraryDialogGroup() { + return getRuleContexts(RuleFunctionLibraryDialogGroupContext.class); + } + public RuleFunctionLibraryDialogGroupContext ruleFunctionLibraryDialogGroup(int i) { + return getRuleContext(RuleFunctionLibraryDialogGroupContext.class,i); + } + public RuleFunctionLibraryPackageContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryPackage; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryPackage(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryPackage(this); + } + } + + public final RuleFunctionLibraryPackageContext ruleFunctionLibraryPackage() throws RecognitionException { + RuleFunctionLibraryPackageContext _localctx = new RuleFunctionLibraryPackageContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_ruleFunctionLibraryPackage); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(215); + match(T__0); + setState(216); + ruleQualifiedName(); + setState(217); + match(T__1); + setState(230); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << T__4) | (1L << T__5) | (1L << T__6) | (1L << T__7) | (1L << T__8) | (1L << T__9) | (1L << T__14))) != 0)) { + { + setState(228); + switch (_input.LA(1)) { + case T__3: + case T__4: + case T__5: + case T__6: + case T__7: + case T__8: + case T__9: + { + setState(225); + switch (_input.LA(1)) { + case T__3: + { + setState(218); + ruleFunctionLibraryGroup(); + } + break; + case T__4: + { + setState(219); + ruleFunctionLibraryBlipGroup(); + } + break; + case T__9: + { + setState(220); + ruleFunctionLibraryConverterGroup(); + } + break; + case T__5: + { + setState(221); + ruleFunctionLibraryStatemachineGroup(); + } + break; + case T__8: + { + setState(222); + ruleFunctionLibraryActionGroup(); + } + break; + case T__6: + { + setState(223); + ruleFunctionLibraryValidationGroup(); + } + break; + case T__7: + { + setState(224); + ruleFunctionLibraryDialogGroup(); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + case T__14: + { + setState(227); + ruleFunctionLibraryRating(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(232); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(233); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() { + return getRuleContexts(RuleFunctionLibraryFunctionContext.class); + } + public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) { + return getRuleContext(RuleFunctionLibraryFunctionContext.class,i); + } + public List<RuleFunctionLibraryTestContext> ruleFunctionLibraryTest() { + return getRuleContexts(RuleFunctionLibraryTestContext.class); + } + public RuleFunctionLibraryTestContext ruleFunctionLibraryTest(int i) { + return getRuleContext(RuleFunctionLibraryTestContext.class,i); + } + public List<RuleFunctionLibraryRateContext> ruleFunctionLibraryRate() { + return getRuleContexts(RuleFunctionLibraryRateContext.class); + } + public RuleFunctionLibraryRateContext ruleFunctionLibraryRate(int i) { + return getRuleContext(RuleFunctionLibraryRateContext.class,i); + } + public RuleFunctionLibraryGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryGroup(this); + } + } + + public final RuleFunctionLibraryGroupContext ruleFunctionLibraryGroup() throws RecognitionException { + RuleFunctionLibraryGroupContext _localctx = new RuleFunctionLibraryGroupContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_ruleFunctionLibraryGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(235); + match(T__3); + setState(236); + ruleValidID(); + setState(237); + match(T__1); + setState(243); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__20) | (1L << T__21))) != 0)) { + { + setState(241); + switch (_input.LA(1)) { + case T__15: + { + setState(238); + ruleFunctionLibraryFunction(); + } + break; + case T__20: + { + setState(239); + ruleFunctionLibraryTest(); + } + break; + case T__21: + { + setState(240); + ruleFunctionLibraryRate(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(245); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(246); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryBlipGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() { + return getRuleContexts(RuleFunctionLibraryFunctionContext.class); + } + public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) { + return getRuleContext(RuleFunctionLibraryFunctionContext.class,i); + } + public List<RuleFunctionLibraryTestContext> ruleFunctionLibraryTest() { + return getRuleContexts(RuleFunctionLibraryTestContext.class); + } + public RuleFunctionLibraryTestContext ruleFunctionLibraryTest(int i) { + return getRuleContext(RuleFunctionLibraryTestContext.class,i); + } + public List<RuleFunctionLibraryRateContext> ruleFunctionLibraryRate() { + return getRuleContexts(RuleFunctionLibraryRateContext.class); + } + public RuleFunctionLibraryRateContext ruleFunctionLibraryRate(int i) { + return getRuleContext(RuleFunctionLibraryRateContext.class,i); + } + public RuleFunctionLibraryBlipGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryBlipGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryBlipGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryBlipGroup(this); + } + } + + public final RuleFunctionLibraryBlipGroupContext ruleFunctionLibraryBlipGroup() throws RecognitionException { + RuleFunctionLibraryBlipGroupContext _localctx = new RuleFunctionLibraryBlipGroupContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_ruleFunctionLibraryBlipGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(248); + match(T__4); + setState(249); + ruleValidID(); + setState(250); + match(T__1); + setState(256); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__20) | (1L << T__21))) != 0)) { + { + setState(254); + switch (_input.LA(1)) { + case T__15: + { + setState(251); + ruleFunctionLibraryFunction(); + } + break; + case T__20: + { + setState(252); + ruleFunctionLibraryTest(); + } + break; + case T__21: + { + setState(253); + ruleFunctionLibraryRate(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(258); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(259); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryStatemachineGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryOperationContext> ruleFunctionLibraryOperation() { + return getRuleContexts(RuleFunctionLibraryOperationContext.class); + } + public RuleFunctionLibraryOperationContext ruleFunctionLibraryOperation(int i) { + return getRuleContext(RuleFunctionLibraryOperationContext.class,i); + } + public List<RuleFunctionLibraryGuardContext> ruleFunctionLibraryGuard() { + return getRuleContexts(RuleFunctionLibraryGuardContext.class); + } + public RuleFunctionLibraryGuardContext ruleFunctionLibraryGuard(int i) { + return getRuleContext(RuleFunctionLibraryGuardContext.class,i); + } + public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() { + return getRuleContexts(RuleFunctionLibraryFunctionContext.class); + } + public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) { + return getRuleContext(RuleFunctionLibraryFunctionContext.class,i); + } + public RuleFunctionLibraryStatemachineGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryStatemachineGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryStatemachineGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryStatemachineGroup(this); + } + } + + public final RuleFunctionLibraryStatemachineGroupContext ruleFunctionLibraryStatemachineGroup() throws RecognitionException { + RuleFunctionLibraryStatemachineGroupContext _localctx = new RuleFunctionLibraryStatemachineGroupContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_ruleFunctionLibraryStatemachineGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(261); + match(T__5); + setState(262); + ruleValidID(); + setState(263); + match(T__1); + setState(269); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__22) | (1L << T__23))) != 0)) { + { + setState(267); + switch (_input.LA(1)) { + case T__23: + { + setState(264); + ruleFunctionLibraryOperation(); + } + break; + case T__22: + { + setState(265); + ruleFunctionLibraryGuard(); + } + break; + case T__15: + { + setState(266); + ruleFunctionLibraryFunction(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(271); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(272); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryValidationGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryValidationContext> ruleFunctionLibraryValidation() { + return getRuleContexts(RuleFunctionLibraryValidationContext.class); + } + public RuleFunctionLibraryValidationContext ruleFunctionLibraryValidation(int i) { + return getRuleContext(RuleFunctionLibraryValidationContext.class,i); + } + public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() { + return getRuleContexts(RuleFunctionLibraryFunctionContext.class); + } + public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) { + return getRuleContext(RuleFunctionLibraryFunctionContext.class,i); + } + public RuleFunctionLibraryValidationGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryValidationGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryValidationGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryValidationGroup(this); + } + } + + public final RuleFunctionLibraryValidationGroupContext ruleFunctionLibraryValidationGroup() throws RecognitionException { + RuleFunctionLibraryValidationGroupContext _localctx = new RuleFunctionLibraryValidationGroupContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_ruleFunctionLibraryValidationGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(274); + match(T__6); + setState(275); + ruleValidID(); + setState(276); + match(T__1); + setState(281); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__15 || _la==T__24) { + { + setState(279); + switch (_input.LA(1)) { + case T__24: + { + setState(277); + ruleFunctionLibraryValidation(); + } + break; + case T__15: + { + setState(278); + ruleFunctionLibraryFunction(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(283); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(284); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryDialogGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryDialogHookContext> ruleFunctionLibraryDialogHook() { + return getRuleContexts(RuleFunctionLibraryDialogHookContext.class); + } + public RuleFunctionLibraryDialogHookContext ruleFunctionLibraryDialogHook(int i) { + return getRuleContext(RuleFunctionLibraryDialogHookContext.class,i); + } + public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() { + return getRuleContexts(RuleFunctionLibraryFunctionContext.class); + } + public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) { + return getRuleContext(RuleFunctionLibraryFunctionContext.class,i); + } + public RuleFunctionLibraryDialogGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryDialogGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryDialogGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryDialogGroup(this); + } + } + + public final RuleFunctionLibraryDialogGroupContext ruleFunctionLibraryDialogGroup() throws RecognitionException { + RuleFunctionLibraryDialogGroupContext _localctx = new RuleFunctionLibraryDialogGroupContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_ruleFunctionLibraryDialogGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(286); + match(T__7); + setState(287); + ruleValidID(); + setState(288); + match(T__1); + setState(293); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__15 || _la==T__25) { + { + setState(291); + switch (_input.LA(1)) { + case T__25: + { + setState(289); + ruleFunctionLibraryDialogHook(); + } + break; + case T__15: + { + setState(290); + ruleFunctionLibraryFunction(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(295); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(296); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryActionGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryExecuteContext> ruleFunctionLibraryExecute() { + return getRuleContexts(RuleFunctionLibraryExecuteContext.class); + } + public RuleFunctionLibraryExecuteContext ruleFunctionLibraryExecute(int i) { + return getRuleContext(RuleFunctionLibraryExecuteContext.class,i); + } + public List<RuleFunctionLibraryCanExecuteContext> ruleFunctionLibraryCanExecute() { + return getRuleContexts(RuleFunctionLibraryCanExecuteContext.class); + } + public RuleFunctionLibraryCanExecuteContext ruleFunctionLibraryCanExecute(int i) { + return getRuleContext(RuleFunctionLibraryCanExecuteContext.class,i); + } + public RuleFunctionLibraryActionGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryActionGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryActionGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryActionGroup(this); + } + } + + public final RuleFunctionLibraryActionGroupContext ruleFunctionLibraryActionGroup() throws RecognitionException { + RuleFunctionLibraryActionGroupContext _localctx = new RuleFunctionLibraryActionGroupContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_ruleFunctionLibraryActionGroup); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(298); + match(T__8); + setState(299); + ruleValidID(); + setState(300); + match(T__1); + setState(305); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__26 || _la==T__27) { + { + setState(303); + switch (_input.LA(1)) { + case T__26: + { + setState(301); + ruleFunctionLibraryExecute(); + } + break; + case T__27: + { + setState(302); + ruleFunctionLibraryCanExecute(); + } + break; + default: + throw new NoViableAltException(this); + } + } + setState(307); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(308); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryConverterGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleTYPE_CROSS_REFERENCEContext> ruleTYPE_CROSS_REFERENCE() { + return getRuleContexts(RuleTYPE_CROSS_REFERENCEContext.class); + } + public RuleTYPE_CROSS_REFERENCEContext ruleTYPE_CROSS_REFERENCE(int i) { + return getRuleContext(RuleTYPE_CROSS_REFERENCEContext.class,i); + } + public RuleFunctionConvertToModelContext ruleFunctionConvertToModel() { + return getRuleContext(RuleFunctionConvertToModelContext.class,0); + } + public RuleFunctionConvertToPresentationContext ruleFunctionConvertToPresentation() { + return getRuleContext(RuleFunctionConvertToPresentationContext.class,0); + } + public RuleFunctionLibraryConverterGroupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryConverterGroup; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryConverterGroup(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryConverterGroup(this); + } + } + + public final RuleFunctionLibraryConverterGroupContext ruleFunctionLibraryConverterGroup() throws RecognitionException { + RuleFunctionLibraryConverterGroupContext _localctx = new RuleFunctionLibraryConverterGroupContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_ruleFunctionLibraryConverterGroup); + try { + enterOuterAlt(_localctx, 1); + { + setState(310); + match(T__9); + setState(311); + ruleValidID(); + setState(312); + match(T__1); + setState(313); + match(T__10); + setState(314); + ruleTYPE_CROSS_REFERENCE(); + setState(315); + match(T__11); + setState(316); + ruleTYPE_CROSS_REFERENCE(); + setState(317); + ruleFunctionConvertToModel(); + setState(318); + ruleFunctionConvertToPresentation(); + setState(319); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionConvertToModelContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public RuleFunctionConvertToModelContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionConvertToModel; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionConvertToModel(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionConvertToModel(this); + } + } + + public final RuleFunctionConvertToModelContext ruleFunctionConvertToModel() throws RecognitionException { + RuleFunctionConvertToModelContext _localctx = new RuleFunctionConvertToModelContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_ruleFunctionConvertToModel); + try { + enterOuterAlt(_localctx, 1); + { + setState(321); + match(T__12); + setState(322); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionConvertToPresentationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public RuleFunctionConvertToPresentationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionConvertToPresentation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionConvertToPresentation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionConvertToPresentation(this); + } + } + + public final RuleFunctionConvertToPresentationContext ruleFunctionConvertToPresentation() throws RecognitionException { + RuleFunctionConvertToPresentationContext _localctx = new RuleFunctionConvertToPresentationContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_ruleFunctionConvertToPresentation); + try { + enterOuterAlt(_localctx, 1); + { + setState(324); + match(T__13); + setState(325); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryRatingContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public List<RuleFunctionLibraryRatingItemContext> ruleFunctionLibraryRatingItem() { + return getRuleContexts(RuleFunctionLibraryRatingItemContext.class); + } + public RuleFunctionLibraryRatingItemContext ruleFunctionLibraryRatingItem(int i) { + return getRuleContext(RuleFunctionLibraryRatingItemContext.class,i); + } + public RuleFunctionLibraryRatingContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRating; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRating(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRating(this); + } + } + + public final RuleFunctionLibraryRatingContext ruleFunctionLibraryRating() throws RecognitionException { + RuleFunctionLibraryRatingContext _localctx = new RuleFunctionLibraryRatingContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_ruleFunctionLibraryRating); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(327); + match(T__14); + setState(328); + ruleValidID(); + setState(329); + match(T__1); + setState(333); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==RULE_ID) { + { + { + setState(330); + ruleFunctionLibraryRatingItem(); + } + } + setState(335); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(336); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryRatingItemContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleFunctionLibraryRatingItemContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRatingItem; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRatingItem(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRatingItem(this); + } + } + + public final RuleFunctionLibraryRatingItemContext ruleFunctionLibraryRatingItem() throws RecognitionException { + RuleFunctionLibraryRatingItemContext _localctx = new RuleFunctionLibraryRatingItemContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_ruleFunctionLibraryRatingItem); + try { + enterOuterAlt(_localctx, 1); + { + setState(338); + ruleValidID(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryFunctionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() { + return getRuleContext(RuleJvmParameterizedTypeReferenceContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryFunctionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryFunction; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryFunction(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryFunction(this); + } + } + + public final RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction() throws RecognitionException { + RuleFunctionLibraryFunctionContext _localctx = new RuleFunctionLibraryFunctionContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_ruleFunctionLibraryFunction); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(340); + match(T__15); + setState(341); + ruleValidID(); + setState(342); + match(T__16); + setState(351); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(343); + ruleFunctionLibraryParameter(); + setState(348); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(344); + match(T__17); + setState(345); + ruleFunctionLibraryParameter(); + } + } + setState(350); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(353); + match(T__18); + setState(354); + match(T__19); + setState(355); + ruleJvmParameterizedTypeReference(); + setState(356); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryTestContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryTestContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryTest; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryTest(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryTest(this); + } + } + + public final RuleFunctionLibraryTestContext ruleFunctionLibraryTest() throws RecognitionException { + RuleFunctionLibraryTestContext _localctx = new RuleFunctionLibraryTestContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_ruleFunctionLibraryTest); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(358); + match(T__20); + setState(359); + ruleValidID(); + setState(360); + match(T__16); + setState(369); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(361); + ruleFunctionLibraryParameter(); + setState(366); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(362); + match(T__17); + setState(363); + ruleFunctionLibraryParameter(); + } + } + setState(368); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(371); + match(T__18); + setState(372); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryRateContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryRateContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRate; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRate(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRate(this); + } + } + + public final RuleFunctionLibraryRateContext ruleFunctionLibraryRate() throws RecognitionException { + RuleFunctionLibraryRateContext _localctx = new RuleFunctionLibraryRateContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_ruleFunctionLibraryRate); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(374); + match(T__21); + setState(375); + ruleValidID(); + setState(376); + match(T__16); + setState(385); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(377); + ruleFunctionLibraryParameter(); + setState(382); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(378); + match(T__17); + setState(379); + ruleFunctionLibraryParameter(); + } + } + setState(384); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(387); + match(T__18); + setState(388); + match(T__19); + setState(389); + match(RULE_ID); + setState(390); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryGuardContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryGuardContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryGuard; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryGuard(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryGuard(this); + } + } + + public final RuleFunctionLibraryGuardContext ruleFunctionLibraryGuard() throws RecognitionException { + RuleFunctionLibraryGuardContext _localctx = new RuleFunctionLibraryGuardContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_ruleFunctionLibraryGuard); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(392); + match(T__22); + setState(393); + ruleValidID(); + setState(394); + match(T__16); + setState(403); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(395); + ruleFunctionLibraryParameter(); + setState(400); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(396); + match(T__17); + setState(397); + ruleFunctionLibraryParameter(); + } + } + setState(402); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(405); + match(T__18); + setState(406); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryOperationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryOperation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryOperation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryOperation(this); + } + } + + public final RuleFunctionLibraryOperationContext ruleFunctionLibraryOperation() throws RecognitionException { + RuleFunctionLibraryOperationContext _localctx = new RuleFunctionLibraryOperationContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_ruleFunctionLibraryOperation); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(408); + match(T__23); + setState(409); + ruleValidID(); + setState(410); + match(T__16); + setState(419); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(411); + ruleFunctionLibraryParameter(); + setState(416); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(412); + match(T__17); + setState(413); + ruleFunctionLibraryParameter(); + } + } + setState(418); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(421); + match(T__18); + setState(422); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryValidationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryValidationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryValidation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryValidation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryValidation(this); + } + } + + public final RuleFunctionLibraryValidationContext ruleFunctionLibraryValidation() throws RecognitionException { + RuleFunctionLibraryValidationContext _localctx = new RuleFunctionLibraryValidationContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_ruleFunctionLibraryValidation); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(424); + match(T__24); + setState(425); + ruleValidID(); + setState(426); + match(T__16); + setState(435); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(427); + ruleFunctionLibraryParameter(); + setState(432); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(428); + match(T__17); + setState(429); + ruleFunctionLibraryParameter(); + } + } + setState(434); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(437); + match(T__18); + setState(438); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryDialogHookContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryDialogHookContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryDialogHook; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryDialogHook(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryDialogHook(this); + } + } + + public final RuleFunctionLibraryDialogHookContext ruleFunctionLibraryDialogHook() throws RecognitionException { + RuleFunctionLibraryDialogHookContext _localctx = new RuleFunctionLibraryDialogHookContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_ruleFunctionLibraryDialogHook); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(440); + match(T__25); + setState(441); + ruleValidID(); + setState(442); + match(T__16); + setState(451); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(443); + ruleFunctionLibraryParameter(); + setState(448); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(444); + match(T__17); + setState(445); + ruleFunctionLibraryParameter(); + } + } + setState(450); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(453); + match(T__18); + setState(454); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryExecuteContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryExecuteContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryExecute; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryExecute(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryExecute(this); + } + } + + public final RuleFunctionLibraryExecuteContext ruleFunctionLibraryExecute() throws RecognitionException { + RuleFunctionLibraryExecuteContext _localctx = new RuleFunctionLibraryExecuteContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_ruleFunctionLibraryExecute); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(456); + match(T__26); + setState(457); + ruleValidID(); + setState(458); + match(T__16); + setState(467); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(459); + ruleFunctionLibraryParameter(); + setState(464); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(460); + match(T__17); + setState(461); + ruleFunctionLibraryParameter(); + } + } + setState(466); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(469); + match(T__18); + setState(470); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryCanExecuteContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() { + return getRuleContexts(RuleFunctionLibraryParameterContext.class); + } + public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) { + return getRuleContext(RuleFunctionLibraryParameterContext.class,i); + } + public RuleFunctionLibraryCanExecuteContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryCanExecute; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryCanExecute(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryCanExecute(this); + } + } + + public final RuleFunctionLibraryCanExecuteContext ruleFunctionLibraryCanExecute() throws RecognitionException { + RuleFunctionLibraryCanExecuteContext _localctx = new RuleFunctionLibraryCanExecuteContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_ruleFunctionLibraryCanExecute); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(472); + match(T__27); + setState(473); + ruleValidID(); + setState(474); + match(T__16); + setState(483); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(475); + ruleFunctionLibraryParameter(); + setState(480); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(476); + match(T__17); + setState(477); + ruleFunctionLibraryParameter(); + } + } + setState(482); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(485); + match(T__18); + setState(486); + ruleXBlockExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFunctionLibraryParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleFunctionLibraryParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryParameter(this); + } + } + + public final RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter() throws RecognitionException { + RuleFunctionLibraryParameterContext _localctx = new RuleFunctionLibraryParameterContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_ruleFunctionLibraryParameter); + try { + enterOuterAlt(_localctx, 1); + { + setState(488); + ruleJvmTypeReference(); + setState(489); + ruleValidID(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleTYPE_CROSS_REFERENCEContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); } + public RuleTYPE_CROSS_REFERENCEContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleTYPE_CROSS_REFERENCE; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleTYPE_CROSS_REFERENCE(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleTYPE_CROSS_REFERENCE(this); + } + } + + public final RuleTYPE_CROSS_REFERENCEContext ruleTYPE_CROSS_REFERENCE() throws RecognitionException { + RuleTYPE_CROSS_REFERENCEContext _localctx = new RuleTYPE_CROSS_REFERENCEContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_ruleTYPE_CROSS_REFERENCE); + try { + enterOuterAlt(_localctx, 1); + { + setState(491); + match(RULE_ID); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXImportDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameInStaticImportContext ruleQualifiedNameInStaticImport() { + return getRuleContext(RuleQualifiedNameInStaticImportContext.class,0); + } + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public RuleQualifiedNameWithWildcardContext ruleQualifiedNameWithWildcard() { + return getRuleContext(RuleQualifiedNameWithWildcardContext.class,0); + } + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXImportDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXImportDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXImportDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXImportDeclaration(this); + } + } + + public final RuleXImportDeclarationContext ruleXImportDeclaration() throws RecognitionException { + RuleXImportDeclarationContext _localctx = new RuleXImportDeclarationContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_ruleXImportDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(493); + match(T__28); + setState(507); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) { + case 1: + { + setState(494); + match(T__29); + setState(496); + _la = _input.LA(1); + if (_la==T__30) { + { + setState(495); + match(T__30); + } + } + + setState(498); + ruleQualifiedNameInStaticImport(); + setState(501); + switch (_input.LA(1)) { + case T__31: + { + setState(499); + match(T__31); + } + break; + case RULE_ID: + { + setState(500); + ruleValidID(); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + case 2: + { + setState(503); + ruleQualifiedName(); + } + break; + case 3: + { + setState(504); + ruleQualifiedNameWithWildcard(); + } + break; + case 4: + { + setState(505); + match(T__32); + setState(506); + ruleQualifiedName(); + } + break; + } + setState(510); + _la = _input.LA(1); + if (_la==T__33) { + { + setState(509); + match(T__33); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAnnotationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public RuleXAnnotationElementValueOrCommaListContext ruleXAnnotationElementValueOrCommaList() { + return getRuleContext(RuleXAnnotationElementValueOrCommaListContext.class,0); + } + public List<RuleXAnnotationElementValuePairContext> ruleXAnnotationElementValuePair() { + return getRuleContexts(RuleXAnnotationElementValuePairContext.class); + } + public RuleXAnnotationElementValuePairContext ruleXAnnotationElementValuePair(int i) { + return getRuleContext(RuleXAnnotationElementValuePairContext.class,i); + } + public RuleXAnnotationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAnnotation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotation(this); + } + } + + public final RuleXAnnotationContext ruleXAnnotation() throws RecognitionException { + RuleXAnnotationContext _localctx = new RuleXAnnotationContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_ruleXAnnotation); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(512); + match(T__34); + setState(513); + ruleQualifiedName(); + setState(527); + _la = _input.LA(1); + if (_la==T__16) { + { + { + setState(514); + match(T__16); + } + setState(524); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,40,_ctx) ) { + case 1: + { + { + setState(515); + ruleXAnnotationElementValuePair(); + } + setState(520); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(516); + match(T__17); + { + setState(517); + ruleXAnnotationElementValuePair(); + } + } + } + setState(522); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + case 2: + { + setState(523); + ruleXAnnotationElementValueOrCommaList(); + } + break; + } + setState(526); + match(T__18); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAnnotationElementValuePairContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXAnnotationElementValueContext ruleXAnnotationElementValue() { + return getRuleContext(RuleXAnnotationElementValueContext.class,0); + } + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXAnnotationElementValuePairContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValuePair; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValuePair(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValuePair(this); + } + } + + public final RuleXAnnotationElementValuePairContext ruleXAnnotationElementValuePair() throws RecognitionException { + RuleXAnnotationElementValuePairContext _localctx = new RuleXAnnotationElementValuePairContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_ruleXAnnotationElementValuePair); + try { + enterOuterAlt(_localctx, 1); + { + { + setState(529); + ruleValidID(); + setState(530); + match(T__35); + } + setState(532); + ruleXAnnotationElementValue(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAnnotationElementValueOrCommaListContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXAnnotationOrExpressionContext> ruleXAnnotationOrExpression() { + return getRuleContexts(RuleXAnnotationOrExpressionContext.class); + } + public RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression(int i) { + return getRuleContext(RuleXAnnotationOrExpressionContext.class,i); + } + public RuleXAnnotationElementValueOrCommaListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValueOrCommaList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValueOrCommaList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValueOrCommaList(this); + } + } + + public final RuleXAnnotationElementValueOrCommaListContext ruleXAnnotationElementValueOrCommaList() throws RecognitionException { + RuleXAnnotationElementValueOrCommaListContext _localctx = new RuleXAnnotationElementValueOrCommaListContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_ruleXAnnotationElementValueOrCommaList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(557); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) { + case 1: + { + { + setState(534); + match(T__36); + setState(535); + match(T__37); + } + setState(545); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__34) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(537); + ruleXAnnotationOrExpression(); + setState(542); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(538); + match(T__17); + setState(539); + ruleXAnnotationOrExpression(); + } + } + setState(544); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(547); + match(T__38); + } + break; + case 2: + { + setState(548); + ruleXAnnotationOrExpression(); + setState(555); + _la = _input.LA(1); + if (_la==T__17) { + { + setState(551); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(549); + match(T__17); + setState(550); + ruleXAnnotationOrExpression(); + } + } + setState(553); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==T__17 ); + } + } + + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAnnotationElementValueContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXAnnotationOrExpressionContext> ruleXAnnotationOrExpression() { + return getRuleContexts(RuleXAnnotationOrExpressionContext.class); + } + public RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression(int i) { + return getRuleContext(RuleXAnnotationOrExpressionContext.class,i); + } + public RuleXAnnotationElementValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValue(this); + } + } + + public final RuleXAnnotationElementValueContext ruleXAnnotationElementValue() throws RecognitionException { + RuleXAnnotationElementValueContext _localctx = new RuleXAnnotationElementValueContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_ruleXAnnotationElementValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(574); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) { + case 1: + { + { + setState(559); + match(T__36); + setState(560); + match(T__37); + } + setState(570); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__34) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(562); + ruleXAnnotationOrExpression(); + setState(567); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(563); + match(T__17); + setState(564); + ruleXAnnotationOrExpression(); + } + } + setState(569); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(572); + match(T__38); + } + break; + case 2: + { + setState(573); + ruleXAnnotationOrExpression(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAnnotationOrExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXAnnotationContext ruleXAnnotation() { + return getRuleContext(RuleXAnnotationContext.class,0); + } + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXAnnotationOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAnnotationOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationOrExpression(this); + } + } + + public final RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression() throws RecognitionException { + RuleXAnnotationOrExpressionContext _localctx = new RuleXAnnotationOrExpressionContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_ruleXAnnotationOrExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(578); + switch (_input.LA(1)) { + case T__34: + { + setState(576); + ruleXAnnotation(); + } + break; + case T__1: + case T__16: + case T__28: + case T__29: + case T__30: + case T__36: + case T__37: + case T__44: + case T__60: + case T__61: + case T__65: + case T__73: + case T__75: + case T__79: + case T__80: + case T__81: + case T__84: + case T__85: + case T__86: + case T__87: + case T__88: + case T__89: + case T__90: + case T__91: + case T__92: + case T__93: + case T__95: + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_ID: + case RULE_STRING: + { + setState(577); + ruleXExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXAssignmentContext ruleXAssignment() { + return getRuleContext(RuleXAssignmentContext.class,0); + } + public RuleXExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpression(this); + } + } + + public final RuleXExpressionContext ruleXExpression() throws RecognitionException { + RuleXExpressionContext _localctx = new RuleXExpressionContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_ruleXExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(580); + ruleXAssignment(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAssignmentContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleFeatureCallIDContext ruleFeatureCallID() { + return getRuleContext(RuleFeatureCallIDContext.class,0); + } + public RuleOpSingleAssignContext ruleOpSingleAssign() { + return getRuleContext(RuleOpSingleAssignContext.class,0); + } + public RuleXAssignmentContext ruleXAssignment() { + return getRuleContext(RuleXAssignmentContext.class,0); + } + public RuleXOrExpressionContext ruleXOrExpression() { + return getRuleContext(RuleXOrExpressionContext.class,0); + } + public RuleOpMultiAssignContext ruleOpMultiAssign() { + return getRuleContext(RuleOpMultiAssignContext.class,0); + } + public RuleXAssignmentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAssignment; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAssignment(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAssignment(this); + } + } + + public final RuleXAssignmentContext ruleXAssignment() throws RecognitionException { + RuleXAssignmentContext _localctx = new RuleXAssignmentContext(_ctx, getState()); + enterRule(_localctx, 62, RULE_ruleXAssignment); + try { + enterOuterAlt(_localctx, 1); + { + setState(592); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) { + case 1: + { + setState(582); + ruleFeatureCallID(); + setState(583); + ruleOpSingleAssign(); + setState(584); + ruleXAssignment(); + } + break; + case 2: + { + setState(586); + ruleXOrExpression(); + setState(590); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,51,_ctx) ) { + case 1: + { + { + setState(587); + ruleOpMultiAssign(); + } + setState(588); + ruleXAssignment(); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpSingleAssignContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpSingleAssignContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpSingleAssign; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpSingleAssign(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpSingleAssign(this); + } + } + + public final RuleOpSingleAssignContext ruleOpSingleAssign() throws RecognitionException { + RuleOpSingleAssignContext _localctx = new RuleOpSingleAssignContext(_ctx, getState()); + enterRule(_localctx, 64, RULE_ruleOpSingleAssign); + try { + enterOuterAlt(_localctx, 1); + { + setState(594); + match(T__35); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpMultiAssignContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpMultiAssignContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpMultiAssign; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpMultiAssign(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpMultiAssign(this); + } + } + + public final RuleOpMultiAssignContext ruleOpMultiAssign() throws RecognitionException { + RuleOpMultiAssignContext _localctx = new RuleOpMultiAssignContext(_ctx, getState()); + enterRule(_localctx, 66, RULE_ruleOpMultiAssign); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(609); + switch (_input.LA(1)) { + case T__39: + { + setState(596); + match(T__39); + } + break; + case T__40: + { + setState(597); + match(T__40); + } + break; + case T__41: + { + setState(598); + match(T__41); + } + break; + case T__42: + { + setState(599); + match(T__42); + } + break; + case T__43: + { + setState(600); + match(T__43); + } + break; + case T__44: + { + setState(601); + match(T__44); + setState(602); + match(T__44); + setState(603); + match(T__35); + } + break; + case T__45: + { + setState(604); + match(T__45); + setState(606); + _la = _input.LA(1); + if (_la==T__45) { + { + setState(605); + match(T__45); + } + } + + setState(608); + match(T__46); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXOrExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXAndExpressionContext> ruleXAndExpression() { + return getRuleContexts(RuleXAndExpressionContext.class); + } + public RuleXAndExpressionContext ruleXAndExpression(int i) { + return getRuleContext(RuleXAndExpressionContext.class,i); + } + public List<RuleOpOrContext> ruleOpOr() { + return getRuleContexts(RuleOpOrContext.class); + } + public RuleOpOrContext ruleOpOr(int i) { + return getRuleContext(RuleOpOrContext.class,i); + } + public RuleXOrExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXOrExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXOrExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXOrExpression(this); + } + } + + public final RuleXOrExpressionContext ruleXOrExpression() throws RecognitionException { + RuleXOrExpressionContext _localctx = new RuleXOrExpressionContext(_ctx, getState()); + enterRule(_localctx, 68, RULE_ruleXOrExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(611); + ruleXAndExpression(); + setState(617); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,55,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(612); + ruleOpOr(); + } + setState(613); + ruleXAndExpression(); + } + } + } + setState(619); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,55,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpOrContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpOrContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpOr; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpOr(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpOr(this); + } + } + + public final RuleOpOrContext ruleOpOr() throws RecognitionException { + RuleOpOrContext _localctx = new RuleOpOrContext(_ctx, getState()); + enterRule(_localctx, 70, RULE_ruleOpOr); + try { + enterOuterAlt(_localctx, 1); + { + setState(620); + match(T__47); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAndExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXEqualityExpressionContext> ruleXEqualityExpression() { + return getRuleContexts(RuleXEqualityExpressionContext.class); + } + public RuleXEqualityExpressionContext ruleXEqualityExpression(int i) { + return getRuleContext(RuleXEqualityExpressionContext.class,i); + } + public List<RuleOpAndContext> ruleOpAnd() { + return getRuleContexts(RuleOpAndContext.class); + } + public RuleOpAndContext ruleOpAnd(int i) { + return getRuleContext(RuleOpAndContext.class,i); + } + public RuleXAndExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAndExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAndExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAndExpression(this); + } + } + + public final RuleXAndExpressionContext ruleXAndExpression() throws RecognitionException { + RuleXAndExpressionContext _localctx = new RuleXAndExpressionContext(_ctx, getState()); + enterRule(_localctx, 72, RULE_ruleXAndExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(622); + ruleXEqualityExpression(); + setState(628); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,56,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(623); + ruleOpAnd(); + } + setState(624); + ruleXEqualityExpression(); + } + } + } + setState(630); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,56,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpAndContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpAndContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpAnd; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpAnd(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpAnd(this); + } + } + + public final RuleOpAndContext ruleOpAnd() throws RecognitionException { + RuleOpAndContext _localctx = new RuleOpAndContext(_ctx, getState()); + enterRule(_localctx, 74, RULE_ruleOpAnd); + try { + enterOuterAlt(_localctx, 1); + { + setState(631); + match(T__48); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXEqualityExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXRelationalExpressionContext> ruleXRelationalExpression() { + return getRuleContexts(RuleXRelationalExpressionContext.class); + } + public RuleXRelationalExpressionContext ruleXRelationalExpression(int i) { + return getRuleContext(RuleXRelationalExpressionContext.class,i); + } + public List<RuleOpEqualityContext> ruleOpEquality() { + return getRuleContexts(RuleOpEqualityContext.class); + } + public RuleOpEqualityContext ruleOpEquality(int i) { + return getRuleContext(RuleOpEqualityContext.class,i); + } + public RuleXEqualityExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXEqualityExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXEqualityExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXEqualityExpression(this); + } + } + + public final RuleXEqualityExpressionContext ruleXEqualityExpression() throws RecognitionException { + RuleXEqualityExpressionContext _localctx = new RuleXEqualityExpressionContext(_ctx, getState()); + enterRule(_localctx, 76, RULE_ruleXEqualityExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(633); + ruleXRelationalExpression(); + setState(639); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,57,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(634); + ruleOpEquality(); + } + setState(635); + ruleXRelationalExpression(); + } + } + } + setState(641); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,57,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpEqualityContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpEqualityContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpEquality; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpEquality(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpEquality(this); + } + } + + public final RuleOpEqualityContext ruleOpEquality() throws RecognitionException { + RuleOpEqualityContext _localctx = new RuleOpEqualityContext(_ctx, getState()); + enterRule(_localctx, 78, RULE_ruleOpEquality); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(642); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXRelationalExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXOtherOperatorExpressionContext> ruleXOtherOperatorExpression() { + return getRuleContexts(RuleXOtherOperatorExpressionContext.class); + } + public RuleXOtherOperatorExpressionContext ruleXOtherOperatorExpression(int i) { + return getRuleContext(RuleXOtherOperatorExpressionContext.class,i); + } + public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() { + return getRuleContexts(RuleJvmTypeReferenceContext.class); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) { + return getRuleContext(RuleJvmTypeReferenceContext.class,i); + } + public List<RuleOpCompareContext> ruleOpCompare() { + return getRuleContexts(RuleOpCompareContext.class); + } + public RuleOpCompareContext ruleOpCompare(int i) { + return getRuleContext(RuleOpCompareContext.class,i); + } + public RuleXRelationalExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXRelationalExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXRelationalExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXRelationalExpression(this); + } + } + + public final RuleXRelationalExpressionContext ruleXRelationalExpression() throws RecognitionException { + RuleXRelationalExpressionContext _localctx = new RuleXRelationalExpressionContext(_ctx, getState()); + enterRule(_localctx, 80, RULE_ruleXRelationalExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(644); + ruleXOtherOperatorExpression(); + setState(652); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,59,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(650); + switch (_input.LA(1)) { + case T__53: + { + { + setState(645); + match(T__53); + } + setState(646); + ruleJvmTypeReference(); + } + break; + case T__44: + case T__45: + case T__46: + { + { + setState(647); + ruleOpCompare(); + } + setState(648); + ruleXOtherOperatorExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + setState(654); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,59,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpCompareContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpCompareContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpCompare; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpCompare(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpCompare(this); + } + } + + public final RuleOpCompareContext ruleOpCompare() throws RecognitionException { + RuleOpCompareContext _localctx = new RuleOpCompareContext(_ctx, getState()); + enterRule(_localctx, 82, RULE_ruleOpCompare); + try { + enterOuterAlt(_localctx, 1); + { + setState(660); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,60,_ctx) ) { + case 1: + { + setState(655); + match(T__46); + } + break; + case 2: + { + setState(656); + match(T__44); + setState(657); + match(T__35); + } + break; + case 3: + { + setState(658); + match(T__45); + } + break; + case 4: + { + setState(659); + match(T__44); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXOtherOperatorExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXAdditiveExpressionContext> ruleXAdditiveExpression() { + return getRuleContexts(RuleXAdditiveExpressionContext.class); + } + public RuleXAdditiveExpressionContext ruleXAdditiveExpression(int i) { + return getRuleContext(RuleXAdditiveExpressionContext.class,i); + } + public List<RuleOpOtherContext> ruleOpOther() { + return getRuleContexts(RuleOpOtherContext.class); + } + public RuleOpOtherContext ruleOpOther(int i) { + return getRuleContext(RuleOpOtherContext.class,i); + } + public RuleXOtherOperatorExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXOtherOperatorExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXOtherOperatorExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXOtherOperatorExpression(this); + } + } + + public final RuleXOtherOperatorExpressionContext ruleXOtherOperatorExpression() throws RecognitionException { + RuleXOtherOperatorExpressionContext _localctx = new RuleXOtherOperatorExpressionContext(_ctx, getState()); + enterRule(_localctx, 84, RULE_ruleXOtherOperatorExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(662); + ruleXAdditiveExpression(); + setState(668); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,61,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(663); + ruleOpOther(); + } + setState(664); + ruleXAdditiveExpression(); + } + } + } + setState(670); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,61,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpOtherContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpOtherContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpOther; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpOther(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpOther(this); + } + } + + public final RuleOpOtherContext ruleOpOther() throws RecognitionException { + RuleOpOtherContext _localctx = new RuleOpOtherContext(_ctx, getState()); + enterRule(_localctx, 86, RULE_ruleOpOther); + try { + enterOuterAlt(_localctx, 1); + { + setState(692); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) { + case 1: + { + setState(671); + match(T__54); + } + break; + case 2: + { + setState(672); + match(T__55); + } + break; + case 3: + { + setState(673); + match(T__45); + setState(674); + match(T__56); + } + break; + case 4: + { + setState(675); + match(T__56); + } + break; + case 5: + { + setState(676); + match(T__57); + } + break; + case 6: + { + setState(677); + match(T__45); + setState(681); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,62,_ctx) ) { + case 1: + { + { + setState(678); + match(T__45); + setState(679); + match(T__45); + } + } + break; + case 2: + { + setState(680); + match(T__45); + } + break; + } + } + break; + case 7: + { + setState(683); + match(T__44); + setState(688); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) { + case 1: + { + { + setState(684); + match(T__44); + setState(685); + match(T__44); + } + } + break; + case 2: + { + setState(686); + match(T__44); + } + break; + case 3: + { + setState(687); + match(T__57); + } + break; + } + } + break; + case 8: + { + setState(690); + match(T__58); + } + break; + case 9: + { + setState(691); + match(T__59); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXAdditiveExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXMultiplicativeExpressionContext> ruleXMultiplicativeExpression() { + return getRuleContexts(RuleXMultiplicativeExpressionContext.class); + } + public RuleXMultiplicativeExpressionContext ruleXMultiplicativeExpression(int i) { + return getRuleContext(RuleXMultiplicativeExpressionContext.class,i); + } + public List<RuleOpAddContext> ruleOpAdd() { + return getRuleContexts(RuleOpAddContext.class); + } + public RuleOpAddContext ruleOpAdd(int i) { + return getRuleContext(RuleOpAddContext.class,i); + } + public RuleXAdditiveExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXAdditiveExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAdditiveExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAdditiveExpression(this); + } + } + + public final RuleXAdditiveExpressionContext ruleXAdditiveExpression() throws RecognitionException { + RuleXAdditiveExpressionContext _localctx = new RuleXAdditiveExpressionContext(_ctx, getState()); + enterRule(_localctx, 88, RULE_ruleXAdditiveExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(694); + ruleXMultiplicativeExpression(); + setState(700); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,65,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(695); + ruleOpAdd(); + } + setState(696); + ruleXMultiplicativeExpression(); + } + } + } + setState(702); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,65,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpAddContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpAddContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpAdd; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpAdd(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpAdd(this); + } + } + + public final RuleOpAddContext ruleOpAdd() throws RecognitionException { + RuleOpAddContext _localctx = new RuleOpAddContext(_ctx, getState()); + enterRule(_localctx, 90, RULE_ruleOpAdd); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(703); + _la = _input.LA(1); + if ( !(_la==T__60 || _la==T__61) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXMultiplicativeExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXUnaryOperationContext> ruleXUnaryOperation() { + return getRuleContexts(RuleXUnaryOperationContext.class); + } + public RuleXUnaryOperationContext ruleXUnaryOperation(int i) { + return getRuleContext(RuleXUnaryOperationContext.class,i); + } + public List<RuleOpMultiContext> ruleOpMulti() { + return getRuleContexts(RuleOpMultiContext.class); + } + public RuleOpMultiContext ruleOpMulti(int i) { + return getRuleContext(RuleOpMultiContext.class,i); + } + public RuleXMultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXMultiplicativeExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXMultiplicativeExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXMultiplicativeExpression(this); + } + } + + public final RuleXMultiplicativeExpressionContext ruleXMultiplicativeExpression() throws RecognitionException { + RuleXMultiplicativeExpressionContext _localctx = new RuleXMultiplicativeExpressionContext(_ctx, getState()); + enterRule(_localctx, 92, RULE_ruleXMultiplicativeExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(705); + ruleXUnaryOperation(); + setState(711); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,66,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(706); + ruleOpMulti(); + } + setState(707); + ruleXUnaryOperation(); + } + } + } + setState(713); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,66,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpMultiContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpMultiContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpMulti; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpMulti(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpMulti(this); + } + } + + public final RuleOpMultiContext ruleOpMulti() throws RecognitionException { + RuleOpMultiContext _localctx = new RuleOpMultiContext(_ctx, getState()); + enterRule(_localctx, 94, RULE_ruleOpMulti); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(714); + _la = _input.LA(1); + if ( !(((((_la - 32)) & ~0x3f) == 0 && ((1L << (_la - 32)) & ((1L << (T__31 - 32)) | (1L << (T__62 - 32)) | (1L << (T__63 - 32)) | (1L << (T__64 - 32)))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXUnaryOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpUnaryContext ruleOpUnary() { + return getRuleContext(RuleOpUnaryContext.class,0); + } + public RuleXUnaryOperationContext ruleXUnaryOperation() { + return getRuleContext(RuleXUnaryOperationContext.class,0); + } + public RuleXCastedExpressionContext ruleXCastedExpression() { + return getRuleContext(RuleXCastedExpressionContext.class,0); + } + public RuleXUnaryOperationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXUnaryOperation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXUnaryOperation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXUnaryOperation(this); + } + } + + public final RuleXUnaryOperationContext ruleXUnaryOperation() throws RecognitionException { + RuleXUnaryOperationContext _localctx = new RuleXUnaryOperationContext(_ctx, getState()); + enterRule(_localctx, 96, RULE_ruleXUnaryOperation); + try { + enterOuterAlt(_localctx, 1); + { + setState(720); + switch (_input.LA(1)) { + case T__60: + case T__61: + case T__65: + { + setState(716); + ruleOpUnary(); + setState(717); + ruleXUnaryOperation(); + } + break; + case T__1: + case T__16: + case T__28: + case T__29: + case T__30: + case T__36: + case T__37: + case T__44: + case T__73: + case T__75: + case T__79: + case T__80: + case T__81: + case T__84: + case T__85: + case T__86: + case T__87: + case T__88: + case T__89: + case T__90: + case T__91: + case T__92: + case T__93: + case T__95: + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_ID: + case RULE_STRING: + { + setState(719); + ruleXCastedExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpUnaryContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpUnaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpUnary; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpUnary(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpUnary(this); + } + } + + public final RuleOpUnaryContext ruleOpUnary() throws RecognitionException { + RuleOpUnaryContext _localctx = new RuleOpUnaryContext(_ctx, getState()); + enterRule(_localctx, 98, RULE_ruleOpUnary); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(722); + _la = _input.LA(1); + if ( !(((((_la - 61)) & ~0x3f) == 0 && ((1L << (_la - 61)) & ((1L << (T__60 - 61)) | (1L << (T__61 - 61)) | (1L << (T__65 - 61)))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXCastedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXPostfixOperationContext ruleXPostfixOperation() { + return getRuleContext(RuleXPostfixOperationContext.class,0); + } + public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() { + return getRuleContexts(RuleJvmTypeReferenceContext.class); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) { + return getRuleContext(RuleJvmTypeReferenceContext.class,i); + } + public RuleXCastedExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXCastedExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCastedExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCastedExpression(this); + } + } + + public final RuleXCastedExpressionContext ruleXCastedExpression() throws RecognitionException { + RuleXCastedExpressionContext _localctx = new RuleXCastedExpressionContext(_ctx, getState()); + enterRule(_localctx, 100, RULE_ruleXCastedExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(724); + ruleXPostfixOperation(); + setState(729); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,68,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(725); + match(T__66); + } + setState(726); + ruleJvmTypeReference(); + } + } + } + setState(731); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,68,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXPostfixOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXMemberFeatureCallContext ruleXMemberFeatureCall() { + return getRuleContext(RuleXMemberFeatureCallContext.class,0); + } + public RuleOpPostfixContext ruleOpPostfix() { + return getRuleContext(RuleOpPostfixContext.class,0); + } + public RuleXPostfixOperationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXPostfixOperation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXPostfixOperation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXPostfixOperation(this); + } + } + + public final RuleXPostfixOperationContext ruleXPostfixOperation() throws RecognitionException { + RuleXPostfixOperationContext _localctx = new RuleXPostfixOperationContext(_ctx, getState()); + enterRule(_localctx, 102, RULE_ruleXPostfixOperation); + try { + enterOuterAlt(_localctx, 1); + { + setState(732); + ruleXMemberFeatureCall(); + setState(734); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,69,_ctx) ) { + case 1: + { + setState(733); + ruleOpPostfix(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleOpPostfixContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleOpPostfixContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleOpPostfix; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpPostfix(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpPostfix(this); + } + } + + public final RuleOpPostfixContext ruleOpPostfix() throws RecognitionException { + RuleOpPostfixContext _localctx = new RuleOpPostfixContext(_ctx, getState()); + enterRule(_localctx, 104, RULE_ruleOpPostfix); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(736); + _la = _input.LA(1); + if ( !(_la==T__67 || _la==T__68) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXMemberFeatureCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXPrimaryExpressionContext ruleXPrimaryExpression() { + return getRuleContext(RuleXPrimaryExpressionContext.class,0); + } + public List<RuleXAssignmentContext> ruleXAssignment() { + return getRuleContexts(RuleXAssignmentContext.class); + } + public RuleXAssignmentContext ruleXAssignment(int i) { + return getRuleContext(RuleXAssignmentContext.class,i); + } + public List<RuleIdOrSuperContext> ruleIdOrSuper() { + return getRuleContexts(RuleIdOrSuperContext.class); + } + public RuleIdOrSuperContext ruleIdOrSuper(int i) { + return getRuleContext(RuleIdOrSuperContext.class,i); + } + public List<RuleFeatureCallIDContext> ruleFeatureCallID() { + return getRuleContexts(RuleFeatureCallIDContext.class); + } + public RuleFeatureCallIDContext ruleFeatureCallID(int i) { + return getRuleContext(RuleFeatureCallIDContext.class,i); + } + public List<RuleOpSingleAssignContext> ruleOpSingleAssign() { + return getRuleContexts(RuleOpSingleAssignContext.class); + } + public RuleOpSingleAssignContext ruleOpSingleAssign(int i) { + return getRuleContext(RuleOpSingleAssignContext.class,i); + } + public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() { + return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class); + } + public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) { + return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i); + } + public List<RuleXClosureContext> ruleXClosure() { + return getRuleContexts(RuleXClosureContext.class); + } + public RuleXClosureContext ruleXClosure(int i) { + return getRuleContext(RuleXClosureContext.class,i); + } + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public List<RuleXShortClosureContext> ruleXShortClosure() { + return getRuleContexts(RuleXShortClosureContext.class); + } + public RuleXShortClosureContext ruleXShortClosure(int i) { + return getRuleContext(RuleXShortClosureContext.class,i); + } + public RuleXMemberFeatureCallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXMemberFeatureCall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXMemberFeatureCall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXMemberFeatureCall(this); + } + } + + public final RuleXMemberFeatureCallContext ruleXMemberFeatureCall() throws RecognitionException { + RuleXMemberFeatureCallContext _localctx = new RuleXMemberFeatureCallContext(_ctx, getState()); + enterRule(_localctx, 106, RULE_ruleXMemberFeatureCall); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(738); + ruleXPrimaryExpression(); + setState(780); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,77,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + setState(778); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) { + case 1: + { + { + setState(739); + _la = _input.LA(1); + if ( !(_la==T__69 || _la==T__70) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + setState(740); + ruleFeatureCallID(); + setState(741); + ruleOpSingleAssign(); + } + setState(743); + ruleXAssignment(); + } + break; + case 2: + { + { + setState(745); + _la = _input.LA(1); + if ( !(((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (T__69 - 70)) | (1L << (T__70 - 70)) | (1L << (T__71 - 70)))) != 0)) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + setState(757); + _la = _input.LA(1); + if (_la==T__44) { + { + setState(746); + match(T__44); + setState(747); + ruleJvmArgumentTypeReference(); + setState(752); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(748); + match(T__17); + setState(749); + ruleJvmArgumentTypeReference(); + } + } + setState(754); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(755); + match(T__45); + } + } + + setState(759); + ruleIdOrSuper(); + setState(773); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) { + case 1: + { + { + setState(760); + match(T__16); + } + setState(770); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,73,_ctx) ) { + case 1: + { + { + setState(761); + ruleXShortClosure(); + } + } + break; + case 2: + { + setState(762); + ruleXExpression(); + setState(767); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(763); + match(T__17); + setState(764); + ruleXExpression(); + } + } + setState(769); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + } + setState(772); + match(T__18); + } + break; + } + setState(776); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) { + case 1: + { + setState(775); + ruleXClosure(); + } + break; + } + } + break; + } + } + } + setState(782); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,77,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXPrimaryExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXConstructorCallContext ruleXConstructorCall() { + return getRuleContext(RuleXConstructorCallContext.class,0); + } + public RuleXBlockExpressionContext ruleXBlockExpression() { + return getRuleContext(RuleXBlockExpressionContext.class,0); + } + public RuleXSwitchExpressionContext ruleXSwitchExpression() { + return getRuleContext(RuleXSwitchExpressionContext.class,0); + } + public RuleXFeatureCallContext ruleXFeatureCall() { + return getRuleContext(RuleXFeatureCallContext.class,0); + } + public RuleXLiteralContext ruleXLiteral() { + return getRuleContext(RuleXLiteralContext.class,0); + } + public RuleXIfExpressionContext ruleXIfExpression() { + return getRuleContext(RuleXIfExpressionContext.class,0); + } + public RuleXBasicForLoopExpressionContext ruleXBasicForLoopExpression() { + return getRuleContext(RuleXBasicForLoopExpressionContext.class,0); + } + public RuleXWhileExpressionContext ruleXWhileExpression() { + return getRuleContext(RuleXWhileExpressionContext.class,0); + } + public RuleXDoWhileExpressionContext ruleXDoWhileExpression() { + return getRuleContext(RuleXDoWhileExpressionContext.class,0); + } + public RuleXThrowExpressionContext ruleXThrowExpression() { + return getRuleContext(RuleXThrowExpressionContext.class,0); + } + public RuleXReturnExpressionContext ruleXReturnExpression() { + return getRuleContext(RuleXReturnExpressionContext.class,0); + } + public RuleXTryCatchFinallyExpressionContext ruleXTryCatchFinallyExpression() { + return getRuleContext(RuleXTryCatchFinallyExpressionContext.class,0); + } + public RuleXParenthesizedExpressionContext ruleXParenthesizedExpression() { + return getRuleContext(RuleXParenthesizedExpressionContext.class,0); + } + public RuleXSynchronizedExpressionContext ruleXSynchronizedExpression() { + return getRuleContext(RuleXSynchronizedExpressionContext.class,0); + } + public RuleXForLoopExpressionContext ruleXForLoopExpression() { + return getRuleContext(RuleXForLoopExpressionContext.class,0); + } + public RuleXPrimaryExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXPrimaryExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXPrimaryExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXPrimaryExpression(this); + } + } + + public final RuleXPrimaryExpressionContext ruleXPrimaryExpression() throws RecognitionException { + RuleXPrimaryExpressionContext _localctx = new RuleXPrimaryExpressionContext(_ctx, getState()); + enterRule(_localctx, 108, RULE_ruleXPrimaryExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(798); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) { + case 1: + { + setState(783); + ruleXConstructorCall(); + } + break; + case 2: + { + setState(784); + ruleXBlockExpression(); + } + break; + case 3: + { + setState(785); + ruleXSwitchExpression(); + } + break; + case 4: + { + { + setState(786); + ruleXSynchronizedExpression(); + } + } + break; + case 5: + { + setState(787); + ruleXFeatureCall(); + } + break; + case 6: + { + setState(788); + ruleXLiteral(); + } + break; + case 7: + { + setState(789); + ruleXIfExpression(); + } + break; + case 8: + { + { + setState(790); + ruleXForLoopExpression(); + } + } + break; + case 9: + { + setState(791); + ruleXBasicForLoopExpression(); + } + break; + case 10: + { + setState(792); + ruleXWhileExpression(); + } + break; + case 11: + { + setState(793); + ruleXDoWhileExpression(); + } + break; + case 12: + { + setState(794); + ruleXThrowExpression(); + } + break; + case 13: + { + setState(795); + ruleXReturnExpression(); + } + break; + case 14: + { + setState(796); + ruleXTryCatchFinallyExpression(); + } + break; + case 15: + { + setState(797); + ruleXParenthesizedExpression(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXCollectionLiteralContext ruleXCollectionLiteral() { + return getRuleContext(RuleXCollectionLiteralContext.class,0); + } + public RuleXBooleanLiteralContext ruleXBooleanLiteral() { + return getRuleContext(RuleXBooleanLiteralContext.class,0); + } + public RuleXNumberLiteralContext ruleXNumberLiteral() { + return getRuleContext(RuleXNumberLiteralContext.class,0); + } + public RuleXNullLiteralContext ruleXNullLiteral() { + return getRuleContext(RuleXNullLiteralContext.class,0); + } + public RuleXStringLiteralContext ruleXStringLiteral() { + return getRuleContext(RuleXStringLiteralContext.class,0); + } + public RuleXTypeLiteralContext ruleXTypeLiteral() { + return getRuleContext(RuleXTypeLiteralContext.class,0); + } + public RuleXClosureContext ruleXClosure() { + return getRuleContext(RuleXClosureContext.class,0); + } + public RuleXLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXLiteral(this); + } + } + + public final RuleXLiteralContext ruleXLiteral() throws RecognitionException { + RuleXLiteralContext _localctx = new RuleXLiteralContext(_ctx, getState()); + enterRule(_localctx, 110, RULE_ruleXLiteral); + try { + enterOuterAlt(_localctx, 1); + { + setState(807); + switch (_input.LA(1)) { + case T__36: + { + setState(800); + ruleXCollectionLiteral(); + } + break; + case T__37: + { + { + setState(801); + ruleXClosure(); + } + } + break; + case T__87: + case T__88: + { + setState(802); + ruleXBooleanLiteral(); + } + break; + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + { + setState(803); + ruleXNumberLiteral(); + } + break; + case T__89: + { + setState(804); + ruleXNullLiteral(); + } + break; + case RULE_STRING: + { + setState(805); + ruleXStringLiteral(); + } + break; + case T__90: + { + setState(806); + ruleXTypeLiteral(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXCollectionLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXSetLiteralContext ruleXSetLiteral() { + return getRuleContext(RuleXSetLiteralContext.class,0); + } + public RuleXListLiteralContext ruleXListLiteral() { + return getRuleContext(RuleXListLiteralContext.class,0); + } + public RuleXCollectionLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXCollectionLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCollectionLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCollectionLiteral(this); + } + } + + public final RuleXCollectionLiteralContext ruleXCollectionLiteral() throws RecognitionException { + RuleXCollectionLiteralContext _localctx = new RuleXCollectionLiteralContext(_ctx, getState()); + enterRule(_localctx, 112, RULE_ruleXCollectionLiteral); + try { + enterOuterAlt(_localctx, 1); + { + setState(811); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) { + case 1: + { + setState(809); + ruleXSetLiteral(); + } + break; + case 2: + { + setState(810); + ruleXListLiteral(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXSetLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXSetLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXSetLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSetLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSetLiteral(this); + } + } + + public final RuleXSetLiteralContext ruleXSetLiteral() throws RecognitionException { + RuleXSetLiteralContext _localctx = new RuleXSetLiteralContext(_ctx, getState()); + enterRule(_localctx, 114, RULE_ruleXSetLiteral); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(813); + match(T__36); + setState(814); + match(T__1); + setState(823); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(815); + ruleXExpression(); + setState(820); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(816); + match(T__17); + setState(817); + ruleXExpression(); + } + } + setState(822); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(825); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXListLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXListLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXListLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXListLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXListLiteral(this); + } + } + + public final RuleXListLiteralContext ruleXListLiteral() throws RecognitionException { + RuleXListLiteralContext _localctx = new RuleXListLiteralContext(_ctx, getState()); + enterRule(_localctx, 116, RULE_ruleXListLiteral); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(827); + match(T__36); + setState(828); + match(T__37); + setState(837); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(829); + ruleXExpression(); + setState(834); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(830); + match(T__17); + setState(831); + ruleXExpression(); + } + } + setState(836); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(839); + match(T__38); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXExpressionInClosureContext ruleXExpressionInClosure() { + return getRuleContext(RuleXExpressionInClosureContext.class,0); + } + public List<RuleJvmFormalParameterContext> ruleJvmFormalParameter() { + return getRuleContexts(RuleJvmFormalParameterContext.class); + } + public RuleJvmFormalParameterContext ruleJvmFormalParameter(int i) { + return getRuleContext(RuleJvmFormalParameterContext.class,i); + } + public RuleXClosureContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXClosure; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXClosure(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXClosure(this); + } + } + + public final RuleXClosureContext ruleXClosure() throws RecognitionException { + RuleXClosureContext _localctx = new RuleXClosureContext(_ctx, getState()); + enterRule(_localctx, 118, RULE_ruleXClosure); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + { + setState(841); + match(T__37); + } + setState(853); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) { + case 1: + { + setState(850); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(842); + ruleJvmFormalParameter(); + setState(847); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(843); + match(T__17); + setState(844); + ruleJvmFormalParameter(); + } + } + setState(849); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(852); + match(T__72); + } + break; + } + setState(855); + ruleXExpressionInClosure(); + setState(856); + match(T__38); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXExpressionInClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() { + return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class); + } + public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) { + return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i); + } + public RuleXExpressionInClosureContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXExpressionInClosure; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpressionInClosure(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpressionInClosure(this); + } + } + + public final RuleXExpressionInClosureContext ruleXExpressionInClosure() throws RecognitionException { + RuleXExpressionInClosureContext _localctx = new RuleXExpressionInClosureContext(_ctx, getState()); + enterRule(_localctx, 120, RULE_ruleXExpressionInClosure); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(864); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + { + setState(858); + ruleXExpressionOrVarDeclaration(); + setState(860); + _la = _input.LA(1); + if (_la==T__33) { + { + setState(859); + match(T__33); + } + } + + } + } + setState(866); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXShortClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public List<RuleJvmFormalParameterContext> ruleJvmFormalParameter() { + return getRuleContexts(RuleJvmFormalParameterContext.class); + } + public RuleJvmFormalParameterContext ruleJvmFormalParameter(int i) { + return getRuleContext(RuleJvmFormalParameterContext.class,i); + } + public RuleXShortClosureContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXShortClosure; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXShortClosure(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXShortClosure(this); + } + } + + public final RuleXShortClosureContext ruleXShortClosure() throws RecognitionException { + RuleXShortClosureContext _localctx = new RuleXShortClosureContext(_ctx, getState()); + enterRule(_localctx, 122, RULE_ruleXShortClosure); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + { + setState(875); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(867); + ruleJvmFormalParameter(); + setState(872); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(868); + match(T__17); + setState(869); + ruleJvmFormalParameter(); + } + } + setState(874); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(877); + match(T__72); + } + setState(879); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXParenthesizedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXParenthesizedExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXParenthesizedExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXParenthesizedExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXParenthesizedExpression(this); + } + } + + public final RuleXParenthesizedExpressionContext ruleXParenthesizedExpression() throws RecognitionException { + RuleXParenthesizedExpressionContext _localctx = new RuleXParenthesizedExpressionContext(_ctx, getState()); + enterRule(_localctx, 124, RULE_ruleXParenthesizedExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(881); + match(T__16); + setState(882); + ruleXExpression(); + setState(883); + match(T__18); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXIfExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXIfExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXIfExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXIfExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXIfExpression(this); + } + } + + public final RuleXIfExpressionContext ruleXIfExpression() throws RecognitionException { + RuleXIfExpressionContext _localctx = new RuleXIfExpressionContext(_ctx, getState()); + enterRule(_localctx, 126, RULE_ruleXIfExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(885); + match(T__73); + setState(886); + match(T__16); + setState(887); + ruleXExpression(); + setState(888); + match(T__18); + setState(889); + ruleXExpression(); + setState(892); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) { + case 1: + { + { + setState(890); + match(T__74); + } + setState(891); + ruleXExpression(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXSwitchExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public List<RuleXCasePartContext> ruleXCasePart() { + return getRuleContexts(RuleXCasePartContext.class); + } + public RuleXCasePartContext ruleXCasePart(int i) { + return getRuleContext(RuleXCasePartContext.class,i); + } + public RuleJvmFormalParameterContext ruleJvmFormalParameter() { + return getRuleContext(RuleJvmFormalParameterContext.class,0); + } + public RuleXSwitchExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXSwitchExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSwitchExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSwitchExpression(this); + } + } + + public final RuleXSwitchExpressionContext ruleXSwitchExpression() throws RecognitionException { + RuleXSwitchExpressionContext _localctx = new RuleXSwitchExpressionContext(_ctx, getState()); + enterRule(_localctx, 128, RULE_ruleXSwitchExpression); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(894); + match(T__75); + setState(908); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) { + case 1: + { + { + setState(895); + match(T__16); + setState(896); + ruleJvmFormalParameter(); + setState(897); + match(T__76); + } + setState(899); + ruleXExpression(); + setState(900); + match(T__18); + } + break; + case 2: + { + setState(905); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) { + case 1: + { + setState(902); + ruleJvmFormalParameter(); + setState(903); + match(T__76); + } + break; + } + setState(907); + ruleXExpression(); + } + break; + } + setState(910); + match(T__1); + setState(914); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__16) | (1L << T__17) | (1L << T__57))) != 0) || ((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (T__76 - 77)) | (1L << (T__78 - 77)) | (1L << (RULE_ID - 77)))) != 0)) { + { + { + setState(911); + ruleXCasePart(); + } + } + setState(916); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(920); + _la = _input.LA(1); + if (_la==T__77) { + { + setState(917); + match(T__77); + setState(918); + match(T__76); + setState(919); + ruleXExpression(); + } + } + + setState(922); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXCasePartContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleXCasePartContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXCasePart; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCasePart(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCasePart(this); + } + } + + public final RuleXCasePartContext ruleXCasePart() throws RecognitionException { + RuleXCasePartContext _localctx = new RuleXCasePartContext(_ctx, getState()); + enterRule(_localctx, 130, RULE_ruleXCasePart); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(925); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(924); + ruleJvmTypeReference(); + } + } + + setState(929); + _la = _input.LA(1); + if (_la==T__78) { + { + setState(927); + match(T__78); + setState(928); + ruleXExpression(); + } + } + + setState(934); + switch (_input.LA(1)) { + case T__76: + { + setState(931); + match(T__76); + setState(932); + ruleXExpression(); + } + break; + case T__17: + { + setState(933); + match(T__17); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXForLoopExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleJvmFormalParameterContext ruleJvmFormalParameter() { + return getRuleContext(RuleJvmFormalParameterContext.class,0); + } + public RuleXForLoopExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXForLoopExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXForLoopExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXForLoopExpression(this); + } + } + + public final RuleXForLoopExpressionContext ruleXForLoopExpression() throws RecognitionException { + RuleXForLoopExpressionContext _localctx = new RuleXForLoopExpressionContext(_ctx, getState()); + enterRule(_localctx, 132, RULE_ruleXForLoopExpression); + try { + enterOuterAlt(_localctx, 1); + { + { + setState(936); + match(T__79); + setState(937); + match(T__16); + setState(938); + ruleJvmFormalParameter(); + setState(939); + match(T__76); + } + setState(941); + ruleXExpression(); + setState(942); + match(T__18); + setState(943); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXBasicForLoopExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() { + return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class); + } + public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) { + return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i); + } + public RuleXBasicForLoopExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXBasicForLoopExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBasicForLoopExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBasicForLoopExpression(this); + } + } + + public final RuleXBasicForLoopExpressionContext ruleXBasicForLoopExpression() throws RecognitionException { + RuleXBasicForLoopExpressionContext _localctx = new RuleXBasicForLoopExpressionContext(_ctx, getState()); + enterRule(_localctx, 134, RULE_ruleXBasicForLoopExpression); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(945); + match(T__79); + setState(946); + match(T__16); + setState(955); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(947); + ruleXExpressionOrVarDeclaration(); + setState(952); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(948); + match(T__17); + setState(949); + ruleXExpressionOrVarDeclaration(); + } + } + setState(954); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(957); + match(T__33); + setState(959); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(958); + ruleXExpression(); + } + } + + setState(961); + match(T__33); + setState(970); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + setState(962); + ruleXExpression(); + setState(967); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(963); + match(T__17); + setState(964); + ruleXExpression(); + } + } + setState(969); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(972); + match(T__18); + setState(973); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXWhileExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXWhileExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXWhileExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXWhileExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXWhileExpression(this); + } + } + + public final RuleXWhileExpressionContext ruleXWhileExpression() throws RecognitionException { + RuleXWhileExpressionContext _localctx = new RuleXWhileExpressionContext(_ctx, getState()); + enterRule(_localctx, 136, RULE_ruleXWhileExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(975); + match(T__80); + setState(976); + match(T__16); + setState(977); + ruleXExpression(); + setState(978); + match(T__18); + setState(979); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXDoWhileExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXDoWhileExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXDoWhileExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXDoWhileExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXDoWhileExpression(this); + } + } + + public final RuleXDoWhileExpressionContext ruleXDoWhileExpression() throws RecognitionException { + RuleXDoWhileExpressionContext _localctx = new RuleXDoWhileExpressionContext(_ctx, getState()); + enterRule(_localctx, 138, RULE_ruleXDoWhileExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(981); + match(T__81); + setState(982); + ruleXExpression(); + setState(983); + match(T__80); + setState(984); + match(T__16); + setState(985); + ruleXExpression(); + setState(986); + match(T__18); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXBlockExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() { + return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class); + } + public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) { + return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i); + } + public RuleXBlockExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXBlockExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBlockExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBlockExpression(this); + } + } + + public final RuleXBlockExpressionContext ruleXBlockExpression() throws RecognitionException { + RuleXBlockExpressionContext _localctx = new RuleXBlockExpressionContext(_ctx, getState()); + enterRule(_localctx, 140, RULE_ruleXBlockExpression); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(988); + match(T__1); + setState(995); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) { + { + { + setState(989); + ruleXExpressionOrVarDeclaration(); + setState(991); + _la = _input.LA(1); + if (_la==T__33) { + { + setState(990); + match(T__33); + } + } + + } + } + setState(997); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(998); + match(T__2); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXExpressionOrVarDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXVariableDeclarationContext ruleXVariableDeclaration() { + return getRuleContext(RuleXVariableDeclarationContext.class,0); + } + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXExpressionOrVarDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXExpressionOrVarDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpressionOrVarDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpressionOrVarDeclaration(this); + } + } + + public final RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration() throws RecognitionException { + RuleXExpressionOrVarDeclarationContext _localctx = new RuleXExpressionOrVarDeclarationContext(_ctx, getState()); + enterRule(_localctx, 142, RULE_ruleXExpressionOrVarDeclaration); + try { + enterOuterAlt(_localctx, 1); + { + setState(1002); + switch (_input.LA(1)) { + case T__82: + case T__83: + { + setState(1000); + ruleXVariableDeclaration(); + } + break; + case T__1: + case T__16: + case T__28: + case T__29: + case T__30: + case T__36: + case T__37: + case T__44: + case T__60: + case T__61: + case T__65: + case T__73: + case T__75: + case T__79: + case T__80: + case T__81: + case T__84: + case T__85: + case T__86: + case T__87: + case T__88: + case T__89: + case T__90: + case T__91: + case T__92: + case T__93: + case T__95: + case RULE_HEX: + case RULE_INT: + case RULE_DECIMAL: + case RULE_ID: + case RULE_STRING: + { + setState(1001); + ruleXExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXVariableDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleXVariableDeclarationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXVariableDeclaration; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXVariableDeclaration(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXVariableDeclaration(this); + } + } + + public final RuleXVariableDeclarationContext ruleXVariableDeclaration() throws RecognitionException { + RuleXVariableDeclarationContext _localctx = new RuleXVariableDeclarationContext(_ctx, getState()); + enterRule(_localctx, 144, RULE_ruleXVariableDeclaration); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1004); + _la = _input.LA(1); + if ( !(_la==T__82 || _la==T__83) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + setState(1009); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) { + case 1: + { + { + setState(1005); + ruleJvmTypeReference(); + setState(1006); + ruleValidID(); + } + } + break; + case 2: + { + setState(1008); + ruleValidID(); + } + break; + } + setState(1013); + _la = _input.LA(1); + if (_la==T__35) { + { + setState(1011); + match(T__35); + setState(1012); + ruleXExpression(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmFormalParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmFormalParameter(this); + } + } + + public final RuleJvmFormalParameterContext ruleJvmFormalParameter() throws RecognitionException { + RuleJvmFormalParameterContext _localctx = new RuleJvmFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 146, RULE_ruleJvmFormalParameter); + try { + enterOuterAlt(_localctx, 1); + { + setState(1016); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) { + case 1: + { + setState(1015); + ruleJvmTypeReference(); + } + break; + } + setState(1018); + ruleValidID(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFullJvmFormalParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleFullJvmFormalParameterContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFullJvmFormalParameter; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFullJvmFormalParameter(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFullJvmFormalParameter(this); + } + } + + public final RuleFullJvmFormalParameterContext ruleFullJvmFormalParameter() throws RecognitionException { + RuleFullJvmFormalParameterContext _localctx = new RuleFullJvmFormalParameterContext(_ctx, getState()); + enterRule(_localctx, 148, RULE_ruleFullJvmFormalParameter); + try { + enterOuterAlt(_localctx, 1); + { + setState(1020); + ruleJvmTypeReference(); + setState(1021); + ruleValidID(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXFeatureCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleIdOrSuperContext ruleIdOrSuper() { + return getRuleContext(RuleIdOrSuperContext.class,0); + } + public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() { + return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class); + } + public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) { + return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i); + } + public RuleXClosureContext ruleXClosure() { + return getRuleContext(RuleXClosureContext.class,0); + } + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXShortClosureContext ruleXShortClosure() { + return getRuleContext(RuleXShortClosureContext.class,0); + } + public RuleXFeatureCallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXFeatureCall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXFeatureCall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXFeatureCall(this); + } + } + + public final RuleXFeatureCallContext ruleXFeatureCall() throws RecognitionException { + RuleXFeatureCallContext _localctx = new RuleXFeatureCallContext(_ctx, getState()); + enterRule(_localctx, 150, RULE_ruleXFeatureCall); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1034); + _la = _input.LA(1); + if (_la==T__44) { + { + setState(1023); + match(T__44); + setState(1024); + ruleJvmArgumentTypeReference(); + setState(1029); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1025); + match(T__17); + setState(1026); + ruleJvmArgumentTypeReference(); + } + } + setState(1031); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1032); + match(T__45); + } + } + + setState(1036); + ruleIdOrSuper(); + setState(1050); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) { + case 1: + { + { + setState(1037); + match(T__16); + } + setState(1047); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) { + case 1: + { + { + setState(1038); + ruleXShortClosure(); + } + } + break; + case 2: + { + setState(1039); + ruleXExpression(); + setState(1044); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1040); + match(T__17); + setState(1041); + ruleXExpression(); + } + } + setState(1046); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + } + setState(1049); + match(T__18); + } + break; + } + setState(1053); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) { + case 1: + { + setState(1052); + ruleXClosure(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleFeatureCallIDContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleValidIDContext ruleValidID() { + return getRuleContext(RuleValidIDContext.class,0); + } + public RuleFeatureCallIDContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleFeatureCallID; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFeatureCallID(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFeatureCallID(this); + } + } + + public final RuleFeatureCallIDContext ruleFeatureCallID() throws RecognitionException { + RuleFeatureCallIDContext _localctx = new RuleFeatureCallIDContext(_ctx, getState()); + enterRule(_localctx, 152, RULE_ruleFeatureCallID); + try { + enterOuterAlt(_localctx, 1); + { + setState(1060); + switch (_input.LA(1)) { + case RULE_ID: + { + setState(1055); + ruleValidID(); + } + break; + case T__84: + { + setState(1056); + match(T__84); + } + break; + case T__29: + { + setState(1057); + match(T__29); + } + break; + case T__28: + { + setState(1058); + match(T__28); + } + break; + case T__30: + { + setState(1059); + match(T__30); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleIdOrSuperContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleFeatureCallIDContext ruleFeatureCallID() { + return getRuleContext(RuleFeatureCallIDContext.class,0); + } + public RuleIdOrSuperContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleIdOrSuper; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleIdOrSuper(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleIdOrSuper(this); + } + } + + public final RuleIdOrSuperContext ruleIdOrSuper() throws RecognitionException { + RuleIdOrSuperContext _localctx = new RuleIdOrSuperContext(_ctx, getState()); + enterRule(_localctx, 154, RULE_ruleIdOrSuper); + try { + enterOuterAlt(_localctx, 1); + { + setState(1064); + switch (_input.LA(1)) { + case T__28: + case T__29: + case T__30: + case T__84: + case RULE_ID: + { + setState(1062); + ruleFeatureCallID(); + } + break; + case T__85: + { + setState(1063); + match(T__85); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXConstructorCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() { + return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class); + } + public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) { + return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i); + } + public RuleXClosureContext ruleXClosure() { + return getRuleContext(RuleXClosureContext.class,0); + } + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXShortClosureContext ruleXShortClosure() { + return getRuleContext(RuleXShortClosureContext.class,0); + } + public RuleXConstructorCallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXConstructorCall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXConstructorCall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXConstructorCall(this); + } + } + + public final RuleXConstructorCallContext ruleXConstructorCall() throws RecognitionException { + RuleXConstructorCallContext _localctx = new RuleXConstructorCallContext(_ctx, getState()); + enterRule(_localctx, 156, RULE_ruleXConstructorCall); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1066); + match(T__86); + setState(1067); + ruleQualifiedName(); + setState(1079); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) { + case 1: + { + { + setState(1068); + match(T__44); + } + setState(1069); + ruleJvmArgumentTypeReference(); + setState(1074); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1070); + match(T__17); + setState(1071); + ruleJvmArgumentTypeReference(); + } + } + setState(1076); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1077); + match(T__45); + } + break; + } + setState(1094); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,123,_ctx) ) { + case 1: + { + { + setState(1081); + match(T__16); + } + setState(1091); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,122,_ctx) ) { + case 1: + { + { + setState(1082); + ruleXShortClosure(); + } + } + break; + case 2: + { + setState(1083); + ruleXExpression(); + setState(1088); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1084); + match(T__17); + setState(1085); + ruleXExpression(); + } + } + setState(1090); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + } + setState(1093); + match(T__18); + } + break; + } + setState(1097); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,124,_ctx) ) { + case 1: + { + setState(1096); + ruleXClosure(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXBooleanLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXBooleanLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXBooleanLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBooleanLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBooleanLiteral(this); + } + } + + public final RuleXBooleanLiteralContext ruleXBooleanLiteral() throws RecognitionException { + RuleXBooleanLiteralContext _localctx = new RuleXBooleanLiteralContext(_ctx, getState()); + enterRule(_localctx, 158, RULE_ruleXBooleanLiteral); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1099); + _la = _input.LA(1); + if ( !(_la==T__87 || _la==T__88) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXNullLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXNullLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXNullLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXNullLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXNullLiteral(this); + } + } + + public final RuleXNullLiteralContext ruleXNullLiteral() throws RecognitionException { + RuleXNullLiteralContext _localctx = new RuleXNullLiteralContext(_ctx, getState()); + enterRule(_localctx, 160, RULE_ruleXNullLiteral); + try { + enterOuterAlt(_localctx, 1); + { + setState(1101); + match(T__89); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXNumberLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleNumberContext ruleNumber() { + return getRuleContext(RuleNumberContext.class,0); + } + public RuleXNumberLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXNumberLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXNumberLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXNumberLiteral(this); + } + } + + public final RuleXNumberLiteralContext ruleXNumberLiteral() throws RecognitionException { + RuleXNumberLiteralContext _localctx = new RuleXNumberLiteralContext(_ctx, getState()); + enterRule(_localctx, 162, RULE_ruleXNumberLiteral); + try { + enterOuterAlt(_localctx, 1); + { + setState(1103); + ruleNumber(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXStringLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public TerminalNode RULE_STRING() { return getToken(CodebuffParser.RULE_STRING, 0); } + public RuleXStringLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXStringLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXStringLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXStringLiteral(this); + } + } + + public final RuleXStringLiteralContext ruleXStringLiteral() throws RecognitionException { + RuleXStringLiteralContext _localctx = new RuleXStringLiteralContext(_ctx, getState()); + enterRule(_localctx, 164, RULE_ruleXStringLiteral); + try { + enterOuterAlt(_localctx, 1); + { + setState(1105); + match(RULE_STRING); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXTypeLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public List<RuleArrayBracketsContext> ruleArrayBrackets() { + return getRuleContexts(RuleArrayBracketsContext.class); + } + public RuleArrayBracketsContext ruleArrayBrackets(int i) { + return getRuleContext(RuleArrayBracketsContext.class,i); + } + public RuleXTypeLiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXTypeLiteral; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXTypeLiteral(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXTypeLiteral(this); + } + } + + public final RuleXTypeLiteralContext ruleXTypeLiteral() throws RecognitionException { + RuleXTypeLiteralContext _localctx = new RuleXTypeLiteralContext(_ctx, getState()); + enterRule(_localctx, 166, RULE_ruleXTypeLiteral); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1107); + match(T__90); + setState(1108); + match(T__16); + setState(1109); + ruleQualifiedName(); + setState(1113); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__37) { + { + { + setState(1110); + ruleArrayBrackets(); + } + } + setState(1115); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1116); + match(T__18); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXThrowExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXThrowExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXThrowExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXThrowExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXThrowExpression(this); + } + } + + public final RuleXThrowExpressionContext ruleXThrowExpression() throws RecognitionException { + RuleXThrowExpressionContext _localctx = new RuleXThrowExpressionContext(_ctx, getState()); + enterRule(_localctx, 168, RULE_ruleXThrowExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(1118); + match(T__91); + setState(1119); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXReturnExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXReturnExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXReturnExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXReturnExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXReturnExpression(this); + } + } + + public final RuleXReturnExpressionContext ruleXReturnExpression() throws RecognitionException { + RuleXReturnExpressionContext _localctx = new RuleXReturnExpressionContext(_ctx, getState()); + enterRule(_localctx, 170, RULE_ruleXReturnExpression); + try { + enterOuterAlt(_localctx, 1); + { + setState(1121); + match(T__92); + setState(1123); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) { + case 1: + { + setState(1122); + ruleXExpression(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXTryCatchFinallyExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public List<RuleXCatchClauseContext> ruleXCatchClause() { + return getRuleContexts(RuleXCatchClauseContext.class); + } + public RuleXCatchClauseContext ruleXCatchClause(int i) { + return getRuleContext(RuleXCatchClauseContext.class,i); + } + public RuleXTryCatchFinallyExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXTryCatchFinallyExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXTryCatchFinallyExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXTryCatchFinallyExpression(this); + } + } + + public final RuleXTryCatchFinallyExpressionContext ruleXTryCatchFinallyExpression() throws RecognitionException { + RuleXTryCatchFinallyExpressionContext _localctx = new RuleXTryCatchFinallyExpressionContext(_ctx, getState()); + enterRule(_localctx, 172, RULE_ruleXTryCatchFinallyExpression); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1125); + match(T__93); + setState(1126); + ruleXExpression(); + setState(1138); + switch (_input.LA(1)) { + case T__96: + { + setState(1128); + _errHandler.sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + setState(1127); + ruleXCatchClause(); + } + } + break; + default: + throw new NoViableAltException(this); + } + setState(1130); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,127,_ctx); + } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ); + setState(1134); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,128,_ctx) ) { + case 1: + { + { + setState(1132); + match(T__94); + } + setState(1133); + ruleXExpression(); + } + break; + } + } + break; + case T__94: + { + setState(1136); + match(T__94); + setState(1137); + ruleXExpression(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXSynchronizedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXExpressionContext> ruleXExpression() { + return getRuleContexts(RuleXExpressionContext.class); + } + public RuleXExpressionContext ruleXExpression(int i) { + return getRuleContext(RuleXExpressionContext.class,i); + } + public RuleXSynchronizedExpressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXSynchronizedExpression; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSynchronizedExpression(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSynchronizedExpression(this); + } + } + + public final RuleXSynchronizedExpressionContext ruleXSynchronizedExpression() throws RecognitionException { + RuleXSynchronizedExpressionContext _localctx = new RuleXSynchronizedExpressionContext(_ctx, getState()); + enterRule(_localctx, 174, RULE_ruleXSynchronizedExpression); + try { + enterOuterAlt(_localctx, 1); + { + { + setState(1140); + match(T__95); + setState(1141); + match(T__16); + } + setState(1143); + ruleXExpression(); + setState(1144); + match(T__18); + setState(1145); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXCatchClauseContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleFullJvmFormalParameterContext ruleFullJvmFormalParameter() { + return getRuleContext(RuleFullJvmFormalParameterContext.class,0); + } + public RuleXExpressionContext ruleXExpression() { + return getRuleContext(RuleXExpressionContext.class,0); + } + public RuleXCatchClauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXCatchClause; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCatchClause(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCatchClause(this); + } + } + + public final RuleXCatchClauseContext ruleXCatchClause() throws RecognitionException { + RuleXCatchClauseContext _localctx = new RuleXCatchClauseContext(_ctx, getState()); + enterRule(_localctx, 176, RULE_ruleXCatchClause); + try { + enterOuterAlt(_localctx, 1); + { + { + setState(1147); + match(T__96); + } + setState(1148); + match(T__16); + setState(1149); + ruleFullJvmFormalParameter(); + setState(1150); + match(T__18); + setState(1151); + ruleXExpression(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleQualifiedNameContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleValidIDContext> ruleValidID() { + return getRuleContexts(RuleValidIDContext.class); + } + public RuleValidIDContext ruleValidID(int i) { + return getRuleContext(RuleValidIDContext.class,i); + } + public RuleQualifiedNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleQualifiedName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedName(this); + } + } + + public final RuleQualifiedNameContext ruleQualifiedName() throws RecognitionException { + RuleQualifiedNameContext _localctx = new RuleQualifiedNameContext(_ctx, getState()); + enterRule(_localctx, 178, RULE_ruleQualifiedName); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1153); + ruleValidID(); + setState(1158); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,130,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(1154); + match(T__69); + } + setState(1155); + ruleValidID(); + } + } + } + setState(1160); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,130,_ctx); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleNumberContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public TerminalNode RULE_HEX() { return getToken(CodebuffParser.RULE_HEX, 0); } + public List<TerminalNode> RULE_INT() { return getTokens(CodebuffParser.RULE_INT); } + public TerminalNode RULE_INT(int i) { + return getToken(CodebuffParser.RULE_INT, i); + } + public List<TerminalNode> RULE_DECIMAL() { return getTokens(CodebuffParser.RULE_DECIMAL); } + public TerminalNode RULE_DECIMAL(int i) { + return getToken(CodebuffParser.RULE_DECIMAL, i); + } + public RuleNumberContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleNumber; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleNumber(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleNumber(this); + } + } + + public final RuleNumberContext ruleNumber() throws RecognitionException { + RuleNumberContext _localctx = new RuleNumberContext(_ctx, getState()); + enterRule(_localctx, 180, RULE_ruleNumber); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1167); + switch (_input.LA(1)) { + case RULE_HEX: + { + setState(1161); + match(RULE_HEX); + } + break; + case RULE_INT: + case RULE_DECIMAL: + { + setState(1162); + _la = _input.LA(1); + if ( !(_la==RULE_INT || _la==RULE_DECIMAL) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + setState(1165); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) { + case 1: + { + setState(1163); + match(T__69); + setState(1164); + _la = _input.LA(1); + if ( !(_la==RULE_INT || _la==RULE_DECIMAL) ) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + break; + } + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() { + return getRuleContext(RuleJvmParameterizedTypeReferenceContext.class,0); + } + public RuleXFunctionTypeRefContext ruleXFunctionTypeRef() { + return getRuleContext(RuleXFunctionTypeRefContext.class,0); + } + public List<RuleArrayBracketsContext> ruleArrayBrackets() { + return getRuleContexts(RuleArrayBracketsContext.class); + } + public RuleArrayBracketsContext ruleArrayBrackets(int i) { + return getRuleContext(RuleArrayBracketsContext.class,i); + } + public RuleJvmTypeReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmTypeReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmTypeReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmTypeReference(this); + } + } + + public final RuleJvmTypeReferenceContext ruleJvmTypeReference() throws RecognitionException { + RuleJvmTypeReferenceContext _localctx = new RuleJvmTypeReferenceContext(_ctx, getState()); + enterRule(_localctx, 182, RULE_ruleJvmTypeReference); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1177); + switch (_input.LA(1)) { + case RULE_ID: + { + setState(1169); + ruleJvmParameterizedTypeReference(); + setState(1173); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,133,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(1170); + ruleArrayBrackets(); + } + } + } + setState(1175); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,133,_ctx); + } + } + break; + case T__16: + case T__57: + { + setState(1176); + ruleXFunctionTypeRef(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleArrayBracketsContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleArrayBracketsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleArrayBrackets; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleArrayBrackets(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleArrayBrackets(this); + } + } + + public final RuleArrayBracketsContext ruleArrayBrackets() throws RecognitionException { + RuleArrayBracketsContext _localctx = new RuleArrayBracketsContext(_ctx, getState()); + enterRule(_localctx, 184, RULE_ruleArrayBrackets); + try { + enterOuterAlt(_localctx, 1); + { + setState(1179); + match(T__37); + setState(1180); + match(T__38); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXFunctionTypeRefContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() { + return getRuleContexts(RuleJvmTypeReferenceContext.class); + } + public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) { + return getRuleContext(RuleJvmTypeReferenceContext.class,i); + } + public RuleXFunctionTypeRefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXFunctionTypeRef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXFunctionTypeRef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXFunctionTypeRef(this); + } + } + + public final RuleXFunctionTypeRefContext ruleXFunctionTypeRef() throws RecognitionException { + RuleXFunctionTypeRefContext _localctx = new RuleXFunctionTypeRefContext(_ctx, getState()); + enterRule(_localctx, 186, RULE_ruleXFunctionTypeRef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1194); + _la = _input.LA(1); + if (_la==T__16) { + { + setState(1182); + match(T__16); + setState(1191); + _la = _input.LA(1); + if (_la==T__16 || _la==T__57 || _la==RULE_ID) { + { + setState(1183); + ruleJvmTypeReference(); + setState(1188); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1184); + match(T__17); + setState(1185); + ruleJvmTypeReference(); + } + } + setState(1190); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + + setState(1193); + match(T__18); + } + } + + setState(1196); + match(T__57); + setState(1197); + ruleJvmTypeReference(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmParameterizedTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() { + return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class); + } + public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) { + return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i); + } + public List<RuleValidIDContext> ruleValidID() { + return getRuleContexts(RuleValidIDContext.class); + } + public RuleValidIDContext ruleValidID(int i) { + return getRuleContext(RuleValidIDContext.class,i); + } + public RuleJvmParameterizedTypeReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmParameterizedTypeReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmParameterizedTypeReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmParameterizedTypeReference(this); + } + } + + public final RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() throws RecognitionException { + RuleJvmParameterizedTypeReferenceContext _localctx = new RuleJvmParameterizedTypeReferenceContext(_ctx, getState()); + enterRule(_localctx, 188, RULE_ruleJvmParameterizedTypeReference); + int _la; + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1199); + ruleQualifiedName(); + setState(1230); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,142,_ctx) ) { + case 1: + { + { + setState(1200); + match(T__44); + } + setState(1201); + ruleJvmArgumentTypeReference(); + setState(1206); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1202); + match(T__17); + setState(1203); + ruleJvmArgumentTypeReference(); + } + } + setState(1208); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1209); + match(T__45); + setState(1227); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,141,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + { + setState(1210); + match(T__69); + } + setState(1211); + ruleValidID(); + setState(1223); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,140,_ctx) ) { + case 1: + { + { + setState(1212); + match(T__44); + } + setState(1213); + ruleJvmArgumentTypeReference(); + setState(1218); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__17) { + { + { + setState(1214); + match(T__17); + setState(1215); + ruleJvmArgumentTypeReference(); + } + } + setState(1220); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(1221); + match(T__45); + } + break; + } + } + } + } + setState(1229); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,141,_ctx); + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmArgumentTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmWildcardTypeReferenceContext ruleJvmWildcardTypeReference() { + return getRuleContext(RuleJvmWildcardTypeReferenceContext.class,0); + } + public RuleJvmArgumentTypeReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmArgumentTypeReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmArgumentTypeReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmArgumentTypeReference(this); + } + } + + public final RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference() throws RecognitionException { + RuleJvmArgumentTypeReferenceContext _localctx = new RuleJvmArgumentTypeReferenceContext(_ctx, getState()); + enterRule(_localctx, 190, RULE_ruleJvmArgumentTypeReference); + try { + enterOuterAlt(_localctx, 1); + { + setState(1234); + switch (_input.LA(1)) { + case T__16: + case T__57: + case RULE_ID: + { + setState(1232); + ruleJvmTypeReference(); + } + break; + case T__97: + { + setState(1233); + ruleJvmWildcardTypeReference(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmWildcardTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmUpperBoundContext ruleJvmUpperBound() { + return getRuleContext(RuleJvmUpperBoundContext.class,0); + } + public RuleJvmLowerBoundContext ruleJvmLowerBound() { + return getRuleContext(RuleJvmLowerBoundContext.class,0); + } + public List<RuleJvmUpperBoundAndedContext> ruleJvmUpperBoundAnded() { + return getRuleContexts(RuleJvmUpperBoundAndedContext.class); + } + public RuleJvmUpperBoundAndedContext ruleJvmUpperBoundAnded(int i) { + return getRuleContext(RuleJvmUpperBoundAndedContext.class,i); + } + public List<RuleJvmLowerBoundAndedContext> ruleJvmLowerBoundAnded() { + return getRuleContexts(RuleJvmLowerBoundAndedContext.class); + } + public RuleJvmLowerBoundAndedContext ruleJvmLowerBoundAnded(int i) { + return getRuleContext(RuleJvmLowerBoundAndedContext.class,i); + } + public RuleJvmWildcardTypeReferenceContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmWildcardTypeReference; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmWildcardTypeReference(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmWildcardTypeReference(this); + } + } + + public final RuleJvmWildcardTypeReferenceContext ruleJvmWildcardTypeReference() throws RecognitionException { + RuleJvmWildcardTypeReferenceContext _localctx = new RuleJvmWildcardTypeReferenceContext(_ctx, getState()); + enterRule(_localctx, 192, RULE_ruleJvmWildcardTypeReference); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1236); + match(T__97); + setState(1251); + switch (_input.LA(1)) { + case T__84: + { + setState(1237); + ruleJvmUpperBound(); + setState(1241); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__98) { + { + { + setState(1238); + ruleJvmUpperBoundAnded(); + } + } + setState(1243); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + case T__85: + { + setState(1244); + ruleJvmLowerBound(); + setState(1248); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__98) { + { + { + setState(1245); + ruleJvmLowerBoundAnded(); + } + } + setState(1250); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + break; + case T__17: + case T__45: + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmUpperBoundContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmUpperBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmUpperBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmUpperBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmUpperBound(this); + } + } + + public final RuleJvmUpperBoundContext ruleJvmUpperBound() throws RecognitionException { + RuleJvmUpperBoundContext _localctx = new RuleJvmUpperBoundContext(_ctx, getState()); + enterRule(_localctx, 194, RULE_ruleJvmUpperBound); + try { + enterOuterAlt(_localctx, 1); + { + setState(1253); + match(T__84); + setState(1254); + ruleJvmTypeReference(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmUpperBoundAndedContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmUpperBoundAndedContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmUpperBoundAnded; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmUpperBoundAnded(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmUpperBoundAnded(this); + } + } + + public final RuleJvmUpperBoundAndedContext ruleJvmUpperBoundAnded() throws RecognitionException { + RuleJvmUpperBoundAndedContext _localctx = new RuleJvmUpperBoundAndedContext(_ctx, getState()); + enterRule(_localctx, 196, RULE_ruleJvmUpperBoundAnded); + try { + enterOuterAlt(_localctx, 1); + { + setState(1256); + match(T__98); + setState(1257); + ruleJvmTypeReference(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmLowerBoundContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmLowerBoundContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmLowerBound; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmLowerBound(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmLowerBound(this); + } + } + + public final RuleJvmLowerBoundContext ruleJvmLowerBound() throws RecognitionException { + RuleJvmLowerBoundContext _localctx = new RuleJvmLowerBoundContext(_ctx, getState()); + enterRule(_localctx, 198, RULE_ruleJvmLowerBound); + try { + enterOuterAlt(_localctx, 1); + { + setState(1259); + match(T__85); + setState(1260); + ruleJvmTypeReference(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleJvmLowerBoundAndedContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleJvmTypeReferenceContext ruleJvmTypeReference() { + return getRuleContext(RuleJvmTypeReferenceContext.class,0); + } + public RuleJvmLowerBoundAndedContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleJvmLowerBoundAnded; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmLowerBoundAnded(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmLowerBoundAnded(this); + } + } + + public final RuleJvmLowerBoundAndedContext ruleJvmLowerBoundAnded() throws RecognitionException { + RuleJvmLowerBoundAndedContext _localctx = new RuleJvmLowerBoundAndedContext(_ctx, getState()); + enterRule(_localctx, 200, RULE_ruleJvmLowerBoundAnded); + try { + enterOuterAlt(_localctx, 1); + { + setState(1262); + match(T__98); + setState(1263); + ruleJvmTypeReference(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleQualifiedNameWithWildcardContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public RuleQualifiedNameContext ruleQualifiedName() { + return getRuleContext(RuleQualifiedNameContext.class,0); + } + public RuleQualifiedNameWithWildcardContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleQualifiedNameWithWildcard; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedNameWithWildcard(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedNameWithWildcard(this); + } + } + + public final RuleQualifiedNameWithWildcardContext ruleQualifiedNameWithWildcard() throws RecognitionException { + RuleQualifiedNameWithWildcardContext _localctx = new RuleQualifiedNameWithWildcardContext(_ctx, getState()); + enterRule(_localctx, 202, RULE_ruleQualifiedNameWithWildcard); + try { + enterOuterAlt(_localctx, 1); + { + setState(1265); + ruleQualifiedName(); + setState(1266); + match(T__69); + setState(1267); + match(T__31); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleValidIDContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); } + public RuleValidIDContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleValidID; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleValidID(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleValidID(this); + } + } + + public final RuleValidIDContext ruleValidID() throws RecognitionException { + RuleValidIDContext _localctx = new RuleValidIDContext(_ctx, getState()); + enterRule(_localctx, 204, RULE_ruleValidID); + try { + enterOuterAlt(_localctx, 1); + { + setState(1269); + match(RULE_ID); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleXImportSectionContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleXImportDeclarationContext> ruleXImportDeclaration() { + return getRuleContexts(RuleXImportDeclarationContext.class); + } + public RuleXImportDeclarationContext ruleXImportDeclaration(int i) { + return getRuleContext(RuleXImportDeclarationContext.class,i); + } + public RuleXImportSectionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleXImportSection; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXImportSection(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXImportSection(this); + } + } + + public final RuleXImportSectionContext ruleXImportSection() throws RecognitionException { + RuleXImportSectionContext _localctx = new RuleXImportSectionContext(_ctx, getState()); + enterRule(_localctx, 206, RULE_ruleXImportSection); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(1272); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(1271); + ruleXImportDeclaration(); + } + } + setState(1274); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==T__28 ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class RuleQualifiedNameInStaticImportContext extends org.antlr.v4.runtime.RuleContextWithAltNum { + public List<RuleValidIDContext> ruleValidID() { + return getRuleContexts(RuleValidIDContext.class); + } + public RuleValidIDContext ruleValidID(int i) { + return getRuleContext(RuleValidIDContext.class,i); + } + public RuleQualifiedNameInStaticImportContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_ruleQualifiedNameInStaticImport; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedNameInStaticImport(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedNameInStaticImport(this); + } + } + + public final RuleQualifiedNameInStaticImportContext ruleQualifiedNameInStaticImport() throws RecognitionException { + RuleQualifiedNameInStaticImportContext _localctx = new RuleQualifiedNameInStaticImportContext(_ctx, getState()); + enterRule(_localctx, 208, RULE_ruleQualifiedNameInStaticImport); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(1279); + _errHandler.sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + setState(1276); + ruleValidID(); + setState(1277); + match(T__69); + } + } + break; + default: + throw new NoViableAltException(this); + } + setState(1281); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,148,_ctx); + } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3n\u0506\4\2\t\2\4"+ + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+ + "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+ + "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+ + "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\5"+ + "\2\u00d6\n\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3\u00e4"+ + "\n\3\3\3\7\3\u00e7\n\3\f\3\16\3\u00ea\13\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4"+ + "\3\4\7\4\u00f4\n\4\f\4\16\4\u00f7\13\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5"+ + "\7\5\u0101\n\5\f\5\16\5\u0104\13\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\7\6"+ + "\u010e\n\6\f\6\16\6\u0111\13\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\7\7\u011a\n"+ + "\7\f\7\16\7\u011d\13\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\7\b\u0126\n\b\f\b\16"+ + "\b\u0129\13\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\7\t\u0132\n\t\f\t\16\t\u0135"+ + "\13\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3"+ + "\13\3\f\3\f\3\f\3\r\3\r\3\r\3\r\7\r\u014e\n\r\f\r\16\r\u0151\13\r\3\r"+ + "\3\r\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\7\17\u015d\n\17\f\17\16\17"+ + "\u0160\13\17\5\17\u0162\n\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3"+ + "\20\3\20\3\20\7\20\u016f\n\20\f\20\16\20\u0172\13\20\5\20\u0174\n\20\3"+ + "\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\7\21\u017f\n\21\f\21\16\21"+ + "\u0182\13\21\5\21\u0184\n\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3"+ + "\22\3\22\3\22\7\22\u0191\n\22\f\22\16\22\u0194\13\22\5\22\u0196\n\22\3"+ + "\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\7\23\u01a1\n\23\f\23\16\23"+ + "\u01a4\13\23\5\23\u01a6\n\23\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3"+ + "\24\7\24\u01b1\n\24\f\24\16\24\u01b4\13\24\5\24\u01b6\n\24\3\24\3\24\3"+ + "\24\3\25\3\25\3\25\3\25\3\25\3\25\7\25\u01c1\n\25\f\25\16\25\u01c4\13"+ + "\25\5\25\u01c6\n\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\7\26"+ + "\u01d1\n\26\f\26\16\26\u01d4\13\26\5\26\u01d6\n\26\3\26\3\26\3\26\3\27"+ + "\3\27\3\27\3\27\3\27\3\27\7\27\u01e1\n\27\f\27\16\27\u01e4\13\27\5\27"+ + "\u01e6\n\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\32\3\32\3\32\5\32"+ + "\u01f3\n\32\3\32\3\32\3\32\5\32\u01f8\n\32\3\32\3\32\3\32\3\32\5\32\u01fe"+ + "\n\32\3\32\5\32\u0201\n\32\3\33\3\33\3\33\3\33\3\33\3\33\7\33\u0209\n"+ + "\33\f\33\16\33\u020c\13\33\3\33\5\33\u020f\n\33\3\33\5\33\u0212\n\33\3"+ + "\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\7\35\u021f\n\35"+ + "\f\35\16\35\u0222\13\35\5\35\u0224\n\35\3\35\3\35\3\35\3\35\6\35\u022a"+ + "\n\35\r\35\16\35\u022b\5\35\u022e\n\35\5\35\u0230\n\35\3\36\3\36\3\36"+ + "\3\36\3\36\3\36\7\36\u0238\n\36\f\36\16\36\u023b\13\36\5\36\u023d\n\36"+ + "\3\36\3\36\5\36\u0241\n\36\3\37\3\37\5\37\u0245\n\37\3 \3 \3!\3!\3!\3"+ + "!\3!\3!\3!\3!\5!\u0251\n!\5!\u0253\n!\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#"+ + "\3#\3#\5#\u0261\n#\3#\5#\u0264\n#\3$\3$\3$\3$\7$\u026a\n$\f$\16$\u026d"+ + "\13$\3%\3%\3&\3&\3&\3&\7&\u0275\n&\f&\16&\u0278\13&\3\'\3\'\3(\3(\3(\3"+ + "(\7(\u0280\n(\f(\16(\u0283\13(\3)\3)\3*\3*\3*\3*\3*\3*\7*\u028d\n*\f*"+ + "\16*\u0290\13*\3+\3+\3+\3+\3+\5+\u0297\n+\3,\3,\3,\3,\7,\u029d\n,\f,\16"+ + ",\u02a0\13,\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\5-\u02ac\n-\3-\3-\3-\3-\3-\5"+ + "-\u02b3\n-\3-\3-\5-\u02b7\n-\3.\3.\3.\3.\7.\u02bd\n.\f.\16.\u02c0\13."+ + "\3/\3/\3\60\3\60\3\60\3\60\7\60\u02c8\n\60\f\60\16\60\u02cb\13\60\3\61"+ + "\3\61\3\62\3\62\3\62\3\62\5\62\u02d3\n\62\3\63\3\63\3\64\3\64\3\64\7\64"+ + "\u02da\n\64\f\64\16\64\u02dd\13\64\3\65\3\65\5\65\u02e1\n\65\3\66\3\66"+ + "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\7\67\u02f1"+ + "\n\67\f\67\16\67\u02f4\13\67\3\67\3\67\5\67\u02f8\n\67\3\67\3\67\3\67"+ + "\3\67\3\67\3\67\7\67\u0300\n\67\f\67\16\67\u0303\13\67\5\67\u0305\n\67"+ + "\3\67\5\67\u0308\n\67\3\67\5\67\u030b\n\67\7\67\u030d\n\67\f\67\16\67"+ + "\u0310\13\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\58\u0321\n8"+ + "\39\39\39\39\39\39\39\59\u032a\n9\3:\3:\5:\u032e\n:\3;\3;\3;\3;\3;\7;"+ + "\u0335\n;\f;\16;\u0338\13;\5;\u033a\n;\3;\3;\3<\3<\3<\3<\3<\7<\u0343\n"+ + "<\f<\16<\u0346\13<\5<\u0348\n<\3<\3<\3=\3=\3=\3=\7=\u0350\n=\f=\16=\u0353"+ + "\13=\5=\u0355\n=\3=\5=\u0358\n=\3=\3=\3=\3>\3>\5>\u035f\n>\7>\u0361\n"+ + ">\f>\16>\u0364\13>\3?\3?\3?\7?\u0369\n?\f?\16?\u036c\13?\5?\u036e\n?\3"+ + "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\5A\u037f\nA\3B\3B\3B\3B\3"+ + "B\3B\3B\3B\3B\3B\3B\5B\u038c\nB\3B\5B\u038f\nB\3B\3B\7B\u0393\nB\fB\16"+ + "B\u0396\13B\3B\3B\3B\5B\u039b\nB\3B\3B\3C\5C\u03a0\nC\3C\3C\5C\u03a4\n"+ + "C\3C\3C\3C\5C\u03a9\nC\3D\3D\3D\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\7E\u03b9"+ + "\nE\fE\16E\u03bc\13E\5E\u03be\nE\3E\3E\5E\u03c2\nE\3E\3E\3E\3E\7E\u03c8"+ + "\nE\fE\16E\u03cb\13E\5E\u03cd\nE\3E\3E\3E\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+ + "G\3G\3G\3G\3H\3H\3H\5H\u03e2\nH\7H\u03e4\nH\fH\16H\u03e7\13H\3H\3H\3I"+ + "\3I\5I\u03ed\nI\3J\3J\3J\3J\3J\5J\u03f4\nJ\3J\3J\5J\u03f8\nJ\3K\5K\u03fb"+ + "\nK\3K\3K\3L\3L\3L\3M\3M\3M\3M\7M\u0406\nM\fM\16M\u0409\13M\3M\3M\5M\u040d"+ + "\nM\3M\3M\3M\3M\3M\3M\7M\u0415\nM\fM\16M\u0418\13M\5M\u041a\nM\3M\5M\u041d"+ + "\nM\3M\5M\u0420\nM\3N\3N\3N\3N\3N\5N\u0427\nN\3O\3O\5O\u042b\nO\3P\3P"+ + "\3P\3P\3P\3P\7P\u0433\nP\fP\16P\u0436\13P\3P\3P\5P\u043a\nP\3P\3P\3P\3"+ + "P\3P\7P\u0441\nP\fP\16P\u0444\13P\5P\u0446\nP\3P\5P\u0449\nP\3P\5P\u044c"+ + "\nP\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3U\3U\7U\u045a\nU\fU\16U\u045d\13U\3"+ + "U\3U\3V\3V\3V\3W\3W\5W\u0466\nW\3X\3X\3X\6X\u046b\nX\rX\16X\u046c\3X\3"+ + "X\5X\u0471\nX\3X\3X\5X\u0475\nX\3Y\3Y\3Y\3Y\3Y\3Y\3Y\3Z\3Z\3Z\3Z\3Z\3"+ + "Z\3[\3[\3[\7[\u0487\n[\f[\16[\u048a\13[\3\\\3\\\3\\\3\\\5\\\u0490\n\\"+ + "\5\\\u0492\n\\\3]\3]\7]\u0496\n]\f]\16]\u0499\13]\3]\5]\u049c\n]\3^\3"+ + "^\3^\3_\3_\3_\3_\7_\u04a5\n_\f_\16_\u04a8\13_\5_\u04aa\n_\3_\5_\u04ad"+ + "\n_\3_\3_\3_\3`\3`\3`\3`\3`\7`\u04b7\n`\f`\16`\u04ba\13`\3`\3`\3`\3`\3"+ + "`\3`\3`\7`\u04c3\n`\f`\16`\u04c6\13`\3`\3`\5`\u04ca\n`\7`\u04cc\n`\f`"+ + "\16`\u04cf\13`\5`\u04d1\n`\3a\3a\5a\u04d5\na\3b\3b\3b\7b\u04da\nb\fb\16"+ + "b\u04dd\13b\3b\3b\7b\u04e1\nb\fb\16b\u04e4\13b\5b\u04e6\nb\3c\3c\3c\3"+ + "d\3d\3d\3e\3e\3e\3f\3f\3f\3g\3g\3g\3g\3h\3h\3i\6i\u04fb\ni\ri\16i\u04fc"+ + "\3j\3j\3j\6j\u0502\nj\rj\16j\u0503\3j\2\2k\2\4\6\b\n\f\16\20\22\24\26"+ + "\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|"+ + "~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096"+ + "\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae"+ + "\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6"+ + "\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\2\f\3\2\64\67\3\2?@\4\2\"\"AC\4\2"+ + "?@DD\3\2FG\3\2HI\3\2HJ\3\2UV\3\2Z[\3\2gh\u0564\2\u00d5\3\2\2\2\4\u00d9"+ + "\3\2\2\2\6\u00ed\3\2\2\2\b\u00fa\3\2\2\2\n\u0107\3\2\2\2\f\u0114\3\2\2"+ + "\2\16\u0120\3\2\2\2\20\u012c\3\2\2\2\22\u0138\3\2\2\2\24\u0143\3\2\2\2"+ + "\26\u0146\3\2\2\2\30\u0149\3\2\2\2\32\u0154\3\2\2\2\34\u0156\3\2\2\2\36"+ + "\u0168\3\2\2\2 \u0178\3\2\2\2\"\u018a\3\2\2\2$\u019a\3\2\2\2&\u01aa\3"+ + "\2\2\2(\u01ba\3\2\2\2*\u01ca\3\2\2\2,\u01da\3\2\2\2.\u01ea\3\2\2\2\60"+ + "\u01ed\3\2\2\2\62\u01ef\3\2\2\2\64\u0202\3\2\2\2\66\u0213\3\2\2\28\u022f"+ + "\3\2\2\2:\u0240\3\2\2\2<\u0244\3\2\2\2>\u0246\3\2\2\2@\u0252\3\2\2\2B"+ + "\u0254\3\2\2\2D\u0263\3\2\2\2F\u0265\3\2\2\2H\u026e\3\2\2\2J\u0270\3\2"+ + "\2\2L\u0279\3\2\2\2N\u027b\3\2\2\2P\u0284\3\2\2\2R\u0286\3\2\2\2T\u0296"+ + "\3\2\2\2V\u0298\3\2\2\2X\u02b6\3\2\2\2Z\u02b8\3\2\2\2\\\u02c1\3\2\2\2"+ + "^\u02c3\3\2\2\2`\u02cc\3\2\2\2b\u02d2\3\2\2\2d\u02d4\3\2\2\2f\u02d6\3"+ + "\2\2\2h\u02de\3\2\2\2j\u02e2\3\2\2\2l\u02e4\3\2\2\2n\u0320\3\2\2\2p\u0329"+ + "\3\2\2\2r\u032d\3\2\2\2t\u032f\3\2\2\2v\u033d\3\2\2\2x\u034b\3\2\2\2z"+ + "\u0362\3\2\2\2|\u036d\3\2\2\2~\u0373\3\2\2\2\u0080\u0377\3\2\2\2\u0082"+ + "\u0380\3\2\2\2\u0084\u039f\3\2\2\2\u0086\u03aa\3\2\2\2\u0088\u03b3\3\2"+ + "\2\2\u008a\u03d1\3\2\2\2\u008c\u03d7\3\2\2\2\u008e\u03de\3\2\2\2\u0090"+ + "\u03ec\3\2\2\2\u0092\u03ee\3\2\2\2\u0094\u03fa\3\2\2\2\u0096\u03fe\3\2"+ + "\2\2\u0098\u040c\3\2\2\2\u009a\u0426\3\2\2\2\u009c\u042a\3\2\2\2\u009e"+ + "\u042c\3\2\2\2\u00a0\u044d\3\2\2\2\u00a2\u044f\3\2\2\2\u00a4\u0451\3\2"+ + "\2\2\u00a6\u0453\3\2\2\2\u00a8\u0455\3\2\2\2\u00aa\u0460\3\2\2\2\u00ac"+ + "\u0463\3\2\2\2\u00ae\u0467\3\2\2\2\u00b0\u0476\3\2\2\2\u00b2\u047d\3\2"+ + "\2\2\u00b4\u0483\3\2\2\2\u00b6\u0491\3\2\2\2\u00b8\u049b\3\2\2\2\u00ba"+ + "\u049d\3\2\2\2\u00bc\u04ac\3\2\2\2\u00be\u04b1\3\2\2\2\u00c0\u04d4\3\2"+ + "\2\2\u00c2\u04d6\3\2\2\2\u00c4\u04e7\3\2\2\2\u00c6\u04ea\3\2\2\2\u00c8"+ + "\u04ed\3\2\2\2\u00ca\u04f0\3\2\2\2\u00cc\u04f3\3\2\2\2\u00ce\u04f7\3\2"+ + "\2\2\u00d0\u04fa\3\2\2\2\u00d2\u0501\3\2\2\2\u00d4\u00d6\5\u00d0i\2\u00d5"+ + "\u00d4\3\2\2\2\u00d5\u00d6\3\2\2\2\u00d6\u00d7\3\2\2\2\u00d7\u00d8\5\4"+ + "\3\2\u00d8\3\3\2\2\2\u00d9\u00da\7\3\2\2\u00da\u00db\5\u00b4[\2\u00db"+ + "\u00e8\7\4\2\2\u00dc\u00e4\5\6\4\2\u00dd\u00e4\5\b\5\2\u00de\u00e4\5\22"+ + "\n\2\u00df\u00e4\5\n\6\2\u00e0\u00e4\5\20\t\2\u00e1\u00e4\5\f\7\2\u00e2"+ + "\u00e4\5\16\b\2\u00e3\u00dc\3\2\2\2\u00e3\u00dd\3\2\2\2\u00e3\u00de\3"+ + "\2\2\2\u00e3\u00df\3\2\2\2\u00e3\u00e0\3\2\2\2\u00e3\u00e1\3\2\2\2\u00e3"+ + "\u00e2\3\2\2\2\u00e4\u00e7\3\2\2\2\u00e5\u00e7\5\30\r\2\u00e6\u00e3\3"+ + "\2\2\2\u00e6\u00e5\3\2\2\2\u00e7\u00ea\3\2\2\2\u00e8\u00e6\3\2\2\2\u00e8"+ + "\u00e9\3\2\2\2\u00e9\u00eb\3\2\2\2\u00ea\u00e8\3\2\2\2\u00eb\u00ec\7\5"+ + "\2\2\u00ec\5\3\2\2\2\u00ed\u00ee\7\6\2\2\u00ee\u00ef\5\u00ceh\2\u00ef"+ + "\u00f5\7\4\2\2\u00f0\u00f4\5\34\17\2\u00f1\u00f4\5\36\20\2\u00f2\u00f4"+ + "\5 \21\2\u00f3\u00f0\3\2\2\2\u00f3\u00f1\3\2\2\2\u00f3\u00f2\3\2\2\2\u00f4"+ + "\u00f7\3\2\2\2\u00f5\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f8\3\2"+ + "\2\2\u00f7\u00f5\3\2\2\2\u00f8\u00f9\7\5\2\2\u00f9\7\3\2\2\2\u00fa\u00fb"+ + "\7\7\2\2\u00fb\u00fc\5\u00ceh\2\u00fc\u0102\7\4\2\2\u00fd\u0101\5\34\17"+ + "\2\u00fe\u0101\5\36\20\2\u00ff\u0101\5 \21\2\u0100\u00fd\3\2\2\2\u0100"+ + "\u00fe\3\2\2\2\u0100\u00ff\3\2\2\2\u0101\u0104\3\2\2\2\u0102\u0100\3\2"+ + "\2\2\u0102\u0103\3\2\2\2\u0103\u0105\3\2\2\2\u0104\u0102\3\2\2\2\u0105"+ + "\u0106\7\5\2\2\u0106\t\3\2\2\2\u0107\u0108\7\b\2\2\u0108\u0109\5\u00ce"+ + "h\2\u0109\u010f\7\4\2\2\u010a\u010e\5$\23\2\u010b\u010e\5\"\22\2\u010c"+ + "\u010e\5\34\17\2\u010d\u010a\3\2\2\2\u010d\u010b\3\2\2\2\u010d\u010c\3"+ + "\2\2\2\u010e\u0111\3\2\2\2\u010f\u010d\3\2\2\2\u010f\u0110\3\2\2\2\u0110"+ + "\u0112\3\2\2\2\u0111\u010f\3\2\2\2\u0112\u0113\7\5\2\2\u0113\13\3\2\2"+ + "\2\u0114\u0115\7\t\2\2\u0115\u0116\5\u00ceh\2\u0116\u011b\7\4\2\2\u0117"+ + "\u011a\5&\24\2\u0118\u011a\5\34\17\2\u0119\u0117\3\2\2\2\u0119\u0118\3"+ + "\2\2\2\u011a\u011d\3\2\2\2\u011b\u0119\3\2\2\2\u011b\u011c\3\2\2\2\u011c"+ + "\u011e\3\2\2\2\u011d\u011b\3\2\2\2\u011e\u011f\7\5\2\2\u011f\r\3\2\2\2"+ + "\u0120\u0121\7\n\2\2\u0121\u0122\5\u00ceh\2\u0122\u0127\7\4\2\2\u0123"+ + "\u0126\5(\25\2\u0124\u0126\5\34\17\2\u0125\u0123\3\2\2\2\u0125\u0124\3"+ + "\2\2\2\u0126\u0129\3\2\2\2\u0127\u0125\3\2\2\2\u0127\u0128\3\2\2\2\u0128"+ + "\u012a\3\2\2\2\u0129\u0127\3\2\2\2\u012a\u012b\7\5\2\2\u012b\17\3\2\2"+ + "\2\u012c\u012d\7\13\2\2\u012d\u012e\5\u00ceh\2\u012e\u0133\7\4\2\2\u012f"+ + "\u0132\5*\26\2\u0130\u0132\5,\27\2\u0131\u012f\3\2\2\2\u0131\u0130\3\2"+ + "\2\2\u0132\u0135\3\2\2\2\u0133\u0131\3\2\2\2\u0133\u0134\3\2\2\2\u0134"+ + "\u0136\3\2\2\2\u0135\u0133\3\2\2\2\u0136\u0137\7\5\2\2\u0137\21\3\2\2"+ + "\2\u0138\u0139\7\f\2\2\u0139\u013a\5\u00ceh\2\u013a\u013b\7\4\2\2\u013b"+ + "\u013c\7\r\2\2\u013c\u013d\5\60\31\2\u013d\u013e\7\16\2\2\u013e\u013f"+ + "\5\60\31\2\u013f\u0140\5\24\13\2\u0140\u0141\5\26\f\2\u0141\u0142\7\5"+ + "\2\2\u0142\23\3\2\2\2\u0143\u0144\7\17\2\2\u0144\u0145\5\u008eH\2\u0145"+ + "\25\3\2\2\2\u0146\u0147\7\20\2\2\u0147\u0148\5\u008eH\2\u0148\27\3\2\2"+ + "\2\u0149\u014a\7\21\2\2\u014a\u014b\5\u00ceh\2\u014b\u014f\7\4\2\2\u014c"+ + "\u014e\5\32\16\2\u014d\u014c\3\2\2\2\u014e\u0151\3\2\2\2\u014f\u014d\3"+ + "\2\2\2\u014f\u0150\3\2\2\2\u0150\u0152\3\2\2\2\u0151\u014f\3\2\2\2\u0152"+ + "\u0153\7\5\2\2\u0153\31\3\2\2\2\u0154\u0155\5\u00ceh\2\u0155\33\3\2\2"+ + "\2\u0156\u0157\7\22\2\2\u0157\u0158\5\u00ceh\2\u0158\u0161\7\23\2\2\u0159"+ + "\u015e\5.\30\2\u015a\u015b\7\24\2\2\u015b\u015d\5.\30\2\u015c\u015a\3"+ + "\2\2\2\u015d\u0160\3\2\2\2\u015e\u015c\3\2\2\2\u015e\u015f\3\2\2\2\u015f"+ + "\u0162\3\2\2\2\u0160\u015e\3\2\2\2\u0161\u0159\3\2\2\2\u0161\u0162\3\2"+ + "\2\2\u0162\u0163\3\2\2\2\u0163\u0164\7\25\2\2\u0164\u0165\7\26\2\2\u0165"+ + "\u0166\5\u00be`\2\u0166\u0167\5\u008eH\2\u0167\35\3\2\2\2\u0168\u0169"+ + "\7\27\2\2\u0169\u016a\5\u00ceh\2\u016a\u0173\7\23\2\2\u016b\u0170\5.\30"+ + "\2\u016c\u016d\7\24\2\2\u016d\u016f\5.\30\2\u016e\u016c\3\2\2\2\u016f"+ + "\u0172\3\2\2\2\u0170\u016e\3\2\2\2\u0170\u0171\3\2\2\2\u0171\u0174\3\2"+ + "\2\2\u0172\u0170\3\2\2\2\u0173\u016b\3\2\2\2\u0173\u0174\3\2\2\2\u0174"+ + "\u0175\3\2\2\2\u0175\u0176\7\25\2\2\u0176\u0177\5\u008eH\2\u0177\37\3"+ + "\2\2\2\u0178\u0179\7\30\2\2\u0179\u017a\5\u00ceh\2\u017a\u0183\7\23\2"+ + "\2\u017b\u0180\5.\30\2\u017c\u017d\7\24\2\2\u017d\u017f\5.\30\2\u017e"+ + "\u017c\3\2\2\2\u017f\u0182\3\2\2\2\u0180\u017e\3\2\2\2\u0180\u0181\3\2"+ + "\2\2\u0181\u0184\3\2\2\2\u0182\u0180\3\2\2\2\u0183\u017b\3\2\2\2\u0183"+ + "\u0184\3\2\2\2\u0184\u0185\3\2\2\2\u0185\u0186\7\25\2\2\u0186\u0187\7"+ + "\26\2\2\u0187\u0188\7i\2\2\u0188\u0189\5\u008eH\2\u0189!\3\2\2\2\u018a"+ + "\u018b\7\31\2\2\u018b\u018c\5\u00ceh\2\u018c\u0195\7\23\2\2\u018d\u0192"+ + "\5.\30\2\u018e\u018f\7\24\2\2\u018f\u0191\5.\30\2\u0190\u018e\3\2\2\2"+ + "\u0191\u0194\3\2\2\2\u0192\u0190\3\2\2\2\u0192\u0193\3\2\2\2\u0193\u0196"+ + "\3\2\2\2\u0194\u0192\3\2\2\2\u0195\u018d\3\2\2\2\u0195\u0196\3\2\2\2\u0196"+ + "\u0197\3\2\2\2\u0197\u0198\7\25\2\2\u0198\u0199\5\u008eH\2\u0199#\3\2"+ + "\2\2\u019a\u019b\7\32\2\2\u019b\u019c\5\u00ceh\2\u019c\u01a5\7\23\2\2"+ + "\u019d\u01a2\5.\30\2\u019e\u019f\7\24\2\2\u019f\u01a1\5.\30\2\u01a0\u019e"+ + "\3\2\2\2\u01a1\u01a4\3\2\2\2\u01a2\u01a0\3\2\2\2\u01a2\u01a3\3\2\2\2\u01a3"+ + "\u01a6\3\2\2\2\u01a4\u01a2\3\2\2\2\u01a5\u019d\3\2\2\2\u01a5\u01a6\3\2"+ + "\2\2\u01a6\u01a7\3\2\2\2\u01a7\u01a8\7\25\2\2\u01a8\u01a9\5\u008eH\2\u01a9"+ + "%\3\2\2\2\u01aa\u01ab\7\33\2\2\u01ab\u01ac\5\u00ceh\2\u01ac\u01b5\7\23"+ + "\2\2\u01ad\u01b2\5.\30\2\u01ae\u01af\7\24\2\2\u01af\u01b1\5.\30\2\u01b0"+ + "\u01ae\3\2\2\2\u01b1\u01b4\3\2\2\2\u01b2\u01b0\3\2\2\2\u01b2\u01b3\3\2"+ + "\2\2\u01b3\u01b6\3\2\2\2\u01b4\u01b2\3\2\2\2\u01b5\u01ad\3\2\2\2\u01b5"+ + "\u01b6\3\2\2\2\u01b6\u01b7\3\2\2\2\u01b7\u01b8\7\25\2\2\u01b8\u01b9\5"+ + "\u008eH\2\u01b9\'\3\2\2\2\u01ba\u01bb\7\34\2\2\u01bb\u01bc\5\u00ceh\2"+ + "\u01bc\u01c5\7\23\2\2\u01bd\u01c2\5.\30\2\u01be\u01bf\7\24\2\2\u01bf\u01c1"+ + "\5.\30\2\u01c0\u01be\3\2\2\2\u01c1\u01c4\3\2\2\2\u01c2\u01c0\3\2\2\2\u01c2"+ + "\u01c3\3\2\2\2\u01c3\u01c6\3\2\2\2\u01c4\u01c2\3\2\2\2\u01c5\u01bd\3\2"+ + "\2\2\u01c5\u01c6\3\2\2\2\u01c6\u01c7\3\2\2\2\u01c7\u01c8\7\25\2\2\u01c8"+ + "\u01c9\5\u008eH\2\u01c9)\3\2\2\2\u01ca\u01cb\7\35\2\2\u01cb\u01cc\5\u00ce"+ + "h\2\u01cc\u01d5\7\23\2\2\u01cd\u01d2\5.\30\2\u01ce\u01cf\7\24\2\2\u01cf"+ + "\u01d1\5.\30\2\u01d0\u01ce\3\2\2\2\u01d1\u01d4\3\2\2\2\u01d2\u01d0\3\2"+ + "\2\2\u01d2\u01d3\3\2\2\2\u01d3\u01d6\3\2\2\2\u01d4\u01d2\3\2\2\2\u01d5"+ + "\u01cd\3\2\2\2\u01d5\u01d6\3\2\2\2\u01d6\u01d7\3\2\2\2\u01d7\u01d8\7\25"+ + "\2\2\u01d8\u01d9\5\u008eH\2\u01d9+\3\2\2\2\u01da\u01db\7\36\2\2\u01db"+ + "\u01dc\5\u00ceh\2\u01dc\u01e5\7\23\2\2\u01dd\u01e2\5.\30\2\u01de\u01df"+ + "\7\24\2\2\u01df\u01e1\5.\30\2\u01e0\u01de\3\2\2\2\u01e1\u01e4\3\2\2\2"+ + "\u01e2\u01e0\3\2\2\2\u01e2\u01e3\3\2\2\2\u01e3\u01e6\3\2\2\2\u01e4\u01e2"+ + "\3\2\2\2\u01e5\u01dd\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6\u01e7\3\2\2\2\u01e7"+ + "\u01e8\7\25\2\2\u01e8\u01e9\5\u008eH\2\u01e9-\3\2\2\2\u01ea\u01eb\5\u00b8"+ + "]\2\u01eb\u01ec\5\u00ceh\2\u01ec/\3\2\2\2\u01ed\u01ee\7i\2\2\u01ee\61"+ + "\3\2\2\2\u01ef\u01fd\7\37\2\2\u01f0\u01f2\7 \2\2\u01f1\u01f3\7!\2\2\u01f2"+ + "\u01f1\3\2\2\2\u01f2\u01f3\3\2\2\2\u01f3\u01f4\3\2\2\2\u01f4\u01f7\5\u00d2"+ + "j\2\u01f5\u01f8\7\"\2\2\u01f6\u01f8\5\u00ceh\2\u01f7\u01f5\3\2\2\2\u01f7"+ + "\u01f6\3\2\2\2\u01f8\u01fe\3\2\2\2\u01f9\u01fe\5\u00b4[\2\u01fa\u01fe"+ + "\5\u00ccg\2\u01fb\u01fc\7#\2\2\u01fc\u01fe\5\u00b4[\2\u01fd\u01f0\3\2"+ + "\2\2\u01fd\u01f9\3\2\2\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fe"+ + "\u0200\3\2\2\2\u01ff\u0201\7$\2\2\u0200\u01ff\3\2\2\2\u0200\u0201\3\2"+ + "\2\2\u0201\63\3\2\2\2\u0202\u0203\7%\2\2\u0203\u0211\5\u00b4[\2\u0204"+ + "\u020e\7\23\2\2\u0205\u020a\5\66\34\2\u0206\u0207\7\24\2\2\u0207\u0209"+ + "\5\66\34\2\u0208\u0206\3\2\2\2\u0209\u020c\3\2\2\2\u020a\u0208\3\2\2\2"+ + "\u020a\u020b\3\2\2\2\u020b\u020f\3\2\2\2\u020c\u020a\3\2\2\2\u020d\u020f"+ + "\58\35\2\u020e\u0205\3\2\2\2\u020e\u020d\3\2\2\2\u020e\u020f\3\2\2\2\u020f"+ + "\u0210\3\2\2\2\u0210\u0212\7\25\2\2\u0211\u0204\3\2\2\2\u0211\u0212\3"+ + "\2\2\2\u0212\65\3\2\2\2\u0213\u0214\5\u00ceh\2\u0214\u0215\7&\2\2\u0215"+ + "\u0216\3\2\2\2\u0216\u0217\5:\36\2\u0217\67\3\2\2\2\u0218\u0219\7\'\2"+ + "\2\u0219\u021a\7(\2\2\u021a\u0223\3\2\2\2\u021b\u0220\5<\37\2\u021c\u021d"+ + "\7\24\2\2\u021d\u021f\5<\37\2\u021e\u021c\3\2\2\2\u021f\u0222\3\2\2\2"+ + "\u0220\u021e\3\2\2\2\u0220\u0221\3\2\2\2\u0221\u0224\3\2\2\2\u0222\u0220"+ + "\3\2\2\2\u0223\u021b\3\2\2\2\u0223\u0224\3\2\2\2\u0224\u0225\3\2\2\2\u0225"+ + "\u0230\7)\2\2\u0226\u022d\5<\37\2\u0227\u0228\7\24\2\2\u0228\u022a\5<"+ + "\37\2\u0229\u0227\3\2\2\2\u022a\u022b\3\2\2\2\u022b\u0229\3\2\2\2\u022b"+ + "\u022c\3\2\2\2\u022c\u022e\3\2\2\2\u022d\u0229\3\2\2\2\u022d\u022e\3\2"+ + "\2\2\u022e\u0230\3\2\2\2\u022f\u0218\3\2\2\2\u022f\u0226\3\2\2\2\u0230"+ + "9\3\2\2\2\u0231\u0232\7\'\2\2\u0232\u0233\7(\2\2\u0233\u023c\3\2\2\2\u0234"+ + "\u0239\5<\37\2\u0235\u0236\7\24\2\2\u0236\u0238\5<\37\2\u0237\u0235\3"+ + "\2\2\2\u0238\u023b\3\2\2\2\u0239\u0237\3\2\2\2\u0239\u023a\3\2\2\2\u023a"+ + "\u023d\3\2\2\2\u023b\u0239\3\2\2\2\u023c\u0234\3\2\2\2\u023c\u023d\3\2"+ + "\2\2\u023d\u023e\3\2\2\2\u023e\u0241\7)\2\2\u023f\u0241\5<\37\2\u0240"+ + "\u0231\3\2\2\2\u0240\u023f\3\2\2\2\u0241;\3\2\2\2\u0242\u0245\5\64\33"+ + "\2\u0243\u0245\5> \2\u0244\u0242\3\2\2\2\u0244\u0243\3\2\2\2\u0245=\3"+ + "\2\2\2\u0246\u0247\5@!\2\u0247?\3\2\2\2\u0248\u0249\5\u009aN\2\u0249\u024a"+ + "\5B\"\2\u024a\u024b\5@!\2\u024b\u0253\3\2\2\2\u024c\u0250\5F$\2\u024d"+ + "\u024e\5D#\2\u024e\u024f\5@!\2\u024f\u0251\3\2\2\2\u0250\u024d\3\2\2\2"+ + "\u0250\u0251\3\2\2\2\u0251\u0253\3\2\2\2\u0252\u0248\3\2\2\2\u0252\u024c"+ + "\3\2\2\2\u0253A\3\2\2\2\u0254\u0255\7&\2\2\u0255C\3\2\2\2\u0256\u0264"+ + "\7*\2\2\u0257\u0264\7+\2\2\u0258\u0264\7,\2\2\u0259\u0264\7-\2\2\u025a"+ + "\u0264\7.\2\2\u025b\u025c\7/\2\2\u025c\u025d\7/\2\2\u025d\u0264\7&\2\2"+ + "\u025e\u0260\7\60\2\2\u025f\u0261\7\60\2\2\u0260\u025f\3\2\2\2\u0260\u0261"+ + "\3\2\2\2\u0261\u0262\3\2\2\2\u0262\u0264\7\61\2\2\u0263\u0256\3\2\2\2"+ + "\u0263\u0257\3\2\2\2\u0263\u0258\3\2\2\2\u0263\u0259\3\2\2\2\u0263\u025a"+ + "\3\2\2\2\u0263\u025b\3\2\2\2\u0263\u025e\3\2\2\2\u0264E\3\2\2\2\u0265"+ + "\u026b\5J&\2\u0266\u0267\5H%\2\u0267\u0268\5J&\2\u0268\u026a\3\2\2\2\u0269"+ + "\u0266\3\2\2\2\u026a\u026d\3\2\2\2\u026b\u0269\3\2\2\2\u026b\u026c\3\2"+ + "\2\2\u026cG\3\2\2\2\u026d\u026b\3\2\2\2\u026e\u026f\7\62\2\2\u026fI\3"+ + "\2\2\2\u0270\u0276\5N(\2\u0271\u0272\5L\'\2\u0272\u0273\5N(\2\u0273\u0275"+ + "\3\2\2\2\u0274\u0271\3\2\2\2\u0275\u0278\3\2\2\2\u0276\u0274\3\2\2\2\u0276"+ + "\u0277\3\2\2\2\u0277K\3\2\2\2\u0278\u0276\3\2\2\2\u0279\u027a\7\63\2\2"+ + "\u027aM\3\2\2\2\u027b\u0281\5R*\2\u027c\u027d\5P)\2\u027d\u027e\5R*\2"+ + "\u027e\u0280\3\2\2\2\u027f\u027c\3\2\2\2\u0280\u0283\3\2\2\2\u0281\u027f"+ + "\3\2\2\2\u0281\u0282\3\2\2\2\u0282O\3\2\2\2\u0283\u0281\3\2\2\2\u0284"+ + "\u0285\t\2\2\2\u0285Q\3\2\2\2\u0286\u028e\5V,\2\u0287\u0288\78\2\2\u0288"+ + "\u028d\5\u00b8]\2\u0289\u028a\5T+\2\u028a\u028b\5V,\2\u028b\u028d\3\2"+ + "\2\2\u028c\u0287\3\2\2\2\u028c\u0289\3\2\2\2\u028d\u0290\3\2\2\2\u028e"+ + "\u028c\3\2\2\2\u028e\u028f\3\2\2\2\u028fS\3\2\2\2\u0290\u028e\3\2\2\2"+ + "\u0291\u0297\7\61\2\2\u0292\u0293\7/\2\2\u0293\u0297\7&\2\2\u0294\u0297"+ + "\7\60\2\2\u0295\u0297\7/\2\2\u0296\u0291\3\2\2\2\u0296\u0292\3\2\2\2\u0296"+ + "\u0294\3\2\2\2\u0296\u0295\3\2\2\2\u0297U\3\2\2\2\u0298\u029e\5Z.\2\u0299"+ + "\u029a\5X-\2\u029a\u029b\5Z.\2\u029b\u029d\3\2\2\2\u029c\u0299\3\2\2\2"+ + "\u029d\u02a0\3\2\2\2\u029e\u029c\3\2\2\2\u029e\u029f\3\2\2\2\u029fW\3"+ + "\2\2\2\u02a0\u029e\3\2\2\2\u02a1\u02b7\79\2\2\u02a2\u02b7\7:\2\2\u02a3"+ + "\u02a4\7\60\2\2\u02a4\u02b7\7;\2\2\u02a5\u02b7\7;\2\2\u02a6\u02b7\7<\2"+ + "\2\u02a7\u02ab\7\60\2\2\u02a8\u02a9\7\60\2\2\u02a9\u02ac\7\60\2\2\u02aa"+ + "\u02ac\7\60\2\2\u02ab\u02a8\3\2\2\2\u02ab\u02aa\3\2\2\2\u02ac\u02b7\3"+ + "\2\2\2\u02ad\u02b2\7/\2\2\u02ae\u02af\7/\2\2\u02af\u02b3\7/\2\2\u02b0"+ + "\u02b3\7/\2\2\u02b1\u02b3\7<\2\2\u02b2\u02ae\3\2\2\2\u02b2\u02b0\3\2\2"+ + "\2\u02b2\u02b1\3\2\2\2\u02b3\u02b7\3\2\2\2\u02b4\u02b7\7=\2\2\u02b5\u02b7"+ + "\7>\2\2\u02b6\u02a1\3\2\2\2\u02b6\u02a2\3\2\2\2\u02b6\u02a3\3\2\2\2\u02b6"+ + "\u02a5\3\2\2\2\u02b6\u02a6\3\2\2\2\u02b6\u02a7\3\2\2\2\u02b6\u02ad\3\2"+ + "\2\2\u02b6\u02b4\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7Y\3\2\2\2\u02b8\u02be"+ + "\5^\60\2\u02b9\u02ba\5\\/\2\u02ba\u02bb\5^\60\2\u02bb\u02bd\3\2\2\2\u02bc"+ + "\u02b9\3\2\2\2\u02bd\u02c0\3\2\2\2\u02be\u02bc\3\2\2\2\u02be\u02bf\3\2"+ + "\2\2\u02bf[\3\2\2\2\u02c0\u02be\3\2\2\2\u02c1\u02c2\t\3\2\2\u02c2]\3\2"+ + "\2\2\u02c3\u02c9\5b\62\2\u02c4\u02c5\5`\61\2\u02c5\u02c6\5b\62\2\u02c6"+ + "\u02c8\3\2\2\2\u02c7\u02c4\3\2\2\2\u02c8\u02cb\3\2\2\2\u02c9\u02c7\3\2"+ + "\2\2\u02c9\u02ca\3\2\2\2\u02ca_\3\2\2\2\u02cb\u02c9\3\2\2\2\u02cc\u02cd"+ + "\t\4\2\2\u02cda\3\2\2\2\u02ce\u02cf\5d\63\2\u02cf\u02d0\5b\62\2\u02d0"+ + "\u02d3\3\2\2\2\u02d1\u02d3\5f\64\2\u02d2\u02ce\3\2\2\2\u02d2\u02d1\3\2"+ + "\2\2\u02d3c\3\2\2\2\u02d4\u02d5\t\5\2\2\u02d5e\3\2\2\2\u02d6\u02db\5h"+ + "\65\2\u02d7\u02d8\7E\2\2\u02d8\u02da\5\u00b8]\2\u02d9\u02d7\3\2\2\2\u02da"+ + "\u02dd\3\2\2\2\u02db\u02d9\3\2\2\2\u02db\u02dc\3\2\2\2\u02dcg\3\2\2\2"+ + "\u02dd\u02db\3\2\2\2\u02de\u02e0\5l\67\2\u02df\u02e1\5j\66\2\u02e0\u02df"+ + "\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1i\3\2\2\2\u02e2\u02e3\t\6\2\2\u02e3"+ + "k\3\2\2\2\u02e4\u030e\5n8\2\u02e5\u02e6\t\7\2\2\u02e6\u02e7\5\u009aN\2"+ + "\u02e7\u02e8\5B\"\2\u02e8\u02e9\3\2\2\2\u02e9\u02ea\5@!\2\u02ea\u030d"+ + "\3\2\2\2\u02eb\u02f7\t\b\2\2\u02ec\u02ed\7/\2\2\u02ed\u02f2\5\u00c0a\2"+ + "\u02ee\u02ef\7\24\2\2\u02ef\u02f1\5\u00c0a\2\u02f0\u02ee\3\2\2\2\u02f1"+ + "\u02f4\3\2\2\2\u02f2\u02f0\3\2\2\2\u02f2\u02f3\3\2\2\2\u02f3\u02f5\3\2"+ + "\2\2\u02f4\u02f2\3\2\2\2\u02f5\u02f6\7\60\2\2\u02f6\u02f8\3\2\2\2\u02f7"+ + "\u02ec\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8\u02f9\3\2\2\2\u02f9\u0307\5\u009c"+ + "O\2\u02fa\u0304\7\23\2\2\u02fb\u0305\5|?\2\u02fc\u0301\5> \2\u02fd\u02fe"+ + "\7\24\2\2\u02fe\u0300\5> \2\u02ff\u02fd\3\2\2\2\u0300\u0303\3\2\2\2\u0301"+ + "\u02ff\3\2\2\2\u0301\u0302\3\2\2\2\u0302\u0305\3\2\2\2\u0303\u0301\3\2"+ + "\2\2\u0304\u02fb\3\2\2\2\u0304\u02fc\3\2\2\2\u0304\u0305\3\2\2\2\u0305"+ + "\u0306\3\2\2\2\u0306\u0308\7\25\2\2\u0307\u02fa\3\2\2\2\u0307\u0308\3"+ + "\2\2\2\u0308\u030a\3\2\2\2\u0309\u030b\5x=\2\u030a\u0309\3\2\2\2\u030a"+ + "\u030b\3\2\2\2\u030b\u030d\3\2\2\2\u030c\u02e5\3\2\2\2\u030c\u02eb\3\2"+ + "\2\2\u030d\u0310\3\2\2\2\u030e\u030c\3\2\2\2\u030e\u030f\3\2\2\2\u030f"+ + "m\3\2\2\2\u0310\u030e\3\2\2\2\u0311\u0321\5\u009eP\2\u0312\u0321\5\u008e"+ + "H\2\u0313\u0321\5\u0082B\2\u0314\u0321\5\u00b0Y\2\u0315\u0321\5\u0098"+ + "M\2\u0316\u0321\5p9\2\u0317\u0321\5\u0080A\2\u0318\u0321\5\u0086D\2\u0319"+ + "\u0321\5\u0088E\2\u031a\u0321\5\u008aF\2\u031b\u0321\5\u008cG\2\u031c"+ + "\u0321\5\u00aaV\2\u031d\u0321\5\u00acW\2\u031e\u0321\5\u00aeX\2\u031f"+ + "\u0321\5~@\2\u0320\u0311\3\2\2\2\u0320\u0312\3\2\2\2\u0320\u0313\3\2\2"+ + "\2\u0320\u0314\3\2\2\2\u0320\u0315\3\2\2\2\u0320\u0316\3\2\2\2\u0320\u0317"+ + "\3\2\2\2\u0320\u0318\3\2\2\2\u0320\u0319\3\2\2\2\u0320\u031a\3\2\2\2\u0320"+ + "\u031b\3\2\2\2\u0320\u031c\3\2\2\2\u0320\u031d\3\2\2\2\u0320\u031e\3\2"+ + "\2\2\u0320\u031f\3\2\2\2\u0321o\3\2\2\2\u0322\u032a\5r:\2\u0323\u032a"+ + "\5x=\2\u0324\u032a\5\u00a0Q\2\u0325\u032a\5\u00a4S\2\u0326\u032a\5\u00a2"+ + "R\2\u0327\u032a\5\u00a6T\2\u0328\u032a\5\u00a8U\2\u0329\u0322\3\2\2\2"+ + "\u0329\u0323\3\2\2\2\u0329\u0324\3\2\2\2\u0329\u0325\3\2\2\2\u0329\u0326"+ + "\3\2\2\2\u0329\u0327\3\2\2\2\u0329\u0328\3\2\2\2\u032aq\3\2\2\2\u032b"+ + "\u032e\5t;\2\u032c\u032e\5v<\2\u032d\u032b\3\2\2\2\u032d\u032c\3\2\2\2"+ + "\u032es\3\2\2\2\u032f\u0330\7\'\2\2\u0330\u0339\7\4\2\2\u0331\u0336\5"+ + "> \2\u0332\u0333\7\24\2\2\u0333\u0335\5> \2\u0334\u0332\3\2\2\2\u0335"+ + "\u0338\3\2\2\2\u0336\u0334\3\2\2\2\u0336\u0337\3\2\2\2\u0337\u033a\3\2"+ + "\2\2\u0338\u0336\3\2\2\2\u0339\u0331\3\2\2\2\u0339\u033a\3\2\2\2\u033a"+ + "\u033b\3\2\2\2\u033b\u033c\7\5\2\2\u033cu\3\2\2\2\u033d\u033e\7\'\2\2"+ + "\u033e\u0347\7(\2\2\u033f\u0344\5> \2\u0340\u0341\7\24\2\2\u0341\u0343"+ + "\5> \2\u0342\u0340\3\2\2\2\u0343\u0346\3\2\2\2\u0344\u0342\3\2\2\2\u0344"+ + "\u0345\3\2\2\2\u0345\u0348\3\2\2\2\u0346\u0344\3\2\2\2\u0347\u033f\3\2"+ + "\2\2\u0347\u0348\3\2\2\2\u0348\u0349\3\2\2\2\u0349\u034a\7)\2\2\u034a"+ + "w\3\2\2\2\u034b\u0357\7(\2\2\u034c\u0351\5\u0094K\2\u034d\u034e\7\24\2"+ + "\2\u034e\u0350\5\u0094K\2\u034f\u034d\3\2\2\2\u0350\u0353\3\2\2\2\u0351"+ + "\u034f\3\2\2\2\u0351\u0352\3\2\2\2\u0352\u0355\3\2\2\2\u0353\u0351\3\2"+ + "\2\2\u0354\u034c\3\2\2\2\u0354\u0355\3\2\2\2\u0355\u0356\3\2\2\2\u0356"+ + "\u0358\7K\2\2\u0357\u0354\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\3\2"+ + "\2\2\u0359\u035a\5z>\2\u035a\u035b\7)\2\2\u035by\3\2\2\2\u035c\u035e\5"+ + "\u0090I\2\u035d\u035f\7$\2\2\u035e\u035d\3\2\2\2\u035e\u035f\3\2\2\2\u035f"+ + "\u0361\3\2\2\2\u0360\u035c\3\2\2\2\u0361\u0364\3\2\2\2\u0362\u0360\3\2"+ + "\2\2\u0362\u0363\3\2\2\2\u0363{\3\2\2\2\u0364\u0362\3\2\2\2\u0365\u036a"+ + "\5\u0094K\2\u0366\u0367\7\24\2\2\u0367\u0369\5\u0094K\2\u0368\u0366\3"+ + "\2\2\2\u0369\u036c\3\2\2\2\u036a\u0368\3\2\2\2\u036a\u036b\3\2\2\2\u036b"+ + "\u036e\3\2\2\2\u036c\u036a\3\2\2\2\u036d\u0365\3\2\2\2\u036d\u036e\3\2"+ + "\2\2\u036e\u036f\3\2\2\2\u036f\u0370\7K\2\2\u0370\u0371\3\2\2\2\u0371"+ + "\u0372\5> \2\u0372}\3\2\2\2\u0373\u0374\7\23\2\2\u0374\u0375\5> \2\u0375"+ + "\u0376\7\25\2\2\u0376\177\3\2\2\2\u0377\u0378\7L\2\2\u0378\u0379\7\23"+ + "\2\2\u0379\u037a\5> \2\u037a\u037b\7\25\2\2\u037b\u037e\5> \2\u037c\u037d"+ + "\7M\2\2\u037d\u037f\5> \2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f"+ + "\u0081\3\2\2\2\u0380\u038e\7N\2\2\u0381\u0382\7\23\2\2\u0382\u0383\5\u0094"+ + "K\2\u0383\u0384\7O\2\2\u0384\u0385\3\2\2\2\u0385\u0386\5> \2\u0386\u0387"+ + "\7\25\2\2\u0387\u038f\3\2\2\2\u0388\u0389\5\u0094K\2\u0389\u038a\7O\2"+ + "\2\u038a\u038c\3\2\2\2\u038b\u0388\3\2\2\2\u038b\u038c\3\2\2\2\u038c\u038d"+ + "\3\2\2\2\u038d\u038f\5> \2\u038e\u0381\3\2\2\2\u038e\u038b\3\2\2\2\u038f"+ + "\u0390\3\2\2\2\u0390\u0394\7\4\2\2\u0391\u0393\5\u0084C\2\u0392\u0391"+ + "\3\2\2\2\u0393\u0396\3\2\2\2\u0394\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395"+ + "\u039a\3\2\2\2\u0396\u0394\3\2\2\2\u0397\u0398\7P\2\2\u0398\u0399\7O\2"+ + "\2\u0399\u039b\5> \2\u039a\u0397\3\2\2\2\u039a\u039b\3\2\2\2\u039b\u039c"+ + "\3\2\2\2\u039c\u039d\7\5\2\2\u039d\u0083\3\2\2\2\u039e\u03a0\5\u00b8]"+ + "\2\u039f\u039e\3\2\2\2\u039f\u03a0\3\2\2\2\u03a0\u03a3\3\2\2\2\u03a1\u03a2"+ + "\7Q\2\2\u03a2\u03a4\5> \2\u03a3\u03a1\3\2\2\2\u03a3\u03a4\3\2\2\2\u03a4"+ + "\u03a8\3\2\2\2\u03a5\u03a6\7O\2\2\u03a6\u03a9\5> \2\u03a7\u03a9\7\24\2"+ + "\2\u03a8\u03a5\3\2\2\2\u03a8\u03a7\3\2\2\2\u03a9\u0085\3\2\2\2\u03aa\u03ab"+ + "\7R\2\2\u03ab\u03ac\7\23\2\2\u03ac\u03ad\5\u0094K\2\u03ad\u03ae\7O\2\2"+ + "\u03ae\u03af\3\2\2\2\u03af\u03b0\5> \2\u03b0\u03b1\7\25\2\2\u03b1\u03b2"+ + "\5> \2\u03b2\u0087\3\2\2\2\u03b3\u03b4\7R\2\2\u03b4\u03bd\7\23\2\2\u03b5"+ + "\u03ba\5\u0090I\2\u03b6\u03b7\7\24\2\2\u03b7\u03b9\5\u0090I\2\u03b8\u03b6"+ + "\3\2\2\2\u03b9\u03bc\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2\2\2\u03bb"+ + "\u03be\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bd\u03b5\3\2\2\2\u03bd\u03be\3\2"+ + "\2\2\u03be\u03bf\3\2\2\2\u03bf\u03c1\7$\2\2\u03c0\u03c2\5> \2\u03c1\u03c0"+ + "\3\2\2\2\u03c1\u03c2\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3\u03cc\7$\2\2\u03c4"+ + "\u03c9\5> \2\u03c5\u03c6\7\24\2\2\u03c6\u03c8\5> \2\u03c7\u03c5\3\2\2"+ + "\2\u03c8\u03cb\3\2\2\2\u03c9\u03c7\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cd"+ + "\3\2\2\2\u03cb\u03c9\3\2\2\2\u03cc\u03c4\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd"+ + "\u03ce\3\2\2\2\u03ce\u03cf\7\25\2\2\u03cf\u03d0\5> \2\u03d0\u0089\3\2"+ + "\2\2\u03d1\u03d2\7S\2\2\u03d2\u03d3\7\23\2\2\u03d3\u03d4\5> \2\u03d4\u03d5"+ + "\7\25\2\2\u03d5\u03d6\5> \2\u03d6\u008b\3\2\2\2\u03d7\u03d8\7T\2\2\u03d8"+ + "\u03d9\5> \2\u03d9\u03da\7S\2\2\u03da\u03db\7\23\2\2\u03db\u03dc\5> \2"+ + "\u03dc\u03dd\7\25\2\2\u03dd\u008d\3\2\2\2\u03de\u03e5\7\4\2\2\u03df\u03e1"+ + "\5\u0090I\2\u03e0\u03e2\7$\2\2\u03e1\u03e0\3\2\2\2\u03e1\u03e2\3\2\2\2"+ + "\u03e2\u03e4\3\2\2\2\u03e3\u03df\3\2\2\2\u03e4\u03e7\3\2\2\2\u03e5\u03e3"+ + "\3\2\2\2\u03e5\u03e6\3\2\2\2\u03e6\u03e8\3\2\2\2\u03e7\u03e5\3\2\2\2\u03e8"+ + "\u03e9\7\5\2\2\u03e9\u008f\3\2\2\2\u03ea\u03ed\5\u0092J\2\u03eb\u03ed"+ + "\5> \2\u03ec\u03ea\3\2\2\2\u03ec\u03eb\3\2\2\2\u03ed\u0091\3\2\2\2\u03ee"+ + "\u03f3\t\t\2\2\u03ef\u03f0\5\u00b8]\2\u03f0\u03f1\5\u00ceh\2\u03f1\u03f4"+ + "\3\2\2\2\u03f2\u03f4\5\u00ceh\2\u03f3\u03ef\3\2\2\2\u03f3\u03f2\3\2\2"+ + "\2\u03f4\u03f7\3\2\2\2\u03f5\u03f6\7&\2\2\u03f6\u03f8\5> \2\u03f7\u03f5"+ + "\3\2\2\2\u03f7\u03f8\3\2\2\2\u03f8\u0093\3\2\2\2\u03f9\u03fb\5\u00b8]"+ + "\2\u03fa\u03f9\3\2\2\2\u03fa\u03fb\3\2\2\2\u03fb\u03fc\3\2\2\2\u03fc\u03fd"+ + "\5\u00ceh\2\u03fd\u0095\3\2\2\2\u03fe\u03ff\5\u00b8]\2\u03ff\u0400\5\u00ce"+ + "h\2\u0400\u0097\3\2\2\2\u0401\u0402\7/\2\2\u0402\u0407\5\u00c0a\2\u0403"+ + "\u0404\7\24\2\2\u0404\u0406\5\u00c0a\2\u0405\u0403\3\2\2\2\u0406\u0409"+ + "\3\2\2\2\u0407\u0405\3\2\2\2\u0407\u0408\3\2\2\2\u0408\u040a\3\2\2\2\u0409"+ + "\u0407\3\2\2\2\u040a\u040b\7\60\2\2\u040b\u040d\3\2\2\2\u040c\u0401\3"+ + "\2\2\2\u040c\u040d\3\2\2\2\u040d\u040e\3\2\2\2\u040e\u041c\5\u009cO\2"+ + "\u040f\u0419\7\23\2\2\u0410\u041a\5|?\2\u0411\u0416\5> \2\u0412\u0413"+ + "\7\24\2\2\u0413\u0415\5> \2\u0414\u0412\3\2\2\2\u0415\u0418\3\2\2\2\u0416"+ + "\u0414\3\2\2\2\u0416\u0417\3\2\2\2\u0417\u041a\3\2\2\2\u0418\u0416\3\2"+ + "\2\2\u0419\u0410\3\2\2\2\u0419\u0411\3\2\2\2\u0419\u041a\3\2\2\2\u041a"+ + "\u041b\3\2\2\2\u041b\u041d\7\25\2\2\u041c\u040f\3\2\2\2\u041c\u041d\3"+ + "\2\2\2\u041d\u041f\3\2\2\2\u041e\u0420\5x=\2\u041f\u041e\3\2\2\2\u041f"+ + "\u0420\3\2\2\2\u0420\u0099\3\2\2\2\u0421\u0427\5\u00ceh\2\u0422\u0427"+ + "\7W\2\2\u0423\u0427\7 \2\2\u0424\u0427\7\37\2\2\u0425\u0427\7!\2\2\u0426"+ + "\u0421\3\2\2\2\u0426\u0422\3\2\2\2\u0426\u0423\3\2\2\2\u0426\u0424\3\2"+ + "\2\2\u0426\u0425\3\2\2\2\u0427\u009b\3\2\2\2\u0428\u042b\5\u009aN\2\u0429"+ + "\u042b\7X\2\2\u042a\u0428\3\2\2\2\u042a\u0429\3\2\2\2\u042b\u009d\3\2"+ + "\2\2\u042c\u042d\7Y\2\2\u042d\u0439\5\u00b4[\2\u042e\u042f\7/\2\2\u042f"+ + "\u0434\5\u00c0a\2\u0430\u0431\7\24\2\2\u0431\u0433\5\u00c0a\2\u0432\u0430"+ + "\3\2\2\2\u0433\u0436\3\2\2\2\u0434\u0432\3\2\2\2\u0434\u0435\3\2\2\2\u0435"+ + "\u0437\3\2\2\2\u0436\u0434\3\2\2\2\u0437\u0438\7\60\2\2\u0438\u043a\3"+ + "\2\2\2\u0439\u042e\3\2\2\2\u0439\u043a\3\2\2\2\u043a\u0448\3\2\2\2\u043b"+ + "\u0445\7\23\2\2\u043c\u0446\5|?\2\u043d\u0442\5> \2\u043e\u043f\7\24\2"+ + "\2\u043f\u0441\5> \2\u0440\u043e\3\2\2\2\u0441\u0444\3\2\2\2\u0442\u0440"+ + "\3\2\2\2\u0442\u0443\3\2\2\2\u0443\u0446\3\2\2\2\u0444\u0442\3\2\2\2\u0445"+ + "\u043c\3\2\2\2\u0445\u043d\3\2\2\2\u0445\u0446\3\2\2\2\u0446\u0447\3\2"+ + "\2\2\u0447\u0449\7\25\2\2\u0448\u043b\3\2\2\2\u0448\u0449\3\2\2\2\u0449"+ + "\u044b\3\2\2\2\u044a\u044c\5x=\2\u044b\u044a\3\2\2\2\u044b\u044c\3\2\2"+ + "\2\u044c\u009f\3\2\2\2\u044d\u044e\t\n\2\2\u044e\u00a1\3\2\2\2\u044f\u0450"+ + "\7\\\2\2\u0450\u00a3\3\2\2\2\u0451\u0452\5\u00b6\\\2\u0452\u00a5\3\2\2"+ + "\2\u0453\u0454\7j\2\2\u0454\u00a7\3\2\2\2\u0455\u0456\7]\2\2\u0456\u0457"+ + "\7\23\2\2\u0457\u045b\5\u00b4[\2\u0458\u045a\5\u00ba^\2\u0459\u0458\3"+ + "\2\2\2\u045a\u045d\3\2\2\2\u045b\u0459\3\2\2\2\u045b\u045c\3\2\2\2\u045c"+ + "\u045e\3\2\2\2\u045d\u045b\3\2\2\2\u045e\u045f\7\25\2\2\u045f\u00a9\3"+ + "\2\2\2\u0460\u0461\7^\2\2\u0461\u0462\5> \2\u0462\u00ab\3\2\2\2\u0463"+ + "\u0465\7_\2\2\u0464\u0466\5> \2\u0465\u0464\3\2\2\2\u0465\u0466\3\2\2"+ + "\2\u0466\u00ad\3\2\2\2\u0467\u0468\7`\2\2\u0468\u0474\5> \2\u0469\u046b"+ + "\5\u00b2Z\2\u046a\u0469\3\2\2\2\u046b\u046c\3\2\2\2\u046c\u046a\3\2\2"+ + "\2\u046c\u046d\3\2\2\2\u046d\u0470\3\2\2\2\u046e\u046f\7a\2\2\u046f\u0471"+ + "\5> \2\u0470\u046e\3\2\2\2\u0470\u0471\3\2\2\2\u0471\u0475\3\2\2\2\u0472"+ + "\u0473\7a\2\2\u0473\u0475\5> \2\u0474\u046a\3\2\2\2\u0474\u0472\3\2\2"+ + "\2\u0475\u00af\3\2\2\2\u0476\u0477\7b\2\2\u0477\u0478\7\23\2\2\u0478\u0479"+ + "\3\2\2\2\u0479\u047a\5> \2\u047a\u047b\7\25\2\2\u047b\u047c\5> \2\u047c"+ + "\u00b1\3\2\2\2\u047d\u047e\7c\2\2\u047e\u047f\7\23\2\2\u047f\u0480\5\u0096"+ + "L\2\u0480\u0481\7\25\2\2\u0481\u0482\5> \2\u0482\u00b3\3\2\2\2\u0483\u0488"+ + "\5\u00ceh\2\u0484\u0485\7H\2\2\u0485\u0487\5\u00ceh\2\u0486\u0484\3\2"+ + "\2\2\u0487\u048a\3\2\2\2\u0488\u0486\3\2\2\2\u0488\u0489\3\2\2\2\u0489"+ + "\u00b5\3\2\2\2\u048a\u0488\3\2\2\2\u048b\u0492\7f\2\2\u048c\u048f\t\13"+ + "\2\2\u048d\u048e\7H\2\2\u048e\u0490\t\13\2\2\u048f\u048d\3\2\2\2\u048f"+ + "\u0490\3\2\2\2\u0490\u0492\3\2\2\2\u0491\u048b\3\2\2\2\u0491\u048c\3\2"+ + "\2\2\u0492\u00b7\3\2\2\2\u0493\u0497\5\u00be`\2\u0494\u0496\5\u00ba^\2"+ + "\u0495\u0494\3\2\2\2\u0496\u0499\3\2\2\2\u0497\u0495\3\2\2\2\u0497\u0498"+ + "\3\2\2\2\u0498\u049c\3\2\2\2\u0499\u0497\3\2\2\2\u049a\u049c\5\u00bc_"+ + "\2\u049b\u0493\3\2\2\2\u049b\u049a\3\2\2\2\u049c\u00b9\3\2\2\2\u049d\u049e"+ + "\7(\2\2\u049e\u049f\7)\2\2\u049f\u00bb\3\2\2\2\u04a0\u04a9\7\23\2\2\u04a1"+ + "\u04a6\5\u00b8]\2\u04a2\u04a3\7\24\2\2\u04a3\u04a5\5\u00b8]\2\u04a4\u04a2"+ + "\3\2\2\2\u04a5\u04a8\3\2\2\2\u04a6\u04a4\3\2\2\2\u04a6\u04a7\3\2\2\2\u04a7"+ + "\u04aa\3\2\2\2\u04a8\u04a6\3\2\2\2\u04a9\u04a1\3\2\2\2\u04a9\u04aa\3\2"+ + "\2\2\u04aa\u04ab\3\2\2\2\u04ab\u04ad\7\25\2\2\u04ac\u04a0\3\2\2\2\u04ac"+ + "\u04ad\3\2\2\2\u04ad\u04ae\3\2\2\2\u04ae\u04af\7<\2\2\u04af\u04b0\5\u00b8"+ + "]\2\u04b0\u00bd\3\2\2\2\u04b1\u04d0\5\u00b4[\2\u04b2\u04b3\7/\2\2\u04b3"+ + "\u04b8\5\u00c0a\2\u04b4\u04b5\7\24\2\2\u04b5\u04b7\5\u00c0a\2\u04b6\u04b4"+ + "\3\2\2\2\u04b7\u04ba\3\2\2\2\u04b8\u04b6\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9"+ + "\u04bb\3\2\2\2\u04ba\u04b8\3\2\2\2\u04bb\u04cd\7\60\2\2\u04bc\u04bd\7"+ + "H\2\2\u04bd\u04c9\5\u00ceh\2\u04be\u04bf\7/\2\2\u04bf\u04c4\5\u00c0a\2"+ + "\u04c0\u04c1\7\24\2\2\u04c1\u04c3\5\u00c0a\2\u04c2\u04c0\3\2\2\2\u04c3"+ + "\u04c6\3\2\2\2\u04c4\u04c2\3\2\2\2\u04c4\u04c5\3\2\2\2\u04c5\u04c7\3\2"+ + "\2\2\u04c6\u04c4\3\2\2\2\u04c7\u04c8\7\60\2\2\u04c8\u04ca\3\2\2\2\u04c9"+ + "\u04be\3\2\2\2\u04c9\u04ca\3\2\2\2\u04ca\u04cc\3\2\2\2\u04cb\u04bc\3\2"+ + "\2\2\u04cc\u04cf\3\2\2\2\u04cd\u04cb\3\2\2\2\u04cd\u04ce\3\2\2\2\u04ce"+ + "\u04d1\3\2\2\2\u04cf\u04cd\3\2\2\2\u04d0\u04b2\3\2\2\2\u04d0\u04d1\3\2"+ + "\2\2\u04d1\u00bf\3\2\2\2\u04d2\u04d5\5\u00b8]\2\u04d3\u04d5\5\u00c2b\2"+ + "\u04d4\u04d2\3\2\2\2\u04d4\u04d3\3\2\2\2\u04d5\u00c1\3\2\2\2\u04d6\u04e5"+ + "\7d\2\2\u04d7\u04db\5\u00c4c\2\u04d8\u04da\5\u00c6d\2\u04d9\u04d8\3\2"+ + "\2\2\u04da\u04dd\3\2\2\2\u04db\u04d9\3\2\2\2\u04db\u04dc\3\2\2\2\u04dc"+ + "\u04e6\3\2\2\2\u04dd\u04db\3\2\2\2\u04de\u04e2\5\u00c8e\2\u04df\u04e1"+ + "\5\u00caf\2\u04e0\u04df\3\2\2\2\u04e1\u04e4\3\2\2\2\u04e2\u04e0\3\2\2"+ + "\2\u04e2\u04e3\3\2\2\2\u04e3\u04e6\3\2\2\2\u04e4\u04e2\3\2\2\2\u04e5\u04d7"+ + "\3\2\2\2\u04e5\u04de\3\2\2\2\u04e5\u04e6\3\2\2\2\u04e6\u00c3\3\2\2\2\u04e7"+ + "\u04e8\7W\2\2\u04e8\u04e9\5\u00b8]\2\u04e9\u00c5\3\2\2\2\u04ea\u04eb\7"+ + "e\2\2\u04eb\u04ec\5\u00b8]\2\u04ec\u00c7\3\2\2\2\u04ed\u04ee\7X\2\2\u04ee"+ + "\u04ef\5\u00b8]\2\u04ef\u00c9\3\2\2\2\u04f0\u04f1\7e\2\2\u04f1\u04f2\5"+ + "\u00b8]\2\u04f2\u00cb\3\2\2\2\u04f3\u04f4\5\u00b4[\2\u04f4\u04f5\7H\2"+ + "\2\u04f5\u04f6\7\"\2\2\u04f6\u00cd\3\2\2\2\u04f7\u04f8\7i\2\2\u04f8\u00cf"+ + "\3\2\2\2\u04f9\u04fb\5\62\32\2\u04fa\u04f9\3\2\2\2\u04fb\u04fc\3\2\2\2"+ + "\u04fc\u04fa\3\2\2\2\u04fc\u04fd\3\2\2\2\u04fd\u00d1\3\2\2\2\u04fe\u04ff"+ + "\5\u00ceh\2\u04ff\u0500\7H\2\2\u0500\u0502\3\2\2\2\u0501\u04fe\3\2\2\2"+ + "\u0502\u0503\3\2\2\2\u0503\u0501\3\2\2\2\u0503\u0504\3\2\2\2\u0504\u00d3"+ + "\3\2\2\2\u0097\u00d5\u00e3\u00e6\u00e8\u00f3\u00f5\u0100\u0102\u010d\u010f"+ + "\u0119\u011b\u0125\u0127\u0131\u0133\u014f\u015e\u0161\u0170\u0173\u0180"+ + "\u0183\u0192\u0195\u01a2\u01a5\u01b2\u01b5\u01c2\u01c5\u01d2\u01d5\u01e2"+ + "\u01e5\u01f2\u01f7\u01fd\u0200\u020a\u020e\u0211\u0220\u0223\u022b\u022d"+ + "\u022f\u0239\u023c\u0240\u0244\u0250\u0252\u0260\u0263\u026b\u0276\u0281"+ + "\u028c\u028e\u0296\u029e\u02ab\u02b2\u02b6\u02be\u02c9\u02d2\u02db\u02e0"+ + "\u02f2\u02f7\u0301\u0304\u0307\u030a\u030c\u030e\u0320\u0329\u032d\u0336"+ + "\u0339\u0344\u0347\u0351\u0354\u0357\u035e\u0362\u036a\u036d\u037e\u038b"+ + "\u038e\u0394\u039a\u039f\u03a3\u03a8\u03ba\u03bd\u03c1\u03c9\u03cc\u03e1"+ + "\u03e5\u03ec\u03f3\u03f7\u03fa\u0407\u040c\u0416\u0419\u041c\u041f\u0426"+ + "\u042a\u0434\u0439\u0442\u0445\u0448\u044b\u045b\u0465\u046c\u0470\u0474"+ + "\u0488\u048f\u0491\u0497\u049b\u04a6\u04a9\u04ac\u04b8\u04c4\u04c9\u04cd"+ + "\u04d0\u04d4\u04db\u04e2\u04e5\u04fc\u0503"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar b/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar new file mode 100644 index 0000000..d2f7677 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar Binary files differ
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java index 59b5c0e..6646481 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java
@@ -242,4 +242,10 @@ return FunctionLibraryDslJvmModelInferrer.class; } + // contributed by com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment + public void configureCodeBuff(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named("COMMENTRULE")).toInstance("RULE_SL_COMMENT"); + binder.bind(int.class).annotatedWith(Names.named("INDENT")).toInstance(4); + } + }
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 new file mode 100644 index 0000000..10542f8 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4
@@ -0,0 +1,1477 @@ +/** + * + * Copyright (c) 2011, 2017 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation + * + * generated by Xtext 2.11.0 + * + */ + +grammar Codebuff; +options {contextSuperClass=org.antlr.v4.runtime.RuleContextWithAltNum;} + +// Rule FunctionLibraryModel +ruleFunctionLibraryModel: + ruleXImportSection + ? + ruleFunctionLibraryPackage +; + +// Rule FunctionLibraryPackage +ruleFunctionLibraryPackage: + 'package' + ruleQualifiedName + '{' + ( + ( + ruleFunctionLibraryGroup + |ruleFunctionLibraryBlipGroup + |ruleFunctionLibraryConverterGroup + |ruleFunctionLibraryStatemachineGroup + |ruleFunctionLibraryActionGroup + |ruleFunctionLibraryValidationGroup + |ruleFunctionLibraryDialogGroup + ) + | + ruleFunctionLibraryRating + )* + '}' +; + +// Rule FunctionLibraryGroup +ruleFunctionLibraryGroup: + 'group' + ruleValidID + '{' + ( + ruleFunctionLibraryFunction + | + ruleFunctionLibraryTest + | + ruleFunctionLibraryRate + )* + '}' +; + +// Rule FunctionLibraryBlipGroup +ruleFunctionLibraryBlipGroup: + 'blip-group' + ruleValidID + '{' + ( + ruleFunctionLibraryFunction + | + ruleFunctionLibraryTest + | + ruleFunctionLibraryRate + )* + '}' +; + +// Rule FunctionLibraryStatemachineGroup +ruleFunctionLibraryStatemachineGroup: + 'statemachine' + ruleValidID + '{' + ( + ruleFunctionLibraryOperation + | + ruleFunctionLibraryGuard + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryValidationGroup +ruleFunctionLibraryValidationGroup: + 'validation' + ruleValidID + '{' + ( + ruleFunctionLibraryValidation + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryDialogGroup +ruleFunctionLibraryDialogGroup: + 'dialog' + ruleValidID + '{' + ( + ruleFunctionLibraryDialogHook + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryActionGroup +ruleFunctionLibraryActionGroup: + 'action' + ruleValidID + '{' + ( + ruleFunctionLibraryExecute + | + ruleFunctionLibraryCanExecute + )* + '}' +; + +// Rule FunctionLibraryConverterGroup +ruleFunctionLibraryConverterGroup: + 'converter' + ruleValidID + '{' + 'model-datatype' + ruleTYPE_CROSS_REFERENCE + 'presentation-datatype' + ruleTYPE_CROSS_REFERENCE + ruleFunctionConvertToModel + ruleFunctionConvertToPresentation + '}' +; + +// Rule FunctionConvertToModel +ruleFunctionConvertToModel: + 'to-model' + ruleXBlockExpression +; + +// Rule FunctionConvertToPresentation +ruleFunctionConvertToPresentation: + 'to-presentation' + ruleXBlockExpression +; + +// Rule FunctionLibraryRating +ruleFunctionLibraryRating: + 'rating' + ruleValidID + '{' + ruleFunctionLibraryRatingItem + * + '}' +; + +// Rule FunctionLibraryRatingItem +ruleFunctionLibraryRatingItem: + ruleValidID +; + +// Rule FunctionLibraryFunction +ruleFunctionLibraryFunction: + 'function' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + 'returns' + ruleJvmParameterizedTypeReference + ruleXBlockExpression +; + +// Rule FunctionLibraryTest +ruleFunctionLibraryTest: + 'test' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryRate +ruleFunctionLibraryRate: + 'rate' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + 'returns' + RULE_ID + ruleXBlockExpression +; + +// Rule FunctionLibraryGuard +ruleFunctionLibraryGuard: + 'guard' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryOperation +ruleFunctionLibraryOperation: + 'operation' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryValidation +ruleFunctionLibraryValidation: + 'validate' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryDialogHook +ruleFunctionLibraryDialogHook: + 'hook' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryExecute +ruleFunctionLibraryExecute: + 'execute' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryCanExecute +ruleFunctionLibraryCanExecute: + 'canExecute' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryParameter +ruleFunctionLibraryParameter: + ruleJvmTypeReference + ruleValidID +; + +// Rule TYPE_CROSS_REFERENCE +ruleTYPE_CROSS_REFERENCE: + RULE_ID +; + +// Rule XImportDeclaration +ruleXImportDeclaration: + 'import' + ( + 'static' + 'extension' + ? + ruleQualifiedNameInStaticImport + ( + '*' + | + ruleValidID + ) + | + ruleQualifiedName + | + ruleQualifiedNameWithWildcard + | + 'ns' + ruleQualifiedName + ) + ';'? +; + +// Rule XAnnotation +ruleXAnnotation: + '@' + ruleQualifiedName + ( + ( + '(' + ) + ( + ( + ruleXAnnotationElementValuePair + ) + ( + ',' + ( + ruleXAnnotationElementValuePair + ) + )* + | + ruleXAnnotationElementValueOrCommaList + )? + ')' + )? +; + +// Rule XAnnotationElementValuePair +ruleXAnnotationElementValuePair: + ( + ruleValidID + '=' + ) + ruleXAnnotationElementValue +; + +// Rule XAnnotationElementValueOrCommaList +ruleXAnnotationElementValueOrCommaList: + ( + ( + '#' + '[' + ) + ( + ruleXAnnotationOrExpression + ( + ',' + ruleXAnnotationOrExpression + )* + )? + ']' + | + ruleXAnnotationOrExpression + ( + ( + ',' + ruleXAnnotationOrExpression + )+ + )? + ) +; + +// Rule XAnnotationElementValue +ruleXAnnotationElementValue: + ( + ( + '#' + '[' + ) + ( + ruleXAnnotationOrExpression + ( + ',' + ruleXAnnotationOrExpression + )* + )? + ']' + | + ruleXAnnotationOrExpression + ) +; + +// Rule XAnnotationOrExpression +ruleXAnnotationOrExpression: + ( + ruleXAnnotation + | + ruleXExpression + ) +; + +// Rule XExpression +ruleXExpression: + ruleXAssignment +; + +// Rule XAssignment +ruleXAssignment: + ( + ruleFeatureCallID + ruleOpSingleAssign + ruleXAssignment + | + ruleXOrExpression + ( + ( + ruleOpMultiAssign + ) + ruleXAssignment + )? + ) +; + +// Rule OpSingleAssign +ruleOpSingleAssign: + '=' +; + +// Rule OpMultiAssign +ruleOpMultiAssign: + ( + '+=' + | + '-=' + | + '*=' + | + '/=' + | + '%=' + | + '<' + '<' + '=' + | + '>' + '>'? + '>=' + ) +; + +// Rule XOrExpression +ruleXOrExpression: + ruleXAndExpression + ( + ( + ruleOpOr + ) + ruleXAndExpression + )* +; + +// Rule OpOr +ruleOpOr: + '||' +; + +// Rule XAndExpression +ruleXAndExpression: + ruleXEqualityExpression + ( + ( + ruleOpAnd + ) + ruleXEqualityExpression + )* +; + +// Rule OpAnd +ruleOpAnd: + '&&' +; + +// Rule XEqualityExpression +ruleXEqualityExpression: + ruleXRelationalExpression + ( + ( + ruleOpEquality + ) + ruleXRelationalExpression + )* +; + +// Rule OpEquality +ruleOpEquality: + ( + '==' + | + '!=' + | + '===' + | + '!==' + ) +; + +// Rule XRelationalExpression +ruleXRelationalExpression: + ruleXOtherOperatorExpression + ( + ( + 'instanceof' + ) + ruleJvmTypeReference + | + ( + ruleOpCompare + ) + ruleXOtherOperatorExpression + )* +; + +// Rule OpCompare +ruleOpCompare: + ( + '>=' + | + '<' + '=' + | + '>' + | + '<' + ) +; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression: + ruleXAdditiveExpression + ( + ( + ruleOpOther + ) + ruleXAdditiveExpression + )* +; + +// Rule OpOther +ruleOpOther: + ( + '->' + | + '..<' + | + '>' + '..' + | + '..' + | + '=>' + | + '>' + ( + ( + '>' + '>' + ) + | + '>' + ) + | + '<' + ( + ( + '<' + '<' + ) + | + '<' + | + '=>' + ) + | + '<>' + | + '?:' + ) +; + +// Rule XAdditiveExpression +ruleXAdditiveExpression: + ruleXMultiplicativeExpression + ( + ( + ruleOpAdd + ) + ruleXMultiplicativeExpression + )* +; + +// Rule OpAdd +ruleOpAdd: + ( + '+' + | + '-' + ) +; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression: + ruleXUnaryOperation + ( + ( + ruleOpMulti + ) + ruleXUnaryOperation + )* +; + +// Rule OpMulti +ruleOpMulti: + ( + '*' + | + '**' + | + '/' + | + '%' + ) +; + +// Rule XUnaryOperation +ruleXUnaryOperation: + ( + ruleOpUnary + ruleXUnaryOperation + | + ruleXCastedExpression + ) +; + +// Rule OpUnary +ruleOpUnary: + ( + '!' + | + '-' + | + '+' + ) +; + +// Rule XCastedExpression +ruleXCastedExpression: + ruleXPostfixOperation + ( + ( + 'as' + ) + ruleJvmTypeReference + )* +; + +// Rule XPostfixOperation +ruleXPostfixOperation: + ruleXMemberFeatureCall + ( + ruleOpPostfix + )? +; + +// Rule OpPostfix +ruleOpPostfix: + ( + '++' + | + '--' + ) +; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall: + ruleXPrimaryExpression + ( + ( + ( + '.' + | + '::' + ) + ruleFeatureCallID + ruleOpSingleAssign + ) + ruleXAssignment + | + ( + ( + '.' + | + '?.' + | + '::' + ) + ) + ( + '<' + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ruleIdOrSuper + ( + ( + '(' + ) + ( + ( + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ruleXClosure + )? + )* +; + +// Rule XPrimaryExpression +ruleXPrimaryExpression: + ( + ruleXConstructorCall + | + ruleXBlockExpression + | + ruleXSwitchExpression + | + ( + ruleXSynchronizedExpression + ) + | + ruleXFeatureCall + | + ruleXLiteral + | + ruleXIfExpression + | + ( + ruleXForLoopExpression + ) + | + ruleXBasicForLoopExpression + | + ruleXWhileExpression + | + ruleXDoWhileExpression + | + ruleXThrowExpression + | + ruleXReturnExpression + | + ruleXTryCatchFinallyExpression + | + ruleXParenthesizedExpression + ) +; + +// Rule XLiteral +ruleXLiteral: + ( + ruleXCollectionLiteral + | + ( + ruleXClosure + ) + | + ruleXBooleanLiteral + | + ruleXNumberLiteral + | + ruleXNullLiteral + | + ruleXStringLiteral + | + ruleXTypeLiteral + ) +; + +// Rule XCollectionLiteral +ruleXCollectionLiteral: + ( + ruleXSetLiteral + | + ruleXListLiteral + ) +; + +// Rule XSetLiteral +ruleXSetLiteral: + '#' + '{' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + '}' +; + +// Rule XListLiteral +ruleXListLiteral: + '#' + '[' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ']' +; + +// Rule XClosure +ruleXClosure: + ( + '[' + ) + ( + ( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )? + ruleXExpressionInClosure + ']' +; + +// Rule XExpressionInClosure +ruleXExpressionInClosure: + ( + ruleXExpressionOrVarDeclaration + ';'? + )* +; + +// Rule XShortClosure +ruleXShortClosure: + ( + ( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + ) + ruleXExpression +; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression: + '(' + ruleXExpression + ')' +; + +// Rule XIfExpression +ruleXIfExpression: + 'if' + '(' + ruleXExpression + ')' + ruleXExpression + ( + ( + 'else' + ) + ruleXExpression + )? +; + +// Rule XSwitchExpression +ruleXSwitchExpression: + 'switch' + ( + ( + '(' + ruleJvmFormalParameter + ':' + ) + ruleXExpression + ')' + | + ( + ruleJvmFormalParameter + ':' + )? + ruleXExpression + ) + '{' + ruleXCasePart + * + ( + 'default' + ':' + ruleXExpression + )? + '}' +; + +// Rule XCasePart +ruleXCasePart: + ruleJvmTypeReference + ? + ( + 'case' + ruleXExpression + )? + ( + ':' + ruleXExpression + | + ',' + ) +; + +// Rule XForLoopExpression +ruleXForLoopExpression: + ( + 'for' + '(' + ruleJvmFormalParameter + ':' + ) + ruleXExpression + ')' + ruleXExpression +; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression: + 'for' + '(' + ( + ruleXExpressionOrVarDeclaration + ( + ',' + ruleXExpressionOrVarDeclaration + )* + )? + ';' + ruleXExpression + ? + ';' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + ruleXExpression +; + +// Rule XWhileExpression +ruleXWhileExpression: + 'while' + '(' + ruleXExpression + ')' + ruleXExpression +; + +// Rule XDoWhileExpression +ruleXDoWhileExpression: + 'do' + ruleXExpression + 'while' + '(' + ruleXExpression + ')' +; + +// Rule XBlockExpression +ruleXBlockExpression: + '{' + ( + ruleXExpressionOrVarDeclaration + ';'? + )* + '}' +; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration: + ( + ruleXVariableDeclaration + | + ruleXExpression + ) +; + +// Rule XVariableDeclaration +ruleXVariableDeclaration: + ( + 'var' + | + 'val' + ) + ( + ( + ruleJvmTypeReference + ruleValidID + ) + | + ruleValidID + ) + ( + '=' + ruleXExpression + )? +; + +// Rule JvmFormalParameter +ruleJvmFormalParameter: + ruleJvmTypeReference + ? + ruleValidID +; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter: + ruleJvmTypeReference + ruleValidID +; + +// Rule XFeatureCall +ruleXFeatureCall: + ( + '<' + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ruleIdOrSuper + ( + ( + '(' + ) + ( + ( + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ruleXClosure + )? +; + +// Rule FeatureCallID +ruleFeatureCallID: + ( + ruleValidID + | + 'extends' + | + 'static' + | + 'import' + | + 'extension' + ) +; + +// Rule IdOrSuper +ruleIdOrSuper: + ( + ruleFeatureCallID + | + 'super' + ) +; + +// Rule XConstructorCall +ruleXConstructorCall: + 'new' + ruleQualifiedName + ( + ( + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ( + ( + '(' + ) + ( + ( + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ruleXClosure + )? +; + +// Rule XBooleanLiteral +ruleXBooleanLiteral: + ( + 'false' + | + 'true' + ) +; + +// Rule XNullLiteral +ruleXNullLiteral: + 'null' +; + +// Rule XNumberLiteral +ruleXNumberLiteral: + ruleNumber +; + +// Rule XStringLiteral +ruleXStringLiteral: + RULE_STRING +; + +// Rule XTypeLiteral +ruleXTypeLiteral: + 'typeof' + '(' + ruleQualifiedName + ruleArrayBrackets + * + ')' +; + +// Rule XThrowExpression +ruleXThrowExpression: + 'throw' + ruleXExpression +; + +// Rule XReturnExpression +ruleXReturnExpression: + 'return' + ( + ruleXExpression + )? +; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression: + 'try' + ruleXExpression + ( + ( + ruleXCatchClause + )+ + ( + ( + 'finally' + ) + ruleXExpression + )? + | + 'finally' + ruleXExpression + ) +; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression: + ( + 'synchronized' + '(' + ) + ruleXExpression + ')' + ruleXExpression +; + +// Rule XCatchClause +ruleXCatchClause: + ( + 'catch' + ) + '(' + ruleFullJvmFormalParameter + ')' + ruleXExpression +; + +// Rule QualifiedName +ruleQualifiedName: + ruleValidID + ( + ( + '.' + ) + ruleValidID + )* +; + +// Rule Number +ruleNumber: + ( + RULE_HEX + | + ( + RULE_INT + | + RULE_DECIMAL + ) + ( + '.' + ( + RULE_INT + | + RULE_DECIMAL + ) + )? + ) +; + +// Rule JvmTypeReference +ruleJvmTypeReference: + ( + ruleJvmParameterizedTypeReference + ( + ruleArrayBrackets + )* + | + ruleXFunctionTypeRef + ) +; + +// Rule ArrayBrackets +ruleArrayBrackets: + '[' + ']' +; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef: + ( + '(' + ( + ruleJvmTypeReference + ( + ',' + ruleJvmTypeReference + )* + )? + ')' + )? + '=>' + ruleJvmTypeReference +; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference: + ruleQualifiedName + ( + ( + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + ( + ( + '.' + ) + ruleValidID + ( + ( + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + )* + )? +; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference: + ( + ruleJvmTypeReference + | + ruleJvmWildcardTypeReference + ) +; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference: + '?' + ( + ruleJvmUpperBound + ruleJvmUpperBoundAnded + * + | + ruleJvmLowerBound + ruleJvmLowerBoundAnded + * + )? +; + +// Rule JvmUpperBound +ruleJvmUpperBound: + 'extends' + ruleJvmTypeReference +; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded: + '&' + ruleJvmTypeReference +; + +// Rule JvmLowerBound +ruleJvmLowerBound: + 'super' + ruleJvmTypeReference +; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded: + '&' + ruleJvmTypeReference +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard: + ruleQualifiedName + '.' + '*' +; + +// Rule ValidID +ruleValidID: + RULE_ID +; + +// Rule XImportSection +ruleXImportSection: + ruleXImportDeclaration + + +; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport: + ( + ruleValidID + '.' + )+ +; + +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; + +RULE_STRING : ('"' ('\\' .|~('\\'|'"'))* '"'?|'\'' ('\\' .|~('\\'|'\''))* '\''?); + +RULE_ML_COMMENT : '/*' *?'*/' -> channel(HIDDEN); + +RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? -> channel(HIDDEN); + +RULE_WS : (' '|'\t'|'\r'|'\n')+ -> channel(HIDDEN); + +RULE_ANY_OTHER : .;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g new file mode 100644 index 0000000..e7acff0 --- /dev/null +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g
@@ -0,0 +1,1636 @@ +/** + * + * Copyright (c) 2011, 2017 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation + * + * generated by Xtext 2.11.0 + * + */ + +grammar DebugInternalFunctionLibraryDsl; + +// Rule FunctionLibraryModel +ruleFunctionLibraryModel: + ruleXImportSection + ? + ruleFunctionLibraryPackage +; + +// Rule FunctionLibraryPackage +ruleFunctionLibraryPackage: + 'package' + ruleQualifiedName + '{' + ( + ( + ruleFunctionLibraryGroup + |ruleFunctionLibraryBlipGroup + |ruleFunctionLibraryConverterGroup + |ruleFunctionLibraryStatemachineGroup + |ruleFunctionLibraryActionGroup + |ruleFunctionLibraryValidationGroup + |ruleFunctionLibraryDialogGroup + ) + | + ruleFunctionLibraryRating + )* + '}' +; + +// Rule FunctionLibraryGroup +ruleFunctionLibraryGroup: + 'group' + ruleValidID + '{' + ( + ruleFunctionLibraryFunction + | + ruleFunctionLibraryTest + | + ruleFunctionLibraryRate + )* + '}' +; + +// Rule FunctionLibraryBlipGroup +ruleFunctionLibraryBlipGroup: + 'blip-group' + ruleValidID + '{' + ( + ruleFunctionLibraryFunction + | + ruleFunctionLibraryTest + | + ruleFunctionLibraryRate + )* + '}' +; + +// Rule FunctionLibraryStatemachineGroup +ruleFunctionLibraryStatemachineGroup: + 'statemachine' + ruleValidID + '{' + ( + ruleFunctionLibraryOperation + | + ruleFunctionLibraryGuard + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryValidationGroup +ruleFunctionLibraryValidationGroup: + 'validation' + ruleValidID + '{' + ( + ruleFunctionLibraryValidation + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryDialogGroup +ruleFunctionLibraryDialogGroup: + 'dialog' + ruleValidID + '{' + ( + ruleFunctionLibraryDialogHook + | + ruleFunctionLibraryFunction + )* + '}' +; + +// Rule FunctionLibraryActionGroup +ruleFunctionLibraryActionGroup: + 'action' + ruleValidID + '{' + ( + ruleFunctionLibraryExecute + | + ruleFunctionLibraryCanExecute + )* + '}' +; + +// Rule FunctionLibraryConverterGroup +ruleFunctionLibraryConverterGroup: + 'converter' + ruleValidID + '{' + 'model-datatype' + ruleTYPE_CROSS_REFERENCE + 'presentation-datatype' + ruleTYPE_CROSS_REFERENCE + ruleFunctionConvertToModel + ruleFunctionConvertToPresentation + '}' +; + +// Rule FunctionConvertToModel +ruleFunctionConvertToModel: + 'to-model' + ruleXBlockExpression +; + +// Rule FunctionConvertToPresentation +ruleFunctionConvertToPresentation: + 'to-presentation' + ruleXBlockExpression +; + +// Rule FunctionLibraryRating +ruleFunctionLibraryRating: + 'rating' + ruleValidID + '{' + ruleFunctionLibraryRatingItem + * + '}' +; + +// Rule FunctionLibraryRatingItem +ruleFunctionLibraryRatingItem: + ruleValidID +; + +// Rule FunctionLibraryFunction +ruleFunctionLibraryFunction: + 'function' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + 'returns' + ruleJvmParameterizedTypeReference + ruleXBlockExpression +; + +// Rule FunctionLibraryTest +ruleFunctionLibraryTest: + 'test' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryRate +ruleFunctionLibraryRate: + 'rate' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + 'returns' + RULE_ID + ruleXBlockExpression +; + +// Rule FunctionLibraryGuard +ruleFunctionLibraryGuard: + 'guard' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryOperation +ruleFunctionLibraryOperation: + 'operation' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryValidation +ruleFunctionLibraryValidation: + 'validate' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryDialogHook +ruleFunctionLibraryDialogHook: + 'hook' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryExecute +ruleFunctionLibraryExecute: + 'execute' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryCanExecute +ruleFunctionLibraryCanExecute: + 'canExecute' + ruleValidID + '(' + ( + ruleFunctionLibraryParameter + ( + ',' + ruleFunctionLibraryParameter + )* + )? + ')' + ruleXBlockExpression +; + +// Rule FunctionLibraryParameter +ruleFunctionLibraryParameter: + ruleJvmTypeReference + ruleValidID +; + +// Rule TYPE_CROSS_REFERENCE +ruleTYPE_CROSS_REFERENCE: + RULE_ID +; + +// Rule XImportDeclaration +ruleXImportDeclaration: + 'import' + ( + 'static' + 'extension' + ? + ruleQualifiedNameInStaticImport + ( + '*' + | + ruleValidID + ) + | + ruleQualifiedName + | + ruleQualifiedNameWithWildcard + | + 'ns' + ruleQualifiedName + ) + ';'? +; + +// Rule XAnnotation +ruleXAnnotation: + '@' + ruleQualifiedName + ( + ( + ('(')=> + '(' + ) + ( + ( + (ruleValidID + '=' + )=> + ruleXAnnotationElementValuePair + ) + ( + ',' + ( + (ruleValidID + '=' + )=> + ruleXAnnotationElementValuePair + ) + )* + | + ruleXAnnotationElementValueOrCommaList + )? + ')' + )? +; + +// Rule XAnnotationElementValuePair +ruleXAnnotationElementValuePair: + ( + (ruleValidID + '=' + )=> + ruleValidID + '=' + ) + ruleXAnnotationElementValue +; + +// Rule XAnnotationElementValueOrCommaList +ruleXAnnotationElementValueOrCommaList: + ( + ( + ('#' + '[' + )=> + '#' + '[' + ) + ( + ruleXAnnotationOrExpression + ( + ',' + ruleXAnnotationOrExpression + )* + )? + ']' + | + ruleXAnnotationOrExpression + ( + ( + ',' + ruleXAnnotationOrExpression + )+ + )? + ) +; + +// Rule XAnnotationElementValue +ruleXAnnotationElementValue: + ( + ( + ('#' + '[' + )=> + '#' + '[' + ) + ( + ruleXAnnotationOrExpression + ( + ',' + ruleXAnnotationOrExpression + )* + )? + ']' + | + ruleXAnnotationOrExpression + ) +; + +// Rule XAnnotationOrExpression +ruleXAnnotationOrExpression: + ( + ruleXAnnotation + | + ruleXExpression + ) +; + +// Rule XExpression +ruleXExpression: + ruleXAssignment +; + +// Rule XAssignment +ruleXAssignment: + ( + ruleFeatureCallID + ruleOpSingleAssign + ruleXAssignment + | + ruleXOrExpression + ( + ( + (ruleOpMultiAssign + )=> + ruleOpMultiAssign + ) + ruleXAssignment + )? + ) +; + +// Rule OpSingleAssign +ruleOpSingleAssign: + '=' +; + +// Rule OpMultiAssign +ruleOpMultiAssign: + ( + '+=' + | + '-=' + | + '*=' + | + '/=' + | + '%=' + | + '<' + '<' + '=' + | + '>' + '>'? + '>=' + ) +; + +// Rule XOrExpression +ruleXOrExpression: + ruleXAndExpression + ( + ( + (ruleOpOr + )=> + ruleOpOr + ) + ruleXAndExpression + )* +; + +// Rule OpOr +ruleOpOr: + '||' +; + +// Rule XAndExpression +ruleXAndExpression: + ruleXEqualityExpression + ( + ( + (ruleOpAnd + )=> + ruleOpAnd + ) + ruleXEqualityExpression + )* +; + +// Rule OpAnd +ruleOpAnd: + '&&' +; + +// Rule XEqualityExpression +ruleXEqualityExpression: + ruleXRelationalExpression + ( + ( + (ruleOpEquality + )=> + ruleOpEquality + ) + ruleXRelationalExpression + )* +; + +// Rule OpEquality +ruleOpEquality: + ( + '==' + | + '!=' + | + '===' + | + '!==' + ) +; + +// Rule XRelationalExpression +ruleXRelationalExpression: + ruleXOtherOperatorExpression + ( + ( + ('instanceof' + )=> + 'instanceof' + ) + ruleJvmTypeReference + | + ( + (ruleOpCompare + )=> + ruleOpCompare + ) + ruleXOtherOperatorExpression + )* +; + +// Rule OpCompare +ruleOpCompare: + ( + '>=' + | + '<' + '=' + | + '>' + | + '<' + ) +; + +// Rule XOtherOperatorExpression +ruleXOtherOperatorExpression: + ruleXAdditiveExpression + ( + ( + (ruleOpOther + )=> + ruleOpOther + ) + ruleXAdditiveExpression + )* +; + +// Rule OpOther +ruleOpOther: + ( + '->' + | + '..<' + | + '>' + '..' + | + '..' + | + '=>' + | + '>' + ( + ( + ('>' + '>' + )=> + '>' + '>' + ) + | + '>' + ) + | + '<' + ( + ( + ('<' + '<' + )=> + '<' + '<' + ) + | + '<' + | + '=>' + ) + | + '<>' + | + '?:' + ) +; + +// Rule XAdditiveExpression +ruleXAdditiveExpression: + ruleXMultiplicativeExpression + ( + ( + (ruleOpAdd + )=> + ruleOpAdd + ) + ruleXMultiplicativeExpression + )* +; + +// Rule OpAdd +ruleOpAdd: + ( + '+' + | + '-' + ) +; + +// Rule XMultiplicativeExpression +ruleXMultiplicativeExpression: + ruleXUnaryOperation + ( + ( + (ruleOpMulti + )=> + ruleOpMulti + ) + ruleXUnaryOperation + )* +; + +// Rule OpMulti +ruleOpMulti: + ( + '*' + | + '**' + | + '/' + | + '%' + ) +; + +// Rule XUnaryOperation +ruleXUnaryOperation: + ( + ruleOpUnary + ruleXUnaryOperation + | + ruleXCastedExpression + ) +; + +// Rule OpUnary +ruleOpUnary: + ( + '!' + | + '-' + | + '+' + ) +; + +// Rule XCastedExpression +ruleXCastedExpression: + ruleXPostfixOperation + ( + ( + ('as' + )=> + 'as' + ) + ruleJvmTypeReference + )* +; + +// Rule XPostfixOperation +ruleXPostfixOperation: + ruleXMemberFeatureCall + ( + (ruleOpPostfix + )=> + ruleOpPostfix + )? +; + +// Rule OpPostfix +ruleOpPostfix: + ( + '++' + | + '--' + ) +; + +// Rule XMemberFeatureCall +ruleXMemberFeatureCall: + ruleXPrimaryExpression + ( + ( + (( + '.' + | + '::' + ) + ruleFeatureCallID + ruleOpSingleAssign + )=> + ( + '.' + | + '::' + ) + ruleFeatureCallID + ruleOpSingleAssign + ) + ruleXAssignment + | + ( + (( + '.' + | + '?.' + | + '::' + ) + )=> + ( + '.' + | + '?.' + | + '::' + ) + ) + ( + '<' + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ruleIdOrSuper + ( + ( + ('(' + )=> + '(' + ) + ( + ( + (( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )=> + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ('[' + )=> + ruleXClosure + )? + )* +; + +// Rule XPrimaryExpression +ruleXPrimaryExpression: + ( + ruleXConstructorCall + | + ruleXBlockExpression + | + ruleXSwitchExpression + | + ( + ('synchronized' + '(' + )=> + ruleXSynchronizedExpression + ) + | + ruleXFeatureCall + | + ruleXLiteral + | + ruleXIfExpression + | + ( + ('for' + '(' + ruleJvmFormalParameter + ':' + )=> + ruleXForLoopExpression + ) + | + ruleXBasicForLoopExpression + | + ruleXWhileExpression + | + ruleXDoWhileExpression + | + ruleXThrowExpression + | + ruleXReturnExpression + | + ruleXTryCatchFinallyExpression + | + ruleXParenthesizedExpression + ) +; + +// Rule XLiteral +ruleXLiteral: + ( + ruleXCollectionLiteral + | + ( + ('[' + )=> + ruleXClosure + ) + | + ruleXBooleanLiteral + | + ruleXNumberLiteral + | + ruleXNullLiteral + | + ruleXStringLiteral + | + ruleXTypeLiteral + ) +; + +// Rule XCollectionLiteral +ruleXCollectionLiteral: + ( + ruleXSetLiteral + | + ruleXListLiteral + ) +; + +// Rule XSetLiteral +ruleXSetLiteral: + '#' + '{' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + '}' +; + +// Rule XListLiteral +ruleXListLiteral: + '#' + '[' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ']' +; + +// Rule XClosure +ruleXClosure: + ( + ('[' + )=> + '[' + ) + ( + (( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )=> + ( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )? + ruleXExpressionInClosure + ']' +; + +// Rule XExpressionInClosure +ruleXExpressionInClosure: + ( + ruleXExpressionOrVarDeclaration + ';'? + )* +; + +// Rule XShortClosure +ruleXShortClosure: + ( + (( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )=> + ( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + ) + ruleXExpression +; + +// Rule XParenthesizedExpression +ruleXParenthesizedExpression: + '(' + ruleXExpression + ')' +; + +// Rule XIfExpression +ruleXIfExpression: + 'if' + '(' + ruleXExpression + ')' + ruleXExpression + ( + ( + ('else')=> + 'else' + ) + ruleXExpression + )? +; + +// Rule XSwitchExpression +ruleXSwitchExpression: + 'switch' + ( + ( + ('(' + ruleJvmFormalParameter + ':' + )=> + '(' + ruleJvmFormalParameter + ':' + ) + ruleXExpression + ')' + | + ( + (ruleJvmFormalParameter + ':' + )=> + ruleJvmFormalParameter + ':' + )? + ruleXExpression + ) + '{' + ruleXCasePart + * + ( + 'default' + ':' + ruleXExpression + )? + '}' +; + +// Rule XCasePart +ruleXCasePart: + ruleJvmTypeReference + ? + ( + 'case' + ruleXExpression + )? + ( + ':' + ruleXExpression + | + ',' + ) +; + +// Rule XForLoopExpression +ruleXForLoopExpression: + ( + ('for' + '(' + ruleJvmFormalParameter + ':' + )=> + 'for' + '(' + ruleJvmFormalParameter + ':' + ) + ruleXExpression + ')' + ruleXExpression +; + +// Rule XBasicForLoopExpression +ruleXBasicForLoopExpression: + 'for' + '(' + ( + ruleXExpressionOrVarDeclaration + ( + ',' + ruleXExpressionOrVarDeclaration + )* + )? + ';' + ruleXExpression + ? + ';' + ( + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + ruleXExpression +; + +// Rule XWhileExpression +ruleXWhileExpression: + 'while' + '(' + ruleXExpression + ')' + ruleXExpression +; + +// Rule XDoWhileExpression +ruleXDoWhileExpression: + 'do' + ruleXExpression + 'while' + '(' + ruleXExpression + ')' +; + +// Rule XBlockExpression +ruleXBlockExpression: + '{' + ( + ruleXExpressionOrVarDeclaration + ';'? + )* + '}' +; + +// Rule XExpressionOrVarDeclaration +ruleXExpressionOrVarDeclaration: + ( + ruleXVariableDeclaration + | + ruleXExpression + ) +; + +// Rule XVariableDeclaration +ruleXVariableDeclaration: + ( + 'var' + | + 'val' + ) + ( + ( + (ruleJvmTypeReference + ruleValidID + )=> + ruleJvmTypeReference + ruleValidID + ) + | + ruleValidID + ) + ( + '=' + ruleXExpression + )? +; + +// Rule JvmFormalParameter +ruleJvmFormalParameter: + ruleJvmTypeReference + ? + ruleValidID +; + +// Rule FullJvmFormalParameter +ruleFullJvmFormalParameter: + ruleJvmTypeReference + ruleValidID +; + +// Rule XFeatureCall +ruleXFeatureCall: + ( + '<' + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ruleIdOrSuper + ( + ( + ('(' + )=> + '(' + ) + ( + ( + (( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )=> + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ('[' + )=> + ruleXClosure + )? +; + +// Rule FeatureCallID +ruleFeatureCallID: + ( + ruleValidID + | + 'extends' + | + 'static' + | + 'import' + | + 'extension' + ) +; + +// Rule IdOrSuper +ruleIdOrSuper: + ( + ruleFeatureCallID + | + 'super' + ) +; + +// Rule XConstructorCall +ruleXConstructorCall: + 'new' + ruleQualifiedName + ( + ( + ('<')=> + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + ( + ( + ('(' + )=> + '(' + ) + ( + ( + (( + ruleJvmFormalParameter + ( + ',' + ruleJvmFormalParameter + )* + )? + '|' + )=> + ruleXShortClosure + ) + | + ruleXExpression + ( + ',' + ruleXExpression + )* + )? + ')' + )? + ( + ('[' + )=> + ruleXClosure + )? +; + +// Rule XBooleanLiteral +ruleXBooleanLiteral: + ( + 'false' + | + 'true' + ) +; + +// Rule XNullLiteral +ruleXNullLiteral: + 'null' +; + +// Rule XNumberLiteral +ruleXNumberLiteral: + ruleNumber +; + +// Rule XStringLiteral +ruleXStringLiteral: + RULE_STRING +; + +// Rule XTypeLiteral +ruleXTypeLiteral: + 'typeof' + '(' + ruleQualifiedName + ruleArrayBrackets + * + ')' +; + +// Rule XThrowExpression +ruleXThrowExpression: + 'throw' + ruleXExpression +; + +// Rule XReturnExpression +ruleXReturnExpression: + 'return' + ( + ('extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=> + ruleXExpression + )? +; + +// Rule XTryCatchFinallyExpression +ruleXTryCatchFinallyExpression: + 'try' + ruleXExpression + ( + ( + ('catch')=> + ruleXCatchClause + )+ + ( + ( + ('finally')=> + 'finally' + ) + ruleXExpression + )? + | + 'finally' + ruleXExpression + ) +; + +// Rule XSynchronizedExpression +ruleXSynchronizedExpression: + ( + ('synchronized' + '(' + )=> + 'synchronized' + '(' + ) + ruleXExpression + ')' + ruleXExpression +; + +// Rule XCatchClause +ruleXCatchClause: + ( + ('catch')=> + 'catch' + ) + '(' + ruleFullJvmFormalParameter + ')' + ruleXExpression +; + +// Rule QualifiedName +ruleQualifiedName: + ruleValidID + ( + ( + ('.')=> + '.' + ) + ruleValidID + )* +; + +// Rule Number +ruleNumber: + ( + RULE_HEX + | + ( + RULE_INT + | + RULE_DECIMAL + ) + ( + '.' + ( + RULE_INT + | + RULE_DECIMAL + ) + )? + ) +; + +// Rule JvmTypeReference +ruleJvmTypeReference: + ( + ruleJvmParameterizedTypeReference + ( + (ruleArrayBrackets + )=> + ruleArrayBrackets + )* + | + ruleXFunctionTypeRef + ) +; + +// Rule ArrayBrackets +ruleArrayBrackets: + '[' + ']' +; + +// Rule XFunctionTypeRef +ruleXFunctionTypeRef: + ( + '(' + ( + ruleJvmTypeReference + ( + ',' + ruleJvmTypeReference + )* + )? + ')' + )? + '=>' + ruleJvmTypeReference +; + +// Rule JvmParameterizedTypeReference +ruleJvmParameterizedTypeReference: + ruleQualifiedName + ( + ( + ('<')=> + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + ( + ( + ('.' + )=> + '.' + ) + ruleValidID + ( + ( + ('<')=> + '<' + ) + ruleJvmArgumentTypeReference + ( + ',' + ruleJvmArgumentTypeReference + )* + '>' + )? + )* + )? +; + +// Rule JvmArgumentTypeReference +ruleJvmArgumentTypeReference: + ( + ruleJvmTypeReference + | + ruleJvmWildcardTypeReference + ) +; + +// Rule JvmWildcardTypeReference +ruleJvmWildcardTypeReference: + '?' + ( + ruleJvmUpperBound + ruleJvmUpperBoundAnded + * + | + ruleJvmLowerBound + ruleJvmLowerBoundAnded + * + )? +; + +// Rule JvmUpperBound +ruleJvmUpperBound: + 'extends' + ruleJvmTypeReference +; + +// Rule JvmUpperBoundAnded +ruleJvmUpperBoundAnded: + '&' + ruleJvmTypeReference +; + +// Rule JvmLowerBound +ruleJvmLowerBound: + 'super' + ruleJvmTypeReference +; + +// Rule JvmLowerBoundAnded +ruleJvmLowerBoundAnded: + '&' + ruleJvmTypeReference +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard: + ruleQualifiedName + '.' + '*' +; + +// Rule ValidID +ruleValidID: + RULE_ID +; + +// Rule XImportSection +ruleXImportSection: + ruleXImportDeclaration + + +; + +// Rule QualifiedNameInStaticImport +ruleQualifiedNameInStaticImport: + ( + ruleValidID + '.' + )+ +; + +RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?; + +RULE_INT : '0'..'9' ('0'..'9'|'_')*; + +RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/' {skip();}; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')? {skip();}; + +RULE_WS : (' '|'\t'|'\r'|'\n')+ {skip();}; + +RULE_ANY_OTHER : .;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java index e777613..7a9b0d7 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java
@@ -1,17 +1,3 @@ -/** - * - * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation - * - */ - package org.eclipse.osbp.xtext.functionlibrarydsl.parser.antlr.internal; // Hack: Use our own Lexer superclass by means of import. @@ -4361,4 +4347,4 @@ } -} +} \ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2 b/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2 index 97a64a0..cc98933 100644 --- a/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2 +++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2
@@ -89,6 +89,12 @@ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" } + parserGenerator = { + debugGrammar = true + } + + fragment = com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment {} + generator = { generateStub = false generateJavaMain = false