summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2016-04-11 23:50:01 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-04-11 23:50:01 +0000
commite574072e5f6429a43b8834700a311a081b80a970 (patch)
treeff1c4e3d790450da0c86fb616365d7707cd49653
parent196ace4fe8e8c4296a4d5444775c6771064fc851 (diff)
parent15b6682cf3505b117329e2190967c92a89b179e9 (diff)
downloaddata-binding-e574072e5f6429a43b8834700a311a081b80a970.tar.gz
Move to org.antlr from tunnelvision
am: 15b6682 * commit '15b6682cf3505b117329e2190967c92a89b179e9': Move to org.antlr from tunnelvision Change-Id: I0c069f3ab0d1fe5f9b920b0c2b75083e58ffb376
-rw-r--r--build.gradle3
-rw-r--r--compilationTests/src/test/java/android/databinding/compilationTest/MultiLayoutVerificationTest.java4
-rw-r--r--compiler/build.gradle6
-rw-r--r--compiler/src/main/java/android/databinding/tool/ExpressionParser.java8
-rw-r--r--compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java59
-rw-r--r--compiler/src/main/java/android/databinding/tool/LayoutBinder.java2
-rw-r--r--compilerCommon/build.gradle16
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java250
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java151
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java552
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java384
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java519
-rw-r--r--compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java222
-rw-r--r--compilerCommon/src/main/java/android/databinding/tool/util/StringUtils.java6
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.java200
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.tokens30
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.java324
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.tokens30
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java51
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java31
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserListener.java71
-rw-r--r--compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserVisitor.java45
-rw-r--r--databinding.properties4
-rw-r--r--extensions/baseAdapters/build.gradle5
-rw-r--r--extensions/library/build.gradle4
25 files changed, 1373 insertions, 1604 deletions
diff --git a/build.gradle b/build.gradle
index 45e1623e..c3ce95a3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -241,8 +241,7 @@ def fullJar(project) {
// input is our inputLibrary
zipfileset(src: inputLibrary)
// rule to repackage antlr to new package
- rule pattern: 'org.antlr.**', result: 'com.google.repacked.antlr.@1'
- rule pattern: 'com.tunnelvisionlabs.**', result: 'com.google.repacked.tunnelvision.@1'
+ rule pattern: 'org.antlr.**', result: 'com.google.repacked.org.antlr.@1'
rule pattern: 'org.abego.treelayout.**', result: 'com.google.repacked.treelayout.@1'
// rule to repackage commons
rule pattern: 'org.apache.**', result: 'com.google.repacked.apache.@1'
diff --git a/compilationTests/src/test/java/android/databinding/compilationTest/MultiLayoutVerificationTest.java b/compilationTests/src/test/java/android/databinding/compilationTest/MultiLayoutVerificationTest.java
index bbf86e7a..2c138687 100644
--- a/compilationTests/src/test/java/android/databinding/compilationTest/MultiLayoutVerificationTest.java
+++ b/compilationTests/src/test/java/android/databinding/compilationTest/MultiLayoutVerificationTest.java
@@ -208,13 +208,15 @@ public class MultiLayoutVerificationTest extends BaseCompilationTest {
CompilationResult result = runGradle("assembleDebug");
assertNotEquals(result.output, 0, result.resultCode);
List<ScopedException> exceptions = result.getBindingExceptions();
- assertEquals(result.error, 2, exceptions.size());
boolean foundNormal = false;
boolean foundLandscape = false;
for (ScopedException exception : exceptions) {
ScopedErrorReport report = exception.getScopedErrorReport();
assertNotNull(report);
+ if (exception.getMessage().startsWith("Cannot find the setter")) {
+ continue;
+ }
File file = new File(report.getFilePath());
assertTrue(file.exists());
assertEquals(result.error, 1, report.getLocations().size());
diff --git a/compiler/build.gradle b/compiler/build.gradle
index 8a9e9919..0b2c6b25 100644
--- a/compiler/build.gradle
+++ b/compiler/build.gradle
@@ -16,8 +16,8 @@
apply plugin: 'java'
apply plugin: 'kotlin'
-sourceCompatibility = dataBindingConfig.javaTargetCompatibility
-targetCompatibility = dataBindingConfig.javaSourceCompatibility
+sourceCompatibility = dataBindingConfig.compilerJavaTargetCompatibility
+targetCompatibility = dataBindingConfig.compilerJavaSourceCompatibility
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -38,7 +38,7 @@ dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile 'commons-io:commons-io:2.4'
compile 'commons-codec:commons-codec:1.10'
- compile 'com.tunnelvisionlabs:antlr4:4.5'
+ compile 'org.antlr:antlr4:4.5.3'
compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
testCompile 'junit:junit:4.12'
}
diff --git a/compiler/src/main/java/android/databinding/tool/ExpressionParser.java b/compiler/src/main/java/android/databinding/tool/ExpressionParser.java
index 5468c936..8deebc4d 100644
--- a/compiler/src/main/java/android/databinding/tool/ExpressionParser.java
+++ b/compiler/src/main/java/android/databinding/tool/ExpressionParser.java
@@ -23,7 +23,6 @@ import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.RecognitionException;
import org.antlr.v4.runtime.Recognizer;
import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.Nullable;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.ParseTreeListener;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -37,6 +36,8 @@ import android.databinding.tool.store.Location;
import android.databinding.tool.util.L;
import android.databinding.tool.util.Preconditions;
+import com.android.annotations.Nullable;
+
import java.util.ArrayList;
import java.util.List;
@@ -56,9 +57,8 @@ public class ExpressionParser {
final BindingExpressionParser parser = new BindingExpressionParser(tokenStream);
parser.addErrorListener(new BaseErrorListener() {
@Override
- public <T extends Token> void syntaxError(Recognizer<T, ?> recognizer,
- @Nullable T offendingSymbol, int line, int charPositionInLine, String msg,
- @Nullable RecognitionException e) {
+ public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line,
+ int charPositionInLine, String msg, RecognitionException e) {
L.e(ErrorMessages.SYNTAX_ERROR, msg);
}
});
diff --git a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
index f35b1e2b..87426c0f 100644
--- a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
+++ b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
@@ -31,10 +31,10 @@ import android.databinding.tool.reflection.ModelAnalyzer;
import android.databinding.tool.reflection.ModelClass;
import android.databinding.tool.util.Preconditions;
+import com.android.annotations.NonNull;
import com.google.common.base.Objects;
import org.antlr.v4.runtime.ParserRuleContext;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTree;
import org.antlr.v4.runtime.tree.ParseTreeListener;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -43,16 +43,16 @@ import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.List;
-public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
+class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
private ExprModel mModel;
private ParseTreeListener mParseTreeListener;
private ArrayDeque<ExprModel> mModelStack = new ArrayDeque<ExprModel>();
- public ExpressionVisitor(ExprModel model) {
+ ExpressionVisitor(ExprModel model) {
mModel = model;
}
- public void setParseTreeListener(ParseTreeListener parseTreeListener) {
+ void setParseTreeListener(ParseTreeListener parseTreeListener) {
mParseTreeListener = parseTreeListener;
}
@@ -82,7 +82,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx) {
+ public Expr visitRootLambda(@NonNull BindingExpressionParser.RootLambdaContext ctx) {
try {
onEnter(ctx);
CallbackExprModel callbackModel = new CallbackExprModel(mModel);
@@ -100,7 +100,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
@Override
public Expr visitSingleLambdaParameter(
- @NotNull BindingExpressionParser.SingleLambdaParameterContext ctx) {
+ @NonNull BindingExpressionParser.SingleLambdaParameterContext ctx) {
try {
onEnter(ctx);
Preconditions.check(mModel instanceof CallbackExprModel, "Lambdas can only be used in"
@@ -115,7 +115,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
@Override
public Expr visitLambdaParameterList(
- @NotNull BindingExpressionParser.LambdaParameterListContext ctx) {
+ @NonNull BindingExpressionParser.LambdaParameterListContext ctx) {
try {
onEnter(ctx);
Preconditions.check(mModel instanceof CallbackExprModel, "Lambdas can only be used in"
@@ -136,7 +136,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx) {
+ public Expr visitStringLiteral(@NonNull BindingExpressionParser.StringLiteralContext ctx) {
try {
onEnter(ctx);
final String javaString;
@@ -155,7 +155,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx) {
+ public Expr visitRootExpr(@NonNull BindingExpressionParser.RootExprContext ctx) {
try {
onEnter(ctx);
// TODO handle defaults
@@ -170,7 +170,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitGrouping(@NotNull BindingExpressionParser.GroupingContext ctx) {
+ public Expr visitGrouping(@NonNull BindingExpressionParser.GroupingContext ctx) {
try {
onEnter(ctx);
Preconditions.check(ctx.children.size() == 3, "Grouping expression should have"
@@ -182,7 +182,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitDotOp(@NotNull BindingExpressionParser.DotOpContext ctx) {
+ public Expr visitDotOp(@NonNull BindingExpressionParser.DotOpContext ctx) {
try {
onEnter(ctx);
ModelAnalyzer analyzer = ModelAnalyzer.getInstance();
@@ -202,7 +202,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx) {
+ public Expr visitFunctionRef(@NonNull BindingExpressionParser.FunctionRefContext ctx) {
try {
onEnter(ctx);
return mModel.methodReference(ctx.expression().accept(this),
@@ -213,7 +213,8 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx) {
+ public Expr visitQuestionQuestionOp(
+ @NonNull BindingExpressionParser.QuestionQuestionOpContext ctx) {
try {
onEnter(ctx);
final Expr left = ctx.left.accept(this);
@@ -225,9 +226,9 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitTerminal(@NotNull TerminalNode node) {
+ public Expr visitTerminal(@NonNull TerminalNode node) {
try {
- onEnter((ParserRuleContext) node.getParent().getRuleContext());
+ onEnter((ParserRuleContext) node.getParent());
final int type = node.getSymbol().getType();
Class classType;
switch (type) {
@@ -259,12 +260,12 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
return mModel.symbol(node.getText(), classType);
} finally {
- onExit((ParserRuleContext) node.getParent().getRuleContext());
+ onExit((ParserRuleContext) node.getParent());
}
}
@Override
- public Expr visitComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx) {
+ public Expr visitComparisonOp(@NonNull BindingExpressionParser.ComparisonOpContext ctx) {
try {
onEnter(ctx);
return mModel.comparison(ctx.op.getText(), ctx.left.accept(this), ctx.right.accept(this));
@@ -274,7 +275,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx) {
+ public Expr visitIdentifier(@NonNull BindingExpressionParser.IdentifierContext ctx) {
try {
onEnter(ctx);
return mModel.identifier(ctx.getText());
@@ -284,7 +285,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx) {
+ public Expr visitTernaryOp(@NonNull BindingExpressionParser.TernaryOpContext ctx) {
try {
onEnter(ctx);
return mModel.ternary(ctx.left.accept(this), ctx.iftrue.accept(this),
@@ -297,7 +298,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
@Override
public Expr visitMethodInvocation(
- @NotNull BindingExpressionParser.MethodInvocationContext ctx) {
+ @NonNull BindingExpressionParser.MethodInvocationContext ctx) {
try {
onEnter(ctx);
List<Expr> args = new ArrayList<Expr>();
@@ -317,7 +318,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitMathOp(@NotNull BindingExpressionParser.MathOpContext ctx) {
+ public Expr visitMathOp(@NonNull BindingExpressionParser.MathOpContext ctx) {
try {
onEnter(ctx);
return mModel.math(ctx.left.accept(this), ctx.op.getText(), ctx.right.accept(this));
@@ -327,7 +328,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitAndOrOp(@NotNull AndOrOpContext ctx) {
+ public Expr visitAndOrOp(@NonNull AndOrOpContext ctx) {
try {
onEnter(ctx);
return mModel.logical(ctx.left.accept(this), ctx.op.getText(), ctx.right.accept(this));
@@ -337,7 +338,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitBinaryOp(@NotNull BinaryOpContext ctx) {
+ public Expr visitBinaryOp(@NonNull BinaryOpContext ctx) {
try {
onEnter(ctx);
return mModel.math(ctx.left.accept(this), ctx.op.getText(), ctx.right.accept(this));
@@ -347,7 +348,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitBitShiftOp(@NotNull BitShiftOpContext ctx) {
+ public Expr visitBitShiftOp(@NonNull BitShiftOpContext ctx) {
try {
onEnter(ctx);
return mModel.bitshift(ctx.left.accept(this), ctx.op.getText(), ctx.right.accept(this));
@@ -357,7 +358,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitInstanceOfOp(@NotNull InstanceOfOpContext ctx) {
+ public Expr visitInstanceOfOp(@NonNull InstanceOfOpContext ctx) {
try {
onEnter(ctx);
return mModel.instanceOfOp(ctx.expression().accept(this), ctx.type().getText());
@@ -367,7 +368,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitUnaryOp(@NotNull UnaryOpContext ctx) {
+ public Expr visitUnaryOp(@NonNull UnaryOpContext ctx) {
try {
onEnter(ctx);
return mModel.unary(ctx.op.getText(), ctx.expression().accept(this));
@@ -377,7 +378,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitResources(@NotNull BindingExpressionParser.ResourcesContext ctx) {
+ public Expr visitResources(@NonNull BindingExpressionParser.ResourcesContext ctx) {
try {
onEnter(ctx);
final List<Expr> args = new ArrayList<Expr>();
@@ -404,7 +405,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx) {
+ public Expr visitBracketOp(@NonNull BindingExpressionParser.BracketOpContext ctx) {
try {
onEnter(ctx);
return mModel.bracketExpr(visit(ctx.expression(0)), visit(ctx.expression(1)));
@@ -414,7 +415,7 @@ public class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> {
}
@Override
- public Expr visitCastOp(@NotNull BindingExpressionParser.CastOpContext ctx) {
+ public Expr visitCastOp(@NonNull BindingExpressionParser.CastOpContext ctx) {
try {
onEnter(ctx);
return mModel.castExpr(ctx.type().getText(), visit(ctx.expression()));
diff --git a/compiler/src/main/java/android/databinding/tool/LayoutBinder.java b/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
index 7969854a..c7704682 100644
--- a/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
+++ b/compiler/src/main/java/android/databinding/tool/LayoutBinder.java
@@ -30,7 +30,7 @@ import android.databinding.tool.util.Preconditions;
import android.databinding.tool.writer.LayoutBinderWriter;
import android.databinding.tool.writer.LayoutBinderWriterKt;
-import org.antlr.v4.runtime.misc.Nullable;
+import com.android.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/compilerCommon/build.gradle b/compilerCommon/build.gradle
index 91ce05db..0f260e48 100644
--- a/compilerCommon/build.gradle
+++ b/compilerCommon/build.gradle
@@ -16,9 +16,6 @@
apply plugin: 'java'
-sourceCompatibility = dataBindingConfig.javaSourceCompatibility
-targetCompatibility = dataBindingConfig.javaTargetCompatibility
-
sourceSets {
main {
java {
@@ -38,17 +35,26 @@ sourceSets {
dependencies {
testCompile 'junit:junit:4.12'
compile project(':dataBinding:baseLibrary')
- compile 'com.tunnelvisionlabs:antlr4:4.5'
+ compile 'org.antlr:antlr4:4.5.3'
compile 'commons-io:commons-io:2.4'
compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
compile 'com.google.guava:guava:17.0'
+ compile 'com.android.tools:annotations:24.5.0'
+}
+
+project.tasks.create(name : "generateXmlLexer", type : JavaExec) {
+ classpath configurations.runtime
+ main "org.antlr.v4.Tool"
+ workingDir projectDir
+ args "XMLLexer.g4", "-visitor", "-lib", projectDir.absolutePath, "-o", "src/main/xml-gen/android/databinding/parser", "-package", "android.databinding.parser"
}
project.tasks.create(name : "generateXmlParser", type : JavaExec) {
classpath configurations.runtime
main "org.antlr.v4.Tool"
workingDir projectDir
- args "XMLParser.g4", "-visitor", "-o", "src/main/java/android/databinding/parser", "-package", "android.databinding.parser", "-lib", "."
+ args "XMLParser.g4", "-visitor", "-lib", projectDir.absolutePath, "-o", "src/main/xml-gen/android/databinding/parser", "-package", "android.databinding.parser"
+ dependsOn "generateXmlLexer"
}
project.tasks.create(name : "generateGrammar", type : JavaExec) {
diff --git a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
index fc81eb83..c9ccebd6 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
@@ -1,9 +1,7 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
import org.antlr.v4.runtime.ParserRuleContext;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -18,582 +16,504 @@ public class BindingExpressionBaseListener implements BindingExpressionListener
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterCastOp(@NotNull BindingExpressionParser.CastOpContext ctx) { }
+ @Override public void enterRootExpr(BindingExpressionParser.RootExprContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitCastOp(@NotNull BindingExpressionParser.CastOpContext ctx) { }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void enterComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx) { }
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void exitComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx) { }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void enterBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx) { }
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void exitBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx) { }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void enterUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx) { }
+ @Override public void exitRootExpr(BindingExpressionParser.RootExprContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx) { }
-
+ @Override public void enterRootLambda(BindingExpressionParser.RootLambdaContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterResource(@NotNull BindingExpressionParser.ResourceContext ctx) { }
+ @Override public void exitRootLambda(BindingExpressionParser.RootLambdaContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitResource(@NotNull BindingExpressionParser.ResourceContext ctx) { }
-
+ @Override public void enterDefaults(BindingExpressionParser.DefaultsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx) { }
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation does nothing.</p>
- */
- @Override public void exitQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx) { }
-
+ @Override public void exitDefaults(BindingExpressionParser.DefaultsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterGrouping(@NotNull BindingExpressionParser.GroupingContext ctx) { }
+ @Override public void enterConstantValue(BindingExpressionParser.ConstantValueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitGrouping(@NotNull BindingExpressionParser.GroupingContext ctx) { }
-
+ @Override public void exitConstantValue(BindingExpressionParser.ConstantValueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx) { }
+ @Override public void enterLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx) { }
-
+ @Override public void exitLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx) { }
+ @Override public void enterSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx) { }
-
+ @Override public void exitSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx) { }
+ @Override public void enterLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx) { }
-
+ @Override public void exitLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx) { }
+ @Override public void enterInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx) { }
-
+ @Override public void exitInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx) { }
+ @Override public void enterCastOp(BindingExpressionParser.CastOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx) { }
-
+ @Override public void exitCastOp(BindingExpressionParser.CastOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterDotOp(@NotNull BindingExpressionParser.DotOpContext ctx) { }
+ @Override public void enterComparisonOp(BindingExpressionParser.ComparisonOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitDotOp(@NotNull BindingExpressionParser.DotOpContext ctx) { }
-
+ @Override public void exitComparisonOp(BindingExpressionParser.ComparisonOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterMathOp(@NotNull BindingExpressionParser.MathOpContext ctx) { }
+ @Override public void enterUnaryOp(BindingExpressionParser.UnaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitMathOp(@NotNull BindingExpressionParser.MathOpContext ctx) { }
-
+ @Override public void exitUnaryOp(BindingExpressionParser.UnaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx) { }
+ @Override public void enterBracketOp(BindingExpressionParser.BracketOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx) { }
-
+ @Override public void exitBracketOp(BindingExpressionParser.BracketOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx) { }
+ @Override public void enterResource(BindingExpressionParser.ResourceContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx) { }
-
+ @Override public void exitResource(BindingExpressionParser.ResourceContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx) { }
+ @Override public void enterQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx) { }
-
+ @Override public void exitQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx) { }
+ @Override public void enterGrouping(BindingExpressionParser.GroupingContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx) { }
-
+ @Override public void exitGrouping(BindingExpressionParser.GroupingContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx) { }
+ @Override public void enterMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx) { }
-
+ @Override public void exitMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx) { }
+ @Override public void enterBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx) { }
-
+ @Override public void exitBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx) { }
+ @Override public void enterAndOrOp(BindingExpressionParser.AndOrOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx) { }
-
+ @Override public void exitAndOrOp(BindingExpressionParser.AndOrOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx) { }
+ @Override public void enterTernaryOp(BindingExpressionParser.TernaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx) { }
-
+ @Override public void exitTernaryOp(BindingExpressionParser.TernaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx) { }
+ @Override public void enterPrimary(BindingExpressionParser.PrimaryContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx) { }
-
+ @Override public void exitPrimary(BindingExpressionParser.PrimaryContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx) { }
+ @Override public void enterDotOp(BindingExpressionParser.DotOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx) { }
-
+ @Override public void exitDotOp(BindingExpressionParser.DotOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx) { }
+ @Override public void enterMathOp(BindingExpressionParser.MathOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx) { }
-
+ @Override public void exitMathOp(BindingExpressionParser.MathOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx) { }
+ @Override public void enterInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx) { }
-
+ @Override public void exitInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx) { }
+ @Override public void enterBinaryOp(BindingExpressionParser.BinaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx) { }
-
+ @Override public void exitBinaryOp(BindingExpressionParser.BinaryOpContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterExpression(@NotNull BindingExpressionParser.ExpressionContext ctx) { }
+ @Override public void enterFunctionRef(BindingExpressionParser.FunctionRefContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitExpression(@NotNull BindingExpressionParser.ExpressionContext ctx) { }
-
+ @Override public void exitFunctionRef(BindingExpressionParser.FunctionRefContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx) { }
+ @Override public void enterClassExtraction(BindingExpressionParser.ClassExtractionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx) { }
-
+ @Override public void exitClassExtraction(BindingExpressionParser.ClassExtractionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx) { }
+ @Override public void enterExpressionList(BindingExpressionParser.ExpressionListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx) { }
-
+ @Override public void exitExpressionList(BindingExpressionParser.ExpressionListContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterLiteral(@NotNull BindingExpressionParser.LiteralContext ctx) { }
+ @Override public void enterLiteral(BindingExpressionParser.LiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitLiteral(@NotNull BindingExpressionParser.LiteralContext ctx) { }
-
+ @Override public void exitLiteral(BindingExpressionParser.LiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx) { }
+ @Override public void enterIdentifier(BindingExpressionParser.IdentifierContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx) { }
-
+ @Override public void exitIdentifier(BindingExpressionParser.IdentifierContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx) { }
+ @Override public void enterJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx) { }
-
+ @Override public void exitJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx) { }
+ @Override public void enterStringLiteral(BindingExpressionParser.StringLiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx) { }
-
+ @Override public void exitStringLiteral(BindingExpressionParser.StringLiteralContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx) { }
+ @Override public void enterExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx) { }
-
+ @Override public void exitExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx) { }
+ @Override public void enterTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx) { }
-
+ @Override public void exitTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterType(@NotNull BindingExpressionParser.TypeContext ctx) { }
+ @Override public void enterType(BindingExpressionParser.TypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitType(@NotNull BindingExpressionParser.TypeContext ctx) { }
-
+ @Override public void exitType(BindingExpressionParser.TypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { }
+ @Override public void enterExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { }
-
+ @Override public void exitExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx) { }
+ @Override public void enterArguments(BindingExpressionParser.ArgumentsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx) { }
-
+ @Override public void exitArguments(BindingExpressionParser.ArgumentsContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { }
+ @Override public void enterClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { }
-
+ @Override public void exitClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx) { }
+ @Override public void enterPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx) { }
-
+ @Override public void exitPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterResources(@NotNull BindingExpressionParser.ResourcesContext ctx) { }
+ @Override public void enterResources(BindingExpressionParser.ResourcesContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitResources(@NotNull BindingExpressionParser.ResourcesContext ctx) { }
-
+ @Override public void exitResources(BindingExpressionParser.ResourcesContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx) { }
+ @Override public void enterResourceParameters(BindingExpressionParser.ResourceParametersContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx) { }
+ @Override public void exitResourceParameters(BindingExpressionParser.ResourceParametersContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterEveryRule(@NotNull ParserRuleContext ctx) { }
+ @Override public void enterEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitEveryRule(@NotNull ParserRuleContext ctx) { }
+ @Override public void exitEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void visitTerminal(@NotNull TerminalNode node) { }
+ @Override public void visitTerminal(TerminalNode node) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void visitErrorNode(@NotNull ErrorNode node) { }
+ @Override public void visitErrorNode(ErrorNode node) { }
} \ No newline at end of file
diff --git a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
index 01a86e6c..5ba08bae 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
@@ -1,7 +1,5 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
/**
@@ -9,351 +7,288 @@ import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
* which can be extended to create a visitor which only needs to handle a subset
* of the available methods.
*
- * @param <Result> The return type of the visit operation. Use {@link Void} for
+ * @param <T> The return type of the visit operation. Use {@link Void} for
* operations with no return type.
*/
-public class BindingExpressionBaseVisitor<Result> extends AbstractParseTreeVisitor<Result> implements BindingExpressionVisitor<Result> {
+public class BindingExpressionBaseVisitor<T> extends AbstractParseTreeVisitor<T> implements BindingExpressionVisitor<T> {
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitCastOp(@NotNull BindingExpressionParser.CastOpContext ctx) { return visitChildren(ctx); }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation returns the result of calling
- * {@link #visitChildren} on {@code ctx}.</p>
- */
- @Override public Result visitComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx) { return visitChildren(ctx); }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation returns the result of calling
- * {@link #visitChildren} on {@code ctx}.</p>
- */
- @Override public Result visitBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitRootExpr(BindingExpressionParser.RootExprContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitRootLambda(BindingExpressionParser.RootLambdaContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitResource(@NotNull BindingExpressionParser.ResourceContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitDefaults(BindingExpressionParser.DefaultsContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitConstantValue(BindingExpressionParser.ConstantValueContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitGrouping(@NotNull BindingExpressionParser.GroupingContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx) { return visitChildren(ctx); }
-
- /**
- * {@inheritDoc}
- *
- * <p>The default implementation returns the result of calling
- * {@link #visitChildren} on {@code ctx}.</p>
- */
- @Override public Result visitPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitCastOp(BindingExpressionParser.CastOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitDotOp(@NotNull BindingExpressionParser.DotOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitComparisonOp(BindingExpressionParser.ComparisonOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitMathOp(@NotNull BindingExpressionParser.MathOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitUnaryOp(BindingExpressionParser.UnaryOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitBracketOp(BindingExpressionParser.BracketOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitResource(BindingExpressionParser.ResourceContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitGrouping(BindingExpressionParser.GroupingContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitAndOrOp(BindingExpressionParser.AndOrOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitTernaryOp(BindingExpressionParser.TernaryOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitPrimary(BindingExpressionParser.PrimaryContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitDotOp(BindingExpressionParser.DotOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitMathOp(BindingExpressionParser.MathOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitBinaryOp(BindingExpressionParser.BinaryOpContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitExpression(@NotNull BindingExpressionParser.ExpressionContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitFunctionRef(BindingExpressionParser.FunctionRefContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitClassExtraction(BindingExpressionParser.ClassExtractionContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitExpressionList(BindingExpressionParser.ExpressionListContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitLiteral(@NotNull BindingExpressionParser.LiteralContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitLiteral(BindingExpressionParser.LiteralContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitIdentifier(BindingExpressionParser.IdentifierContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitStringLiteral(BindingExpressionParser.StringLiteralContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitType(@NotNull BindingExpressionParser.TypeContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitType(BindingExpressionParser.TypeContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitArguments(BindingExpressionParser.ArgumentsContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitResources(@NotNull BindingExpressionParser.ResourcesContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitResources(BindingExpressionParser.ResourcesContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx) { return visitChildren(ctx); }
+ @Override public T visitResourceParameters(BindingExpressionParser.ResourceParametersContext ctx) { return visitChildren(ctx); }
} \ No newline at end of file
diff --git a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
index 8b8bb8b9..d89c63e6 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
@@ -1,4 +1,4 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.CharStream;
@@ -9,7 +9,13 @@ 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 BindingExpressionLexer 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,
@@ -91,7 +97,7 @@ public class BindingExpressionLexer extends Lexer {
}
@Override
- @NotNull
+
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@@ -99,7 +105,7 @@ public class BindingExpressionLexer extends Lexer {
public BindingExpressionLexer(CharStream input) {
super(input);
- _interp = new LexerATNSimulator(this,_ATN);
+ _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@Override
@@ -115,13 +121,15 @@ public class BindingExpressionLexer extends Lexer {
public String[] getModeNames() { return modeNames; }
@Override
+ public ATN getATN() { return _ATN; }
+
+ @Override
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 95:
- return JavaLetter_sempred(_localctx, predIndex);
-
+ return JavaLetter_sempred((RuleContext)_localctx, predIndex);
case 96:
- return JavaLetterOrDigit_sempred(_localctx, predIndex);
+ return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex);
}
return true;
}
@@ -129,7 +137,6 @@ public class BindingExpressionLexer extends Lexer {
switch (predIndex) {
case 0:
return Character.isJavaIdentifierStart(_input.LA(-1));
-
case 1:
return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
}
@@ -139,7 +146,6 @@ public class BindingExpressionLexer extends Lexer {
switch (predIndex) {
case 2:
return Character.isJavaIdentifierPart(_input.LA(-1));
-
case 3:
return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
}
@@ -147,7 +153,7 @@ public class BindingExpressionLexer extends Lexer {
}
public static final String _serializedATN =
- "\3\uaf6f\u8320\u479d\ub75c\u4880\u1605\u191c\uab37\2<\u0370\b\1\4\2\t"+
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2<\u0370\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"+
@@ -196,271 +202,273 @@ public class BindingExpressionLexer extends Lexer {
"\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f"+
"\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f"+
"\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f"+
- "\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\5f\u036f\nf\2\2\2g\3\2\3\5"+
- "\2\4\7\2\5\t\2\6\13\2\7\r\2\b\17\2\t\21\2\n\23\2\13\25\2\f\27\2\r\31\2"+
- "\16\33\2\17\35\2\20\37\2\21!\2\22#\2\23%\2\24\'\2\25)\2\26+\2\27-\2\30"+
- "/\2\31\61\2\32\63\2\33\65\2\34\67\2\359\2\36;\2\37=\2 ?\2!A\2\"C\2#E\2"+
- "$G\2%I\2&K\2\'M\2(O\2)Q\2*S\2+U\2,W\2-Y\2.[\2/]\2\60_\2\61a\2\2c\2\2e"+
- "\2\2g\2\2i\2\2k\2\2m\2\2o\2\2q\2\2s\2\2u\2\2w\2\2y\2\2{\2\2}\2\2\177\2"+
- "\2\u0081\2\2\u0083\2\2\u0085\2\2\u0087\2\2\u0089\2\2\u008b\2\2\u008d\2"+
- "\2\u008f\2\62\u0091\2\2\u0093\2\2\u0095\2\2\u0097\2\2\u0099\2\2\u009b"+
- "\2\2\u009d\2\2\u009f\2\2\u00a1\2\2\u00a3\2\2\u00a5\2\63\u00a7\2\64\u00a9"+
- "\2\2\u00ab\2\65\u00ad\2\66\u00af\2\2\u00b1\2\2\u00b3\2\2\u00b5\2\2\u00b7"+
- "\2\2\u00b9\2\2\u00bb\2\2\u00bd\2\67\u00bf\28\u00c1\2\2\u00c3\2\2\u00c5"+
- "\29\u00c7\2:\u00c9\2;\u00cb\2<\3\2\30\4\2NNnn\3\2\63;\4\2ZZzz\5\2\62;"+
- "CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHffhh\4\2RRrr\4\2"+
- "))^^\4\2$$^^\4\2^^bb\13\2$$))^^bbddhhppttvv\3\2\62\65\6\2&&C\\aac|\4\2"+
- "\2\u0101\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\aac|"+
- "\5\2\13\f\16\17\"\"\u0395\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\2\u008f\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7\3\2\2\2\2"+
- "\u00ab\3\2\2\2\2\u00ad\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\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\3\u00cd\3\2\2"+
- "\2\5\u00cf\3\2\2\2\7\u00d7\3\2\2\2\t\u00d9\3\2\2\2\13\u00dc\3\2\2\2\r"+
- "\u00de\3\2\2\2\17\u00e0\3\2\2\2\21\u00e2\3\2\2\2\23\u00e5\3\2\2\2\25\u00e7"+
- "\3\2\2\2\27\u00e9\3\2\2\2\31\u00eb\3\2\2\2\33\u00ed\3\2\2\2\35\u00ef\3"+
- "\2\2\2\37\u00f1\3\2\2\2!\u00f3\3\2\2\2#\u00f5\3\2\2\2%\u00f7\3\2\2\2\'"+
- "\u00fa\3\2\2\2)\u00fe\3\2\2\2+\u0101\3\2\2\2-\u0104\3\2\2\2/\u0107\3\2"+
- "\2\2\61\u0109\3\2\2\2\63\u010b\3\2\2\2\65\u0116\3\2\2\2\67\u0119\3\2\2"+
- "\29\u011c\3\2\2\2;\u011e\3\2\2\2=\u0120\3\2\2\2?\u0122\3\2\2\2A\u0125"+
- "\3\2\2\2C\u0128\3\2\2\2E\u012a\3\2\2\2G\u012c\3\2\2\2I\u012f\3\2\2\2K"+
- "\u0135\3\2\2\2M\u013d\3\2\2\2O\u0142\3\2\2\2Q\u0147\3\2\2\2S\u014d\3\2"+
- "\2\2U\u0151\3\2\2\2W\u0156\3\2\2\2Y\u015c\3\2\2\2[\u0163\3\2\2\2]\u0179"+
- "\3\2\2\2_\u017f\3\2\2\2a\u0181\3\2\2\2c\u0185\3\2\2\2e\u0189\3\2\2\2g"+
- "\u018d\3\2\2\2i\u0191\3\2\2\2k\u019d\3\2\2\2m\u019f\3\2\2\2o\u01ab\3\2"+
- "\2\2q\u01ad\3\2\2\2s\u01b1\3\2\2\2u\u01b4\3\2\2\2w\u01b8\3\2\2\2y\u01bc"+
- "\3\2\2\2{\u01c6\3\2\2\2}\u01ca\3\2\2\2\177\u01cc\3\2\2\2\u0081\u01d2\3"+
- "\2\2\2\u0083\u01dc\3\2\2\2\u0085\u01e0\3\2\2\2\u0087\u01e2\3\2\2\2\u0089"+
- "\u01e6\3\2\2\2\u008b\u01f0\3\2\2\2\u008d\u01f4\3\2\2\2\u008f\u01f8\3\2"+
- "\2\2\u0091\u0215\3\2\2\2\u0093\u0217\3\2\2\2\u0095\u021a\3\2\2\2\u0097"+
- "\u021d\3\2\2\2\u0099\u0221\3\2\2\2\u009b\u0223\3\2\2\2\u009d\u0225\3\2"+
- "\2\2\u009f\u0235\3\2\2\2\u00a1\u0237\3\2\2\2\u00a3\u023a\3\2\2\2\u00a5"+
- "\u0245\3\2\2\2\u00a7\u024f\3\2\2\2\u00a9\u0251\3\2\2\2\u00ab\u0253\3\2"+
- "\2\2\u00ad\u025c\3\2\2\2\u00af\u0263\3\2\2\2\u00b1\u0269\3\2\2\2\u00b3"+
- "\u026d\3\2\2\2\u00b5\u0273\3\2\2\2\u00b7\u0280\3\2\2\2\u00b9\u0282\3\2"+
- "\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u0290\3\2\2\2\u00c1"+
- "\u029d\3\2\2\2\u00c3\u02a5\3\2\2\2\u00c5\u02a8\3\2\2\2\u00c7\u02ae\3\2"+
- "\2\2\u00c9\u02c0\3\2\2\2\u00cb\u036e\3\2\2\2\u00cd\u00ce\7.\2\2\u00ce"+
- "\4\3\2\2\2\u00cf\u00d0\7f\2\2\u00d0\u00d1\7g\2\2\u00d1\u00d2\7h\2\2\u00d2"+
- "\u00d3\7c\2\2\u00d3\u00d4\7w\2\2\u00d4\u00d5\7n\2\2\u00d5\u00d6\7v\2\2"+
- "\u00d6\6\3\2\2\2\u00d7\u00d8\7?\2\2\u00d8\b\3\2\2\2\u00d9\u00da\7/\2\2"+
- "\u00da\u00db\7@\2\2\u00db\n\3\2\2\2\u00dc\u00dd\7*\2\2\u00dd\f\3\2\2\2"+
- "\u00de\u00df\7+\2\2\u00df\16\3\2\2\2\u00e0\u00e1\7\60\2\2\u00e1\20\3\2"+
- "\2\2\u00e2\u00e3\7<\2\2\u00e3\u00e4\7<\2\2\u00e4\22\3\2\2\2\u00e5\u00e6"+
- "\7]\2\2\u00e6\24\3\2\2\2\u00e7\u00e8\7_\2\2\u00e8\26\3\2\2\2\u00e9\u00ea"+
- "\7-\2\2\u00ea\30\3\2\2\2\u00eb\u00ec\7/\2\2\u00ec\32\3\2\2\2\u00ed\u00ee"+
- "\7\u0080\2\2\u00ee\34\3\2\2\2\u00ef\u00f0\7#\2\2\u00f0\36\3\2\2\2\u00f1"+
- "\u00f2\7,\2\2\u00f2 \3\2\2\2\u00f3\u00f4\7\61\2\2\u00f4\"\3\2\2\2\u00f5"+
- "\u00f6\7\'\2\2\u00f6$\3\2\2\2\u00f7\u00f8\7>\2\2\u00f8\u00f9\7>\2\2\u00f9"+
- "&\3\2\2\2\u00fa\u00fb\7@\2\2\u00fb\u00fc\7@\2\2\u00fc\u00fd\7@\2\2\u00fd"+
- "(\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff\u0100\7@\2\2\u0100*\3\2\2\2\u0101\u0102"+
- "\7>\2\2\u0102\u0103\7?\2\2\u0103,\3\2\2\2\u0104\u0105\7@\2\2\u0105\u0106"+
- "\7?\2\2\u0106.\3\2\2\2\u0107\u0108\7@\2\2\u0108\60\3\2\2\2\u0109\u010a"+
- "\7>\2\2\u010a\62\3\2\2\2\u010b\u010c\7k\2\2\u010c\u010d\7p\2\2\u010d\u010e"+
- "\7u\2\2\u010e\u010f\7v\2\2\u010f\u0110\7c\2\2\u0110\u0111\7p\2\2\u0111"+
- "\u0112\7e\2\2\u0112\u0113\7g\2\2\u0113\u0114\7q\2\2\u0114\u0115\7h\2\2"+
- "\u0115\64\3\2\2\2\u0116\u0117\7?\2\2\u0117\u0118\7?\2\2\u0118\66\3\2\2"+
- "\2\u0119\u011a\7#\2\2\u011a\u011b\7?\2\2\u011b8\3\2\2\2\u011c\u011d\7"+
- "(\2\2\u011d:\3\2\2\2\u011e\u011f\7`\2\2\u011f<\3\2\2\2\u0120\u0121\7~"+
- "\2\2\u0121>\3\2\2\2\u0122\u0123\7(\2\2\u0123\u0124\7(\2\2\u0124@\3\2\2"+
- "\2\u0125\u0126\7~\2\2\u0126\u0127\7~\2\2\u0127B\3\2\2\2\u0128\u0129\7"+
- "A\2\2\u0129D\3\2\2\2\u012a\u012b\7<\2\2\u012bF\3\2\2\2\u012c\u012d\7A"+
- "\2\2\u012d\u012e\7A\2\2\u012eH\3\2\2\2\u012f\u0130\7e\2\2\u0130\u0131"+
- "\7n\2\2\u0131\u0132\7c\2\2\u0132\u0133\7u\2\2\u0133\u0134\7u\2\2\u0134"+
- "J\3\2\2\2\u0135\u0136\7d\2\2\u0136\u0137\7q\2\2\u0137\u0138\7q\2\2\u0138"+
- "\u0139\7n\2\2\u0139\u013a\7g\2\2\u013a\u013b\7c\2\2\u013b\u013c\7p\2\2"+
- "\u013cL\3\2\2\2\u013d\u013e\7e\2\2\u013e\u013f\7j\2\2\u013f\u0140\7c\2"+
- "\2\u0140\u0141\7t\2\2\u0141N\3\2\2\2\u0142\u0143\7d\2\2\u0143\u0144\7"+
- "{\2\2\u0144\u0145\7v\2\2\u0145\u0146\7g\2\2\u0146P\3\2\2\2\u0147\u0148"+
- "\7u\2\2\u0148\u0149\7j\2\2\u0149\u014a\7q\2\2\u014a\u014b\7t\2\2\u014b"+
- "\u014c\7v\2\2\u014cR\3\2\2\2\u014d\u014e\7k\2\2\u014e\u014f\7p\2\2\u014f"+
- "\u0150\7v\2\2\u0150T\3\2\2\2\u0151\u0152\7n\2\2\u0152\u0153\7q\2\2\u0153"+
- "\u0154\7p\2\2\u0154\u0155\7i\2\2\u0155V\3\2\2\2\u0156\u0157\7h\2\2\u0157"+
- "\u0158\7n\2\2\u0158\u0159\7q\2\2\u0159\u015a\7c\2\2\u015a\u015b\7v\2\2"+
- "\u015bX\3\2\2\2\u015c\u015d\7f\2\2\u015d\u015e\7q\2\2\u015e\u015f\7w\2"+
- "\2\u015f\u0160\7d\2\2\u0160\u0161\7n\2\2\u0161\u0162\7g\2\2\u0162Z\3\2"+
- "\2\2\u0163\u0164\7v\2\2\u0164\u0165\7j\2\2\u0165\u0166\7k\2\2\u0166\u0167"+
- "\7u\2\2\u0167\\\3\2\2\2\u0168\u0169\7X\2\2\u0169\u016a\7q\2\2\u016a\u016b"+
- "\7k\2\2\u016b\u017a\7f\2\2\u016c\u016d\7x\2\2\u016d\u016e\7q\2\2\u016e"+
- "\u016f\7k\2\2\u016f\u017a\7f\2\2\u0170\u0171\7\u00b1\2\2\u0171\u0172\7"+
- "^\2\2\u0172\u0173\7a\2\2\u0173\u0174\7*\2\2\u0174\u0175\7\u30c6\2\2\u0175"+
- "\u0176\7+\2\2\u0176\u0177\7a\2\2\u0177\u0178\7\61\2\2\u0178\u017a\7\u00b1"+
- "\2\2\u0179\u0168\3\2\2\2\u0179\u016c\3\2\2\2\u0179\u0170\3\2\2\2\u017a"+
- "^\3\2\2\2\u017b\u0180\5a\61\2\u017c\u0180\5c\62\2\u017d\u0180\5e\63\2"+
- "\u017e\u0180\5g\64\2\u017f\u017b\3\2\2\2\u017f\u017c\3\2\2\2\u017f\u017d"+
- "\3\2\2\2\u017f\u017e\3\2\2\2\u0180`\3\2\2\2\u0181\u0183\5k\66\2\u0182"+
- "\u0184\5i\65\2\u0183\u0182\3\2\2\2\u0183\u0184\3\2\2\2\u0184b\3\2\2\2"+
- "\u0185\u0187\5w<\2\u0186\u0188\5i\65\2\u0187\u0186\3\2\2\2\u0187\u0188"+
- "\3\2\2\2\u0188d\3\2\2\2\u0189\u018b\5\177@\2\u018a\u018c\5i\65\2\u018b"+
- "\u018a\3\2\2\2\u018b\u018c\3\2\2\2\u018cf\3\2\2\2\u018d\u018f\5\u0087"+
- "D\2\u018e\u0190\5i\65\2\u018f\u018e\3\2\2\2\u018f\u0190\3\2\2\2\u0190"+
- "h\3\2\2\2\u0191\u0192\t\2\2\2\u0192j\3\2\2\2\u0193\u019e\7\62\2\2\u0194"+
- "\u019b\5q9\2\u0195\u0197\5m\67\2\u0196\u0195\3\2\2\2\u0196\u0197\3\2\2"+
- "\2\u0197\u019c\3\2\2\2\u0198\u0199\5u;\2\u0199\u019a\5m\67\2\u019a\u019c"+
- "\3\2\2\2\u019b\u0196\3\2\2\2\u019b\u0198\3\2\2\2\u019c\u019e\3\2\2\2\u019d"+
- "\u0193\3\2\2\2\u019d\u0194\3\2\2\2\u019el\3\2\2\2\u019f\u01a7\5o8\2\u01a0"+
- "\u01a2\5s:\2\u01a1\u01a0\3\2\2\2\u01a2\u01a5\3\2\2\2\u01a3\u01a1\3\2\2"+
- "\2\u01a3\u01a4\3\2\2\2\u01a4\u01a6\3\2\2\2\u01a5\u01a3\3\2\2\2\u01a6\u01a8"+
- "\5o8\2\u01a7\u01a3\3\2\2\2\u01a7\u01a8\3\2\2\2\u01a8n\3\2\2\2\u01a9\u01ac"+
- "\7\62\2\2\u01aa\u01ac\5q9\2\u01ab\u01a9\3\2\2\2\u01ab\u01aa\3\2\2\2\u01ac"+
- "p\3\2\2\2\u01ad\u01ae\t\3\2\2\u01aer\3\2\2\2\u01af\u01b2\5o8\2\u01b0\u01b2"+
- "\7a\2\2\u01b1\u01af\3\2\2\2\u01b1\u01b0\3\2\2\2\u01b2t\3\2\2\2\u01b3\u01b5"+
- "\7a\2\2\u01b4\u01b3\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u01b4\3\2\2\2\u01b6"+
- "\u01b7\3\2\2\2\u01b7v\3\2\2\2\u01b8\u01b9\7\62\2\2\u01b9\u01ba\t\4\2\2"+
- "\u01ba\u01bb\5y=\2\u01bbx\3\2\2\2\u01bc\u01c4\5{>\2\u01bd\u01bf\5}?\2"+
- "\u01be\u01bd\3\2\2\2\u01bf\u01c2\3\2\2\2\u01c0\u01be\3\2\2\2\u01c0\u01c1"+
- "\3\2\2\2\u01c1\u01c3\3\2\2\2\u01c2\u01c0\3\2\2\2\u01c3\u01c5\5{>\2\u01c4"+
- "\u01c0\3\2\2\2\u01c4\u01c5\3\2\2\2\u01c5z\3\2\2\2\u01c6\u01c7\t\5\2\2"+
- "\u01c7|\3\2\2\2\u01c8\u01cb\5{>\2\u01c9\u01cb\7a\2\2\u01ca\u01c8\3\2\2"+
- "\2\u01ca\u01c9\3\2\2\2\u01cb~\3\2\2\2\u01cc\u01ce\7\62\2\2\u01cd\u01cf"+
- "\5u;\2\u01ce\u01cd\3\2\2\2\u01ce\u01cf\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0"+
- "\u01d1\5\u0081A\2\u01d1\u0080\3\2\2\2\u01d2\u01da\5\u0083B\2\u01d3\u01d5"+
- "\5\u0085C\2\u01d4\u01d3\3\2\2\2\u01d5\u01d8\3\2\2\2\u01d6\u01d4\3\2\2"+
- "\2\u01d6\u01d7\3\2\2\2\u01d7\u01d9\3\2\2\2\u01d8\u01d6\3\2\2\2\u01d9\u01db"+
- "\5\u0083B\2\u01da\u01d6\3\2\2\2\u01da\u01db\3\2\2\2\u01db\u0082\3\2\2"+
- "\2\u01dc\u01dd\t\6\2\2\u01dd\u0084\3\2\2\2\u01de\u01e1\5\u0083B\2\u01df"+
- "\u01e1\7a\2\2\u01e0\u01de\3\2\2\2\u01e0\u01df\3\2\2\2\u01e1\u0086\3\2"+
- "\2\2\u01e2\u01e3\7\62\2\2\u01e3\u01e4\t\7\2\2\u01e4\u01e5\5\u0089E\2\u01e5"+
- "\u0088\3\2\2\2\u01e6\u01ee\5\u008bF\2\u01e7\u01e9\5\u008dG\2\u01e8\u01e7"+
- "\3\2\2\2\u01e9\u01ec\3\2\2\2\u01ea\u01e8\3\2\2\2\u01ea\u01eb\3\2\2\2\u01eb"+
- "\u01ed\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ed\u01ef\5\u008bF\2\u01ee\u01ea"+
- "\3\2\2\2\u01ee\u01ef\3\2\2\2\u01ef\u008a\3\2\2\2\u01f0\u01f1\t\b\2\2\u01f1"+
- "\u008c\3\2\2\2\u01f2\u01f5\5\u008bF\2\u01f3\u01f5\7a\2\2\u01f4\u01f2\3"+
- "\2\2\2\u01f4\u01f3\3\2\2\2\u01f5\u008e\3\2\2\2\u01f6\u01f9\5\u0091I\2"+
- "\u01f7\u01f9\5\u009dO\2\u01f8\u01f6\3\2\2\2\u01f8\u01f7\3\2\2\2\u01f9"+
- "\u0090\3\2\2\2\u01fa\u01fb\5m\67\2\u01fb\u01fd\7\60\2\2\u01fc\u01fe\5"+
- "m\67\2\u01fd\u01fc\3\2\2\2\u01fd\u01fe\3\2\2\2\u01fe\u0200\3\2\2\2\u01ff"+
- "\u0201\5\u0093J\2\u0200\u01ff\3\2\2\2\u0200\u0201\3\2\2\2\u0201\u0203"+
- "\3\2\2\2\u0202\u0204\5\u009bN\2\u0203\u0202\3\2\2\2\u0203\u0204\3\2\2"+
- "\2\u0204\u0216\3\2\2\2\u0205\u0206\7\60\2\2\u0206\u0208\5m\67\2\u0207"+
- "\u0209\5\u0093J\2\u0208\u0207\3\2\2\2\u0208\u0209\3\2\2\2\u0209\u020b"+
- "\3\2\2\2\u020a\u020c\5\u009bN\2\u020b\u020a\3\2\2\2\u020b\u020c\3\2\2"+
- "\2\u020c\u0216\3\2\2\2\u020d\u020e\5m\67\2\u020e\u0210\5\u0093J\2\u020f"+
- "\u0211\5\u009bN\2\u0210\u020f\3\2\2\2\u0210\u0211\3\2\2\2\u0211\u0216"+
- "\3\2\2\2\u0212\u0213\5m\67\2\u0213\u0214\5\u009bN\2\u0214\u0216\3\2\2"+
- "\2\u0215\u01fa\3\2\2\2\u0215\u0205\3\2\2\2\u0215\u020d\3\2\2\2\u0215\u0212"+
- "\3\2\2\2\u0216\u0092\3\2\2\2\u0217\u0218\5\u0095K\2\u0218\u0219\5\u0097"+
- "L\2\u0219\u0094\3\2\2\2\u021a\u021b\t\t\2\2\u021b\u0096\3\2\2\2\u021c"+
- "\u021e\5\u0099M\2\u021d\u021c\3\2\2\2\u021d\u021e\3\2\2\2\u021e\u021f"+
- "\3\2\2\2\u021f\u0220\5m\67\2\u0220\u0098\3\2\2\2\u0221\u0222\t\n\2\2\u0222"+
- "\u009a\3\2\2\2\u0223\u0224\t\13\2\2\u0224\u009c\3\2\2\2\u0225\u0226\5"+
- "\u009fP\2\u0226\u0228\5\u00a1Q\2\u0227\u0229\5\u009bN\2\u0228\u0227\3"+
- "\2\2\2\u0228\u0229\3\2\2\2\u0229\u009e\3\2\2\2\u022a\u022c\5w<\2\u022b"+
- "\u022d\7\60\2\2\u022c\u022b\3\2\2\2\u022c\u022d\3\2\2\2\u022d\u0236\3"+
- "\2\2\2\u022e\u022f\7\62\2\2\u022f\u0231\t\4\2\2\u0230\u0232\5y=\2\u0231"+
- "\u0230\3\2\2\2\u0231\u0232\3\2\2\2\u0232\u0233\3\2\2\2\u0233\u0234\7\60"+
- "\2\2\u0234\u0236\5y=\2\u0235\u022a\3\2\2\2\u0235\u022e\3\2\2\2\u0236\u00a0"+
- "\3\2\2\2\u0237\u0238\5\u00a3R\2\u0238\u0239\5\u0097L\2\u0239\u00a2\3\2"+
- "\2\2\u023a\u023b\t\f\2\2\u023b\u00a4\3\2\2\2\u023c\u023d\7v\2\2\u023d"+
- "\u023e\7t\2\2\u023e\u023f\7w\2\2\u023f\u0246\7g\2\2\u0240\u0241\7h\2\2"+
- "\u0241\u0242\7c\2\2\u0242\u0243\7n\2\2\u0243\u0244\7u\2\2\u0244\u0246"+
- "\7g\2\2\u0245\u023c\3\2\2\2\u0245\u0240\3\2\2\2\u0246\u00a6\3\2\2\2\u0247"+
- "\u0248\7)\2\2\u0248\u0249\5\u00a9U\2\u0249\u024a\7)\2\2\u024a\u0250\3"+
- "\2\2\2\u024b\u024c\7)\2\2\u024c\u024d\5\u00b5[\2\u024d\u024e\7)\2\2\u024e"+
- "\u0250\3\2\2\2\u024f\u0247\3\2\2\2\u024f\u024b\3\2\2\2\u0250\u00a8\3\2"+
- "\2\2\u0251\u0252\n\r\2\2\u0252\u00aa\3\2\2\2\u0253\u0257\7b\2\2\u0254"+
- "\u0256\5\u00b3Z\2\u0255\u0254\3\2\2\2\u0256\u0259\3\2\2\2\u0257\u0255"+
- "\3\2\2\2\u0257\u0258\3\2\2\2\u0258\u025a\3\2\2\2\u0259\u0257\3\2\2\2\u025a"+
- "\u025b\7b\2\2\u025b\u00ac\3\2\2\2\u025c\u025e\7$\2\2\u025d\u025f\5\u00af"+
- "X\2\u025e\u025d\3\2\2\2\u025e\u025f\3\2\2\2\u025f\u0260\3\2\2\2\u0260"+
- "\u0261\7$\2\2\u0261\u00ae\3\2\2\2\u0262\u0264\5\u00b1Y\2\u0263\u0262\3"+
- "\2\2\2\u0264\u0265\3\2\2\2\u0265\u0263\3\2\2\2\u0265\u0266\3\2\2\2\u0266"+
- "\u00b0\3\2\2\2\u0267\u026a\n\16\2\2\u0268\u026a\5\u00b5[\2\u0269\u0267"+
- "\3\2\2\2\u0269\u0268\3\2\2\2\u026a\u00b2\3\2\2\2\u026b\u026e\n\17\2\2"+
- "\u026c\u026e\5\u00b5[\2\u026d\u026b\3\2\2\2\u026d\u026c\3\2\2\2\u026e"+
- "\u00b4\3\2\2\2\u026f\u0270\7^\2\2\u0270\u0274\t\20\2\2\u0271\u0274\5\u00b7"+
- "\\\2\u0272\u0274\5\u00b9]\2\u0273\u026f\3\2\2\2\u0273\u0271\3\2\2\2\u0273"+
- "\u0272\3\2\2\2\u0274\u00b6\3\2\2\2\u0275\u0276\7^\2\2\u0276\u0281\5\u0083"+
- "B\2\u0277\u0278\7^\2\2\u0278\u0279\5\u0083B\2\u0279\u027a\5\u0083B\2\u027a"+
- "\u0281\3\2\2\2\u027b\u027c\7^\2\2\u027c\u027d\5\u00bb^\2\u027d\u027e\5"+
- "\u0083B\2\u027e\u027f\5\u0083B\2\u027f\u0281\3\2\2\2\u0280\u0275\3\2\2"+
- "\2\u0280\u0277\3\2\2\2\u0280\u027b\3\2\2\2\u0281\u00b8\3\2\2\2\u0282\u0283"+
- "\7^\2\2\u0283\u0284\7w\2\2\u0284\u0285\5{>\2\u0285\u0286\5{>\2\u0286\u0287"+
- "\5{>\2\u0287\u0288\5{>\2\u0288\u00ba\3\2\2\2\u0289\u028a\t\21\2\2\u028a"+
- "\u00bc\3\2\2\2\u028b\u028c\7p\2\2\u028c\u028d\7w\2\2\u028d\u028e\7n\2"+
- "\2\u028e\u028f\7n\2\2\u028f\u00be\3\2\2\2\u0290\u0294\5\u00c1a\2\u0291"+
- "\u0293\5\u00c3b\2\u0292\u0291\3\2\2\2\u0293\u0296\3\2\2\2\u0294\u0292"+
- "\3\2\2\2\u0294\u0295\3\2\2\2\u0295\u00c0\3\2\2\2\u0296\u0294\3\2\2\2\u0297"+
- "\u029e\t\22\2\2\u0298\u0299\n\23\2\2\u0299\u029e\6a\2\2\u029a\u029b\t"+
- "\24\2\2\u029b\u029c\t\25\2\2\u029c\u029e\6a\3\2\u029d\u0297\3\2\2\2\u029d"+
- "\u0298\3\2\2\2\u029d\u029a\3\2\2\2\u029e\u00c2\3\2\2\2\u029f\u02a6\t\26"+
- "\2\2\u02a0\u02a1\n\23\2\2\u02a1\u02a6\6b\4\2\u02a2\u02a3\t\24\2\2\u02a3"+
- "\u02a4\t\25\2\2\u02a4\u02a6\6b\5\2\u02a5\u029f\3\2\2\2\u02a5\u02a0\3\2"+
- "\2\2\u02a5\u02a2\3\2\2\2\u02a6\u00c4\3\2\2\2\u02a7\u02a9\t\27\2\2\u02a8"+
- "\u02a7\3\2\2\2\u02a9\u02aa\3\2\2\2\u02aa\u02a8\3\2\2\2\u02aa\u02ab\3\2"+
- "\2\2\u02ab\u02ac\3\2\2\2\u02ac\u02ad\bc\2\2\u02ad\u00c6\3\2\2\2\u02ae"+
- "\u02b2\7B\2\2\u02af\u02b0\5\u00c9e\2\u02b0\u02b1\7<\2\2\u02b1\u02b3\3"+
- "\2\2\2\u02b2\u02af\3\2\2\2\u02b2\u02b3\3\2\2\2\u02b3\u02b4\3\2\2\2\u02b4"+
- "\u02b5\5\u00cbf\2\u02b5\u02b6\7\61\2\2\u02b6\u02b7\5\u00bf`\2\u02b7\u00c8"+
- "\3\2\2\2\u02b8\u02b9\7c\2\2\u02b9\u02ba\7p\2\2\u02ba\u02bb\7f\2\2\u02bb"+
- "\u02bc\7t\2\2\u02bc\u02bd\7q\2\2\u02bd\u02be\7k\2\2\u02be\u02c1\7f\2\2"+
- "\u02bf\u02c1\5\u00bf`\2\u02c0\u02b8\3\2\2\2\u02c0\u02bf\3\2\2\2\u02c1"+
- "\u00ca\3\2\2\2\u02c2\u02c3\7c\2\2\u02c3\u02c4\7p\2\2\u02c4\u02c5\7k\2"+
- "\2\u02c5\u036f\7o\2\2\u02c6\u02c7\7c\2\2\u02c7\u02c8\7p\2\2\u02c8\u02c9"+
- "\7k\2\2\u02c9\u02ca\7o\2\2\u02ca\u02cb\7c\2\2\u02cb\u02cc\7v\2\2\u02cc"+
- "\u02cd\7q\2\2\u02cd\u036f\7t\2\2\u02ce\u02cf\7d\2\2\u02cf\u02d0\7q\2\2"+
- "\u02d0\u02d1\7q\2\2\u02d1\u036f\7n\2\2\u02d2\u02d3\7e\2\2\u02d3\u02d4"+
- "\7q\2\2\u02d4\u02d5\7n\2\2\u02d5\u02d6\7q\2\2\u02d6\u036f\7t\2\2\u02d7"+
- "\u02d8\7e\2\2\u02d8\u02d9\7q\2\2\u02d9\u02da\7n\2\2\u02da\u02db\7q\2\2"+
- "\u02db\u02dc\7t\2\2\u02dc\u02dd\7U\2\2\u02dd\u02de\7v\2\2\u02de\u02df"+
- "\7c\2\2\u02df\u02e0\7v\2\2\u02e0\u02e1\7g\2\2\u02e1\u02e2\7N\2\2\u02e2"+
- "\u02e3\7k\2\2\u02e3\u02e4\7u\2\2\u02e4\u036f\7v\2\2\u02e5\u02e6\7f\2\2"+
- "\u02e6\u02e7\7k\2\2\u02e7\u02e8\7o\2\2\u02e8\u02e9\7g\2\2\u02e9\u036f"+
- "\7p\2\2\u02ea\u02eb\7f\2\2\u02eb\u02ec\7k\2\2\u02ec\u02ed\7o\2\2\u02ed"+
- "\u02ee\7g\2\2\u02ee\u02ef\7p\2\2\u02ef\u02f0\7Q\2\2\u02f0\u02f1\7h\2\2"+
- "\u02f1\u02f2\7h\2\2\u02f2\u02f3\7u\2\2\u02f3\u02f4\7g\2\2\u02f4\u036f"+
- "\7v\2\2\u02f5\u02f6\7f\2\2\u02f6\u02f7\7k\2\2\u02f7\u02f8\7o\2\2\u02f8"+
- "\u02f9\7g\2\2\u02f9\u02fa\7p\2\2\u02fa\u02fb\7U\2\2\u02fb\u02fc\7k\2\2"+
- "\u02fc\u02fd\7|\2\2\u02fd\u036f\7g\2\2\u02fe\u02ff\7f\2\2\u02ff\u0300"+
- "\7t\2\2\u0300\u0301\7c\2\2\u0301\u0302\7y\2\2\u0302\u0303\7c\2\2\u0303"+
- "\u0304\7d\2\2\u0304\u0305\7n\2\2\u0305\u036f\7g\2\2\u0306\u0307\7h\2\2"+
- "\u0307\u0308\7t\2\2\u0308\u0309\7c\2\2\u0309\u030a\7e\2\2\u030a\u030b"+
- "\7v\2\2\u030b\u030c\7k\2\2\u030c\u030d\7q\2\2\u030d\u036f\7p\2\2\u030e"+
- "\u030f\7k\2\2\u030f\u036f\7f\2\2\u0310\u0311\7k\2\2\u0311\u0312\7p\2\2"+
- "\u0312\u0313\7v\2\2\u0313\u0314\7g\2\2\u0314\u0315\7i\2\2\u0315\u0316"+
- "\7g\2\2\u0316\u036f\7t\2\2\u0317\u0318\7k\2\2\u0318\u0319\7p\2\2\u0319"+
- "\u031a\7v\2\2\u031a\u031b\7C\2\2\u031b\u031c\7t\2\2\u031c\u031d\7t\2\2"+
- "\u031d\u031e\7c\2\2\u031e\u036f\7{\2\2\u031f\u0320\7k\2\2\u0320\u0321"+
- "\7p\2\2\u0321\u0322\7v\2\2\u0322\u0323\7g\2\2\u0323\u0324\7t\2\2\u0324"+
- "\u0325\7r\2\2\u0325\u0326\7q\2\2\u0326\u0327\7n\2\2\u0327\u0328\7c\2\2"+
- "\u0328\u0329\7v\2\2\u0329\u032a\7q\2\2\u032a\u036f\7t\2\2\u032b\u032c"+
- "\7n\2\2\u032c\u032d\7c\2\2\u032d\u032e\7{\2\2\u032e\u032f\7q\2\2\u032f"+
- "\u0330\7w\2\2\u0330\u036f\7v\2\2\u0331\u0332\7r\2\2\u0332\u0333\7n\2\2"+
- "\u0333\u0334\7w\2\2\u0334\u0335\7t\2\2\u0335\u0336\7c\2\2\u0336\u0337"+
- "\7n\2\2\u0337\u036f\7u\2\2\u0338\u0339\7u\2\2\u0339\u033a\7v\2\2\u033a"+
- "\u033b\7c\2\2\u033b\u033c\7v\2\2\u033c\u033d\7g\2\2\u033d\u033e\7N\2\2"+
- "\u033e\u033f\7k\2\2\u033f\u0340\7u\2\2\u0340\u0341\7v\2\2\u0341\u0342"+
- "\7C\2\2\u0342\u0343\7p\2\2\u0343\u0344\7k\2\2\u0344\u0345\7o\2\2\u0345"+
- "\u0346\7c\2\2\u0346\u0347\7v\2\2\u0347\u0348\7q\2\2\u0348\u036f\7t\2\2"+
- "\u0349\u034a\7u\2\2\u034a\u034b\7v\2\2\u034b\u034c\7t\2\2\u034c\u034d"+
- "\7k\2\2\u034d\u034e\7p\2\2\u034e\u036f\7i\2\2\u034f\u0350\7u\2\2\u0350"+
- "\u0351\7v\2\2\u0351\u0352\7t\2\2\u0352\u0353\7k\2\2\u0353\u0354\7p\2\2"+
- "\u0354\u0355\7i\2\2\u0355\u0356\7C\2\2\u0356\u0357\7t\2\2\u0357\u0358"+
- "\7t\2\2\u0358\u0359\7c\2\2\u0359\u036f\7{\2\2\u035a\u035b\7v\2\2\u035b"+
- "\u035c\7t\2\2\u035c\u035d\7c\2\2\u035d\u035e\7p\2\2\u035e\u035f\7u\2\2"+
- "\u035f\u0360\7k\2\2\u0360\u0361\7v\2\2\u0361\u0362\7k\2\2\u0362\u0363"+
- "\7q\2\2\u0363\u036f\7p\2\2\u0364\u0365\7v\2\2\u0365\u0366\7{\2\2\u0366"+
- "\u0367\7r\2\2\u0367\u0368\7g\2\2\u0368\u0369\7f\2\2\u0369\u036a\7C\2\2"+
- "\u036a\u036b\7t\2\2\u036b\u036c\7t\2\2\u036c\u036d\7c\2\2\u036d\u036f"+
- "\7{\2\2\u036e\u02c2\3\2\2\2\u036e\u02c6\3\2\2\2\u036e\u02ce\3\2\2\2\u036e"+
- "\u02d2\3\2\2\2\u036e\u02d7\3\2\2\2\u036e\u02e5\3\2\2\2\u036e\u02ea\3\2"+
- "\2\2\u036e\u02f5\3\2\2\2\u036e\u02fe\3\2\2\2\u036e\u0306\3\2\2\2\u036e"+
- "\u030e\3\2\2\2\u036e\u0310\3\2\2\2\u036e\u0317\3\2\2\2\u036e\u031f\3\2"+
- "\2\2\u036e\u032b\3\2\2\2\u036e\u0331\3\2\2\2\u036e\u0338\3\2\2\2\u036e"+
- "\u0349\3\2\2\2\u036e\u034f\3\2\2\2\u036e\u035a\3\2\2\2\u036e\u0364\3\2"+
- "\2\2\u036f\u00cc\3\2\2\28\2\u0179\u017f\u0183\u0187\u018b\u018f\u0196"+
- "\u019b\u019d\u01a3\u01a7\u01ab\u01b1\u01b6\u01c0\u01c4\u01ca\u01ce\u01d6"+
- "\u01da\u01e0\u01ea\u01ee\u01f4\u01f8\u01fd\u0200\u0203\u0208\u020b\u0210"+
- "\u0215\u021d\u0228\u022c\u0231\u0235\u0245\u024f\u0257\u025e\u0265\u0269"+
- "\u026d\u0273\u0280\u0294\u029d\u02a5\u02aa\u02b2\u02c0\u036e\3\b\2\2";
+ "\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\3f\5f\u036f\nf\2\2g\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\2c\2e\2g\2i\2k\2m\2o\2q\2s\2u\2w\2"+
+ "y\2{\2}\2\177\2\u0081\2\u0083\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d"+
+ "\2\u008f\62\u0091\2\u0093\2\u0095\2\u0097\2\u0099\2\u009b\2\u009d\2\u009f"+
+ "\2\u00a1\2\u00a3\2\u00a5\63\u00a7\64\u00a9\2\u00ab\65\u00ad\66\u00af\2"+
+ "\u00b1\2\u00b3\2\u00b5\2\u00b7\2\u00b9\2\u00bb\2\u00bd\67\u00bf8\u00c1"+
+ "\2\u00c3\2\u00c59\u00c7:\u00c9;\u00cb<\3\2\30\4\2NNnn\3\2\63;\4\2ZZzz"+
+ "\5\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHffhh\4\2"+
+ "RRrr\4\2))^^\4\2$$^^\4\2^^bb\13\2$$))^^bbddhhppttvv\3\2\62\65\6\2&&C\\"+
+ "aac|\4\2\2\u0101\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62"+
+ ";C\\aac|\5\2\13\f\16\17\"\"\u0395\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\2"+
+ "O\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\2\u008f\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7\3"+
+ "\2\2\2\2\u00ab\3\2\2\2\2\u00ad\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\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\3\u00cd"+
+ "\3\2\2\2\5\u00cf\3\2\2\2\7\u00d7\3\2\2\2\t\u00d9\3\2\2\2\13\u00dc\3\2"+
+ "\2\2\r\u00de\3\2\2\2\17\u00e0\3\2\2\2\21\u00e2\3\2\2\2\23\u00e5\3\2\2"+
+ "\2\25\u00e7\3\2\2\2\27\u00e9\3\2\2\2\31\u00eb\3\2\2\2\33\u00ed\3\2\2\2"+
+ "\35\u00ef\3\2\2\2\37\u00f1\3\2\2\2!\u00f3\3\2\2\2#\u00f5\3\2\2\2%\u00f7"+
+ "\3\2\2\2\'\u00fa\3\2\2\2)\u00fe\3\2\2\2+\u0101\3\2\2\2-\u0104\3\2\2\2"+
+ "/\u0107\3\2\2\2\61\u0109\3\2\2\2\63\u010b\3\2\2\2\65\u0116\3\2\2\2\67"+
+ "\u0119\3\2\2\29\u011c\3\2\2\2;\u011e\3\2\2\2=\u0120\3\2\2\2?\u0122\3\2"+
+ "\2\2A\u0125\3\2\2\2C\u0128\3\2\2\2E\u012a\3\2\2\2G\u012c\3\2\2\2I\u012f"+
+ "\3\2\2\2K\u0135\3\2\2\2M\u013d\3\2\2\2O\u0142\3\2\2\2Q\u0147\3\2\2\2S"+
+ "\u014d\3\2\2\2U\u0151\3\2\2\2W\u0156\3\2\2\2Y\u015c\3\2\2\2[\u0163\3\2"+
+ "\2\2]\u0179\3\2\2\2_\u017f\3\2\2\2a\u0181\3\2\2\2c\u0185\3\2\2\2e\u0189"+
+ "\3\2\2\2g\u018d\3\2\2\2i\u0191\3\2\2\2k\u019d\3\2\2\2m\u019f\3\2\2\2o"+
+ "\u01ab\3\2\2\2q\u01ad\3\2\2\2s\u01b1\3\2\2\2u\u01b4\3\2\2\2w\u01b8\3\2"+
+ "\2\2y\u01bc\3\2\2\2{\u01c6\3\2\2\2}\u01ca\3\2\2\2\177\u01cc\3\2\2\2\u0081"+
+ "\u01d2\3\2\2\2\u0083\u01dc\3\2\2\2\u0085\u01e0\3\2\2\2\u0087\u01e2\3\2"+
+ "\2\2\u0089\u01e6\3\2\2\2\u008b\u01f0\3\2\2\2\u008d\u01f4\3\2\2\2\u008f"+
+ "\u01f8\3\2\2\2\u0091\u0215\3\2\2\2\u0093\u0217\3\2\2\2\u0095\u021a\3\2"+
+ "\2\2\u0097\u021d\3\2\2\2\u0099\u0221\3\2\2\2\u009b\u0223\3\2\2\2\u009d"+
+ "\u0225\3\2\2\2\u009f\u0235\3\2\2\2\u00a1\u0237\3\2\2\2\u00a3\u023a\3\2"+
+ "\2\2\u00a5\u0245\3\2\2\2\u00a7\u024f\3\2\2\2\u00a9\u0251\3\2\2\2\u00ab"+
+ "\u0253\3\2\2\2\u00ad\u025c\3\2\2\2\u00af\u0263\3\2\2\2\u00b1\u0269\3\2"+
+ "\2\2\u00b3\u026d\3\2\2\2\u00b5\u0273\3\2\2\2\u00b7\u0280\3\2\2\2\u00b9"+
+ "\u0282\3\2\2\2\u00bb\u0289\3\2\2\2\u00bd\u028b\3\2\2\2\u00bf\u0290\3\2"+
+ "\2\2\u00c1\u029d\3\2\2\2\u00c3\u02a5\3\2\2\2\u00c5\u02a8\3\2\2\2\u00c7"+
+ "\u02ae\3\2\2\2\u00c9\u02c0\3\2\2\2\u00cb\u036e\3\2\2\2\u00cd\u00ce\7."+
+ "\2\2\u00ce\4\3\2\2\2\u00cf\u00d0\7f\2\2\u00d0\u00d1\7g\2\2\u00d1\u00d2"+
+ "\7h\2\2\u00d2\u00d3\7c\2\2\u00d3\u00d4\7w\2\2\u00d4\u00d5\7n\2\2\u00d5"+
+ "\u00d6\7v\2\2\u00d6\6\3\2\2\2\u00d7\u00d8\7?\2\2\u00d8\b\3\2\2\2\u00d9"+
+ "\u00da\7/\2\2\u00da\u00db\7@\2\2\u00db\n\3\2\2\2\u00dc\u00dd\7*\2\2\u00dd"+
+ "\f\3\2\2\2\u00de\u00df\7+\2\2\u00df\16\3\2\2\2\u00e0\u00e1\7\60\2\2\u00e1"+
+ "\20\3\2\2\2\u00e2\u00e3\7<\2\2\u00e3\u00e4\7<\2\2\u00e4\22\3\2\2\2\u00e5"+
+ "\u00e6\7]\2\2\u00e6\24\3\2\2\2\u00e7\u00e8\7_\2\2\u00e8\26\3\2\2\2\u00e9"+
+ "\u00ea\7-\2\2\u00ea\30\3\2\2\2\u00eb\u00ec\7/\2\2\u00ec\32\3\2\2\2\u00ed"+
+ "\u00ee\7\u0080\2\2\u00ee\34\3\2\2\2\u00ef\u00f0\7#\2\2\u00f0\36\3\2\2"+
+ "\2\u00f1\u00f2\7,\2\2\u00f2 \3\2\2\2\u00f3\u00f4\7\61\2\2\u00f4\"\3\2"+
+ "\2\2\u00f5\u00f6\7\'\2\2\u00f6$\3\2\2\2\u00f7\u00f8\7>\2\2\u00f8\u00f9"+
+ "\7>\2\2\u00f9&\3\2\2\2\u00fa\u00fb\7@\2\2\u00fb\u00fc\7@\2\2\u00fc\u00fd"+
+ "\7@\2\2\u00fd(\3\2\2\2\u00fe\u00ff\7@\2\2\u00ff\u0100\7@\2\2\u0100*\3"+
+ "\2\2\2\u0101\u0102\7>\2\2\u0102\u0103\7?\2\2\u0103,\3\2\2\2\u0104\u0105"+
+ "\7@\2\2\u0105\u0106\7?\2\2\u0106.\3\2\2\2\u0107\u0108\7@\2\2\u0108\60"+
+ "\3\2\2\2\u0109\u010a\7>\2\2\u010a\62\3\2\2\2\u010b\u010c\7k\2\2\u010c"+
+ "\u010d\7p\2\2\u010d\u010e\7u\2\2\u010e\u010f\7v\2\2\u010f\u0110\7c\2\2"+
+ "\u0110\u0111\7p\2\2\u0111\u0112\7e\2\2\u0112\u0113\7g\2\2\u0113\u0114"+
+ "\7q\2\2\u0114\u0115\7h\2\2\u0115\64\3\2\2\2\u0116\u0117\7?\2\2\u0117\u0118"+
+ "\7?\2\2\u0118\66\3\2\2\2\u0119\u011a\7#\2\2\u011a\u011b\7?\2\2\u011b8"+
+ "\3\2\2\2\u011c\u011d\7(\2\2\u011d:\3\2\2\2\u011e\u011f\7`\2\2\u011f<\3"+
+ "\2\2\2\u0120\u0121\7~\2\2\u0121>\3\2\2\2\u0122\u0123\7(\2\2\u0123\u0124"+
+ "\7(\2\2\u0124@\3\2\2\2\u0125\u0126\7~\2\2\u0126\u0127\7~\2\2\u0127B\3"+
+ "\2\2\2\u0128\u0129\7A\2\2\u0129D\3\2\2\2\u012a\u012b\7<\2\2\u012bF\3\2"+
+ "\2\2\u012c\u012d\7A\2\2\u012d\u012e\7A\2\2\u012eH\3\2\2\2\u012f\u0130"+
+ "\7e\2\2\u0130\u0131\7n\2\2\u0131\u0132\7c\2\2\u0132\u0133\7u\2\2\u0133"+
+ "\u0134\7u\2\2\u0134J\3\2\2\2\u0135\u0136\7d\2\2\u0136\u0137\7q\2\2\u0137"+
+ "\u0138\7q\2\2\u0138\u0139\7n\2\2\u0139\u013a\7g\2\2\u013a\u013b\7c\2\2"+
+ "\u013b\u013c\7p\2\2\u013cL\3\2\2\2\u013d\u013e\7e\2\2\u013e\u013f\7j\2"+
+ "\2\u013f\u0140\7c\2\2\u0140\u0141\7t\2\2\u0141N\3\2\2\2\u0142\u0143\7"+
+ "d\2\2\u0143\u0144\7{\2\2\u0144\u0145\7v\2\2\u0145\u0146\7g\2\2\u0146P"+
+ "\3\2\2\2\u0147\u0148\7u\2\2\u0148\u0149\7j\2\2\u0149\u014a\7q\2\2\u014a"+
+ "\u014b\7t\2\2\u014b\u014c\7v\2\2\u014cR\3\2\2\2\u014d\u014e\7k\2\2\u014e"+
+ "\u014f\7p\2\2\u014f\u0150\7v\2\2\u0150T\3\2\2\2\u0151\u0152\7n\2\2\u0152"+
+ "\u0153\7q\2\2\u0153\u0154\7p\2\2\u0154\u0155\7i\2\2\u0155V\3\2\2\2\u0156"+
+ "\u0157\7h\2\2\u0157\u0158\7n\2\2\u0158\u0159\7q\2\2\u0159\u015a\7c\2\2"+
+ "\u015a\u015b\7v\2\2\u015bX\3\2\2\2\u015c\u015d\7f\2\2\u015d\u015e\7q\2"+
+ "\2\u015e\u015f\7w\2\2\u015f\u0160\7d\2\2\u0160\u0161\7n\2\2\u0161\u0162"+
+ "\7g\2\2\u0162Z\3\2\2\2\u0163\u0164\7v\2\2\u0164\u0165\7j\2\2\u0165\u0166"+
+ "\7k\2\2\u0166\u0167\7u\2\2\u0167\\\3\2\2\2\u0168\u0169\7X\2\2\u0169\u016a"+
+ "\7q\2\2\u016a\u016b\7k\2\2\u016b\u017a\7f\2\2\u016c\u016d\7x\2\2\u016d"+
+ "\u016e\7q\2\2\u016e\u016f\7k\2\2\u016f\u017a\7f\2\2\u0170\u0171\7\u00b1"+
+ "\2\2\u0171\u0172\7^\2\2\u0172\u0173\7a\2\2\u0173\u0174\7*\2\2\u0174\u0175"+
+ "\7\u30c6\2\2\u0175\u0176\7+\2\2\u0176\u0177\7a\2\2\u0177\u0178\7\61\2"+
+ "\2\u0178\u017a\7\u00b1\2\2\u0179\u0168\3\2\2\2\u0179\u016c\3\2\2\2\u0179"+
+ "\u0170\3\2\2\2\u017a^\3\2\2\2\u017b\u0180\5a\61\2\u017c\u0180\5c\62\2"+
+ "\u017d\u0180\5e\63\2\u017e\u0180\5g\64\2\u017f\u017b\3\2\2\2\u017f\u017c"+
+ "\3\2\2\2\u017f\u017d\3\2\2\2\u017f\u017e\3\2\2\2\u0180`\3\2\2\2\u0181"+
+ "\u0183\5k\66\2\u0182\u0184\5i\65\2\u0183\u0182\3\2\2\2\u0183\u0184\3\2"+
+ "\2\2\u0184b\3\2\2\2\u0185\u0187\5w<\2\u0186\u0188\5i\65\2\u0187\u0186"+
+ "\3\2\2\2\u0187\u0188\3\2\2\2\u0188d\3\2\2\2\u0189\u018b\5\177@\2\u018a"+
+ "\u018c\5i\65\2\u018b\u018a\3\2\2\2\u018b\u018c\3\2\2\2\u018cf\3\2\2\2"+
+ "\u018d\u018f\5\u0087D\2\u018e\u0190\5i\65\2\u018f\u018e\3\2\2\2\u018f"+
+ "\u0190\3\2\2\2\u0190h\3\2\2\2\u0191\u0192\t\2\2\2\u0192j\3\2\2\2\u0193"+
+ "\u019e\7\62\2\2\u0194\u019b\5q9\2\u0195\u0197\5m\67\2\u0196\u0195\3\2"+
+ "\2\2\u0196\u0197\3\2\2\2\u0197\u019c\3\2\2\2\u0198\u0199\5u;\2\u0199\u019a"+
+ "\5m\67\2\u019a\u019c\3\2\2\2\u019b\u0196\3\2\2\2\u019b\u0198\3\2\2\2\u019c"+
+ "\u019e\3\2\2\2\u019d\u0193\3\2\2\2\u019d\u0194\3\2\2\2\u019el\3\2\2\2"+
+ "\u019f\u01a7\5o8\2\u01a0\u01a2\5s:\2\u01a1\u01a0\3\2\2\2\u01a2\u01a5\3"+
+ "\2\2\2\u01a3\u01a1\3\2\2\2\u01a3\u01a4\3\2\2\2\u01a4\u01a6\3\2\2\2\u01a5"+
+ "\u01a3\3\2\2\2\u01a6\u01a8\5o8\2\u01a7\u01a3\3\2\2\2\u01a7\u01a8\3\2\2"+
+ "\2\u01a8n\3\2\2\2\u01a9\u01ac\7\62\2\2\u01aa\u01ac\5q9\2\u01ab\u01a9\3"+
+ "\2\2\2\u01ab\u01aa\3\2\2\2\u01acp\3\2\2\2\u01ad\u01ae\t\3\2\2\u01aer\3"+
+ "\2\2\2\u01af\u01b2\5o8\2\u01b0\u01b2\7a\2\2\u01b1\u01af\3\2\2\2\u01b1"+
+ "\u01b0\3\2\2\2\u01b2t\3\2\2\2\u01b3\u01b5\7a\2\2\u01b4\u01b3\3\2\2\2\u01b5"+
+ "\u01b6\3\2\2\2\u01b6\u01b4\3\2\2\2\u01b6\u01b7\3\2\2\2\u01b7v\3\2\2\2"+
+ "\u01b8\u01b9\7\62\2\2\u01b9\u01ba\t\4\2\2\u01ba\u01bb\5y=\2\u01bbx\3\2"+
+ "\2\2\u01bc\u01c4\5{>\2\u01bd\u01bf\5}?\2\u01be\u01bd\3\2\2\2\u01bf\u01c2"+
+ "\3\2\2\2\u01c0\u01be\3\2\2\2\u01c0\u01c1\3\2\2\2\u01c1\u01c3\3\2\2\2\u01c2"+
+ "\u01c0\3\2\2\2\u01c3\u01c5\5{>\2\u01c4\u01c0\3\2\2\2\u01c4\u01c5\3\2\2"+
+ "\2\u01c5z\3\2\2\2\u01c6\u01c7\t\5\2\2\u01c7|\3\2\2\2\u01c8\u01cb\5{>\2"+
+ "\u01c9\u01cb\7a\2\2\u01ca\u01c8\3\2\2\2\u01ca\u01c9\3\2\2\2\u01cb~\3\2"+
+ "\2\2\u01cc\u01ce\7\62\2\2\u01cd\u01cf\5u;\2\u01ce\u01cd\3\2\2\2\u01ce"+
+ "\u01cf\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01d1\5\u0081A\2\u01d1\u0080"+
+ "\3\2\2\2\u01d2\u01da\5\u0083B\2\u01d3\u01d5\5\u0085C\2\u01d4\u01d3\3\2"+
+ "\2\2\u01d5\u01d8\3\2\2\2\u01d6\u01d4\3\2\2\2\u01d6\u01d7\3\2\2\2\u01d7"+
+ "\u01d9\3\2\2\2\u01d8\u01d6\3\2\2\2\u01d9\u01db\5\u0083B\2\u01da\u01d6"+
+ "\3\2\2\2\u01da\u01db\3\2\2\2\u01db\u0082\3\2\2\2\u01dc\u01dd\t\6\2\2\u01dd"+
+ "\u0084\3\2\2\2\u01de\u01e1\5\u0083B\2\u01df\u01e1\7a\2\2\u01e0\u01de\3"+
+ "\2\2\2\u01e0\u01df\3\2\2\2\u01e1\u0086\3\2\2\2\u01e2\u01e3\7\62\2\2\u01e3"+
+ "\u01e4\t\7\2\2\u01e4\u01e5\5\u0089E\2\u01e5\u0088\3\2\2\2\u01e6\u01ee"+
+ "\5\u008bF\2\u01e7\u01e9\5\u008dG\2\u01e8\u01e7\3\2\2\2\u01e9\u01ec\3\2"+
+ "\2\2\u01ea\u01e8\3\2\2\2\u01ea\u01eb\3\2\2\2\u01eb\u01ed\3\2\2\2\u01ec"+
+ "\u01ea\3\2\2\2\u01ed\u01ef\5\u008bF\2\u01ee\u01ea\3\2\2\2\u01ee\u01ef"+
+ "\3\2\2\2\u01ef\u008a\3\2\2\2\u01f0\u01f1\t\b\2\2\u01f1\u008c\3\2\2\2\u01f2"+
+ "\u01f5\5\u008bF\2\u01f3\u01f5\7a\2\2\u01f4\u01f2\3\2\2\2\u01f4\u01f3\3"+
+ "\2\2\2\u01f5\u008e\3\2\2\2\u01f6\u01f9\5\u0091I\2\u01f7\u01f9\5\u009d"+
+ "O\2\u01f8\u01f6\3\2\2\2\u01f8\u01f7\3\2\2\2\u01f9\u0090\3\2\2\2\u01fa"+
+ "\u01fb\5m\67\2\u01fb\u01fd\7\60\2\2\u01fc\u01fe\5m\67\2\u01fd\u01fc\3"+
+ "\2\2\2\u01fd\u01fe\3\2\2\2\u01fe\u0200\3\2\2\2\u01ff\u0201\5\u0093J\2"+
+ "\u0200\u01ff\3\2\2\2\u0200\u0201\3\2\2\2\u0201\u0203\3\2\2\2\u0202\u0204"+
+ "\5\u009bN\2\u0203\u0202\3\2\2\2\u0203\u0204\3\2\2\2\u0204\u0216\3\2\2"+
+ "\2\u0205\u0206\7\60\2\2\u0206\u0208\5m\67\2\u0207\u0209\5\u0093J\2\u0208"+
+ "\u0207\3\2\2\2\u0208\u0209\3\2\2\2\u0209\u020b\3\2\2\2\u020a\u020c\5\u009b"+
+ "N\2\u020b\u020a\3\2\2\2\u020b\u020c\3\2\2\2\u020c\u0216\3\2\2\2\u020d"+
+ "\u020e\5m\67\2\u020e\u0210\5\u0093J\2\u020f\u0211\5\u009bN\2\u0210\u020f"+
+ "\3\2\2\2\u0210\u0211\3\2\2\2\u0211\u0216\3\2\2\2\u0212\u0213\5m\67\2\u0213"+
+ "\u0214\5\u009bN\2\u0214\u0216\3\2\2\2\u0215\u01fa\3\2\2\2\u0215\u0205"+
+ "\3\2\2\2\u0215\u020d\3\2\2\2\u0215\u0212\3\2\2\2\u0216\u0092\3\2\2\2\u0217"+
+ "\u0218\5\u0095K\2\u0218\u0219\5\u0097L\2\u0219\u0094\3\2\2\2\u021a\u021b"+
+ "\t\t\2\2\u021b\u0096\3\2\2\2\u021c\u021e\5\u0099M\2\u021d\u021c\3\2\2"+
+ "\2\u021d\u021e\3\2\2\2\u021e\u021f\3\2\2\2\u021f\u0220\5m\67\2\u0220\u0098"+
+ "\3\2\2\2\u0221\u0222\t\n\2\2\u0222\u009a\3\2\2\2\u0223\u0224\t\13\2\2"+
+ "\u0224\u009c\3\2\2\2\u0225\u0226\5\u009fP\2\u0226\u0228\5\u00a1Q\2\u0227"+
+ "\u0229\5\u009bN\2\u0228\u0227\3\2\2\2\u0228\u0229\3\2\2\2\u0229\u009e"+
+ "\3\2\2\2\u022a\u022c\5w<\2\u022b\u022d\7\60\2\2\u022c\u022b\3\2\2\2\u022c"+
+ "\u022d\3\2\2\2\u022d\u0236\3\2\2\2\u022e\u022f\7\62\2\2\u022f\u0231\t"+
+ "\4\2\2\u0230\u0232\5y=\2\u0231\u0230\3\2\2\2\u0231\u0232\3\2\2\2\u0232"+
+ "\u0233\3\2\2\2\u0233\u0234\7\60\2\2\u0234\u0236\5y=\2\u0235\u022a\3\2"+
+ "\2\2\u0235\u022e\3\2\2\2\u0236\u00a0\3\2\2\2\u0237\u0238\5\u00a3R\2\u0238"+
+ "\u0239\5\u0097L\2\u0239\u00a2\3\2\2\2\u023a\u023b\t\f\2\2\u023b\u00a4"+
+ "\3\2\2\2\u023c\u023d\7v\2\2\u023d\u023e\7t\2\2\u023e\u023f\7w\2\2\u023f"+
+ "\u0246\7g\2\2\u0240\u0241\7h\2\2\u0241\u0242\7c\2\2\u0242\u0243\7n\2\2"+
+ "\u0243\u0244\7u\2\2\u0244\u0246\7g\2\2\u0245\u023c\3\2\2\2\u0245\u0240"+
+ "\3\2\2\2\u0246\u00a6\3\2\2\2\u0247\u0248\7)\2\2\u0248\u0249\5\u00a9U\2"+
+ "\u0249\u024a\7)\2\2\u024a\u0250\3\2\2\2\u024b\u024c\7)\2\2\u024c\u024d"+
+ "\5\u00b5[\2\u024d\u024e\7)\2\2\u024e\u0250\3\2\2\2\u024f\u0247\3\2\2\2"+
+ "\u024f\u024b\3\2\2\2\u0250\u00a8\3\2\2\2\u0251\u0252\n\r\2\2\u0252\u00aa"+
+ "\3\2\2\2\u0253\u0257\7b\2\2\u0254\u0256\5\u00b3Z\2\u0255\u0254\3\2\2\2"+
+ "\u0256\u0259\3\2\2\2\u0257\u0255\3\2\2\2\u0257\u0258\3\2\2\2\u0258\u025a"+
+ "\3\2\2\2\u0259\u0257\3\2\2\2\u025a\u025b\7b\2\2\u025b\u00ac\3\2\2\2\u025c"+
+ "\u025e\7$\2\2\u025d\u025f\5\u00afX\2\u025e\u025d\3\2\2\2\u025e\u025f\3"+
+ "\2\2\2\u025f\u0260\3\2\2\2\u0260\u0261\7$\2\2\u0261\u00ae\3\2\2\2\u0262"+
+ "\u0264\5\u00b1Y\2\u0263\u0262\3\2\2\2\u0264\u0265\3\2\2\2\u0265\u0263"+
+ "\3\2\2\2\u0265\u0266\3\2\2\2\u0266\u00b0\3\2\2\2\u0267\u026a\n\16\2\2"+
+ "\u0268\u026a\5\u00b5[\2\u0269\u0267\3\2\2\2\u0269\u0268\3\2\2\2\u026a"+
+ "\u00b2\3\2\2\2\u026b\u026e\n\17\2\2\u026c\u026e\5\u00b5[\2\u026d\u026b"+
+ "\3\2\2\2\u026d\u026c\3\2\2\2\u026e\u00b4\3\2\2\2\u026f\u0270\7^\2\2\u0270"+
+ "\u0274\t\20\2\2\u0271\u0274\5\u00b7\\\2\u0272\u0274\5\u00b9]\2\u0273\u026f"+
+ "\3\2\2\2\u0273\u0271\3\2\2\2\u0273\u0272\3\2\2\2\u0274\u00b6\3\2\2\2\u0275"+
+ "\u0276\7^\2\2\u0276\u0281\5\u0083B\2\u0277\u0278\7^\2\2\u0278\u0279\5"+
+ "\u0083B\2\u0279\u027a\5\u0083B\2\u027a\u0281\3\2\2\2\u027b\u027c\7^\2"+
+ "\2\u027c\u027d\5\u00bb^\2\u027d\u027e\5\u0083B\2\u027e\u027f\5\u0083B"+
+ "\2\u027f\u0281\3\2\2\2\u0280\u0275\3\2\2\2\u0280\u0277\3\2\2\2\u0280\u027b"+
+ "\3\2\2\2\u0281\u00b8\3\2\2\2\u0282\u0283\7^\2\2\u0283\u0284\7w\2\2\u0284"+
+ "\u0285\5{>\2\u0285\u0286\5{>\2\u0286\u0287\5{>\2\u0287\u0288\5{>\2\u0288"+
+ "\u00ba\3\2\2\2\u0289\u028a\t\21\2\2\u028a\u00bc\3\2\2\2\u028b\u028c\7"+
+ "p\2\2\u028c\u028d\7w\2\2\u028d\u028e\7n\2\2\u028e\u028f\7n\2\2\u028f\u00be"+
+ "\3\2\2\2\u0290\u0294\5\u00c1a\2\u0291\u0293\5\u00c3b\2\u0292\u0291\3\2"+
+ "\2\2\u0293\u0296\3\2\2\2\u0294\u0292\3\2\2\2\u0294\u0295\3\2\2\2\u0295"+
+ "\u00c0\3\2\2\2\u0296\u0294\3\2\2\2\u0297\u029e\t\22\2\2\u0298\u0299\n"+
+ "\23\2\2\u0299\u029e\6a\2\2\u029a\u029b\t\24\2\2\u029b\u029c\t\25\2\2\u029c"+
+ "\u029e\6a\3\2\u029d\u0297\3\2\2\2\u029d\u0298\3\2\2\2\u029d\u029a\3\2"+
+ "\2\2\u029e\u00c2\3\2\2\2\u029f\u02a6\t\26\2\2\u02a0\u02a1\n\23\2\2\u02a1"+
+ "\u02a6\6b\4\2\u02a2\u02a3\t\24\2\2\u02a3\u02a4\t\25\2\2\u02a4\u02a6\6"+
+ "b\5\2\u02a5\u029f\3\2\2\2\u02a5\u02a0\3\2\2\2\u02a5\u02a2\3\2\2\2\u02a6"+
+ "\u00c4\3\2\2\2\u02a7\u02a9\t\27\2\2\u02a8\u02a7\3\2\2\2\u02a9\u02aa\3"+
+ "\2\2\2\u02aa\u02a8\3\2\2\2\u02aa\u02ab\3\2\2\2\u02ab\u02ac\3\2\2\2\u02ac"+
+ "\u02ad\bc\2\2\u02ad\u00c6\3\2\2\2\u02ae\u02b2\7B\2\2\u02af\u02b0\5\u00c9"+
+ "e\2\u02b0\u02b1\7<\2\2\u02b1\u02b3\3\2\2\2\u02b2\u02af\3\2\2\2\u02b2\u02b3"+
+ "\3\2\2\2\u02b3\u02b4\3\2\2\2\u02b4\u02b5\5\u00cbf\2\u02b5\u02b6\7\61\2"+
+ "\2\u02b6\u02b7\5\u00bf`\2\u02b7\u00c8\3\2\2\2\u02b8\u02b9\7c\2\2\u02b9"+
+ "\u02ba\7p\2\2\u02ba\u02bb\7f\2\2\u02bb\u02bc\7t\2\2\u02bc\u02bd\7q\2\2"+
+ "\u02bd\u02be\7k\2\2\u02be\u02c1\7f\2\2\u02bf\u02c1\5\u00bf`\2\u02c0\u02b8"+
+ "\3\2\2\2\u02c0\u02bf\3\2\2\2\u02c1\u00ca\3\2\2\2\u02c2\u02c3\7c\2\2\u02c3"+
+ "\u02c4\7p\2\2\u02c4\u02c5\7k\2\2\u02c5\u036f\7o\2\2\u02c6\u02c7\7c\2\2"+
+ "\u02c7\u02c8\7p\2\2\u02c8\u02c9\7k\2\2\u02c9\u02ca\7o\2\2\u02ca\u02cb"+
+ "\7c\2\2\u02cb\u02cc\7v\2\2\u02cc\u02cd\7q\2\2\u02cd\u036f\7t\2\2\u02ce"+
+ "\u02cf\7d\2\2\u02cf\u02d0\7q\2\2\u02d0\u02d1\7q\2\2\u02d1\u036f\7n\2\2"+
+ "\u02d2\u02d3\7e\2\2\u02d3\u02d4\7q\2\2\u02d4\u02d5\7n\2\2\u02d5\u02d6"+
+ "\7q\2\2\u02d6\u036f\7t\2\2\u02d7\u02d8\7e\2\2\u02d8\u02d9\7q\2\2\u02d9"+
+ "\u02da\7n\2\2\u02da\u02db\7q\2\2\u02db\u02dc\7t\2\2\u02dc\u02dd\7U\2\2"+
+ "\u02dd\u02de\7v\2\2\u02de\u02df\7c\2\2\u02df\u02e0\7v\2\2\u02e0\u02e1"+
+ "\7g\2\2\u02e1\u02e2\7N\2\2\u02e2\u02e3\7k\2\2\u02e3\u02e4\7u\2\2\u02e4"+
+ "\u036f\7v\2\2\u02e5\u02e6\7f\2\2\u02e6\u02e7\7k\2\2\u02e7\u02e8\7o\2\2"+
+ "\u02e8\u02e9\7g\2\2\u02e9\u036f\7p\2\2\u02ea\u02eb\7f\2\2\u02eb\u02ec"+
+ "\7k\2\2\u02ec\u02ed\7o\2\2\u02ed\u02ee\7g\2\2\u02ee\u02ef\7p\2\2\u02ef"+
+ "\u02f0\7Q\2\2\u02f0\u02f1\7h\2\2\u02f1\u02f2\7h\2\2\u02f2\u02f3\7u\2\2"+
+ "\u02f3\u02f4\7g\2\2\u02f4\u036f\7v\2\2\u02f5\u02f6\7f\2\2\u02f6\u02f7"+
+ "\7k\2\2\u02f7\u02f8\7o\2\2\u02f8\u02f9\7g\2\2\u02f9\u02fa\7p\2\2\u02fa"+
+ "\u02fb\7U\2\2\u02fb\u02fc\7k\2\2\u02fc\u02fd\7|\2\2\u02fd\u036f\7g\2\2"+
+ "\u02fe\u02ff\7f\2\2\u02ff\u0300\7t\2\2\u0300\u0301\7c\2\2\u0301\u0302"+
+ "\7y\2\2\u0302\u0303\7c\2\2\u0303\u0304\7d\2\2\u0304\u0305\7n\2\2\u0305"+
+ "\u036f\7g\2\2\u0306\u0307\7h\2\2\u0307\u0308\7t\2\2\u0308\u0309\7c\2\2"+
+ "\u0309\u030a\7e\2\2\u030a\u030b\7v\2\2\u030b\u030c\7k\2\2\u030c\u030d"+
+ "\7q\2\2\u030d\u036f\7p\2\2\u030e\u030f\7k\2\2\u030f\u036f\7f\2\2\u0310"+
+ "\u0311\7k\2\2\u0311\u0312\7p\2\2\u0312\u0313\7v\2\2\u0313\u0314\7g\2\2"+
+ "\u0314\u0315\7i\2\2\u0315\u0316\7g\2\2\u0316\u036f\7t\2\2\u0317\u0318"+
+ "\7k\2\2\u0318\u0319\7p\2\2\u0319\u031a\7v\2\2\u031a\u031b\7C\2\2\u031b"+
+ "\u031c\7t\2\2\u031c\u031d\7t\2\2\u031d\u031e\7c\2\2\u031e\u036f\7{\2\2"+
+ "\u031f\u0320\7k\2\2\u0320\u0321\7p\2\2\u0321\u0322\7v\2\2\u0322\u0323"+
+ "\7g\2\2\u0323\u0324\7t\2\2\u0324\u0325\7r\2\2\u0325\u0326\7q\2\2\u0326"+
+ "\u0327\7n\2\2\u0327\u0328\7c\2\2\u0328\u0329\7v\2\2\u0329\u032a\7q\2\2"+
+ "\u032a\u036f\7t\2\2\u032b\u032c\7n\2\2\u032c\u032d\7c\2\2\u032d\u032e"+
+ "\7{\2\2\u032e\u032f\7q\2\2\u032f\u0330\7w\2\2\u0330\u036f\7v\2\2\u0331"+
+ "\u0332\7r\2\2\u0332\u0333\7n\2\2\u0333\u0334\7w\2\2\u0334\u0335\7t\2\2"+
+ "\u0335\u0336\7c\2\2\u0336\u0337\7n\2\2\u0337\u036f\7u\2\2\u0338\u0339"+
+ "\7u\2\2\u0339\u033a\7v\2\2\u033a\u033b\7c\2\2\u033b\u033c\7v\2\2\u033c"+
+ "\u033d\7g\2\2\u033d\u033e\7N\2\2\u033e\u033f\7k\2\2\u033f\u0340\7u\2\2"+
+ "\u0340\u0341\7v\2\2\u0341\u0342\7C\2\2\u0342\u0343\7p\2\2\u0343\u0344"+
+ "\7k\2\2\u0344\u0345\7o\2\2\u0345\u0346\7c\2\2\u0346\u0347\7v\2\2\u0347"+
+ "\u0348\7q\2\2\u0348\u036f\7t\2\2\u0349\u034a\7u\2\2\u034a\u034b\7v\2\2"+
+ "\u034b\u034c\7t\2\2\u034c\u034d\7k\2\2\u034d\u034e\7p\2\2\u034e\u036f"+
+ "\7i\2\2\u034f\u0350\7u\2\2\u0350\u0351\7v\2\2\u0351\u0352\7t\2\2\u0352"+
+ "\u0353\7k\2\2\u0353\u0354\7p\2\2\u0354\u0355\7i\2\2\u0355\u0356\7C\2\2"+
+ "\u0356\u0357\7t\2\2\u0357\u0358\7t\2\2\u0358\u0359\7c\2\2\u0359\u036f"+
+ "\7{\2\2\u035a\u035b\7v\2\2\u035b\u035c\7t\2\2\u035c\u035d\7c\2\2\u035d"+
+ "\u035e\7p\2\2\u035e\u035f\7u\2\2\u035f\u0360\7k\2\2\u0360\u0361\7v\2\2"+
+ "\u0361\u0362\7k\2\2\u0362\u0363\7q\2\2\u0363\u036f\7p\2\2\u0364\u0365"+
+ "\7v\2\2\u0365\u0366\7{\2\2\u0366\u0367\7r\2\2\u0367\u0368\7g\2\2\u0368"+
+ "\u0369\7f\2\2\u0369\u036a\7C\2\2\u036a\u036b\7t\2\2\u036b\u036c\7t\2\2"+
+ "\u036c\u036d\7c\2\2\u036d\u036f\7{\2\2\u036e\u02c2\3\2\2\2\u036e\u02c6"+
+ "\3\2\2\2\u036e\u02ce\3\2\2\2\u036e\u02d2\3\2\2\2\u036e\u02d7\3\2\2\2\u036e"+
+ "\u02e5\3\2\2\2\u036e\u02ea\3\2\2\2\u036e\u02f5\3\2\2\2\u036e\u02fe\3\2"+
+ "\2\2\u036e\u0306\3\2\2\2\u036e\u030e\3\2\2\2\u036e\u0310\3\2\2\2\u036e"+
+ "\u0317\3\2\2\2\u036e\u031f\3\2\2\2\u036e\u032b\3\2\2\2\u036e\u0331\3\2"+
+ "\2\2\u036e\u0338\3\2\2\2\u036e\u0349\3\2\2\2\u036e\u034f\3\2\2\2\u036e"+
+ "\u035a\3\2\2\2\u036e\u0364\3\2\2\2\u036f\u00cc\3\2\2\28\2\u0179\u017f"+
+ "\u0183\u0187\u018b\u018f\u0196\u019b\u019d\u01a3\u01a7\u01ab\u01b1\u01b6"+
+ "\u01c0\u01c4\u01ca\u01ce\u01d6\u01da\u01e0\u01ea\u01ee\u01f4\u01f8\u01fd"+
+ "\u0200\u0203\u0208\u020b\u0210\u0215\u021d\u0228\u022c\u0231\u0235\u0245"+
+ "\u024f\u0257\u025e\u0265\u0269\u026d\u0273\u0280\u0294\u029d\u02a5\u02aa"+
+ "\u02b2\u02c0\u036e\3\b\2\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/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java
index 29edb7cb..23d2d84b 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionListener.java
@@ -1,7 +1,5 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;
/**
@@ -10,517 +8,445 @@ import org.antlr.v4.runtime.tree.ParseTreeListener;
*/
public interface BindingExpressionListener extends ParseTreeListener {
/**
- * Enter a parse tree produced by the {@code CastOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by the {@code RootExpr}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
*/
- void enterCastOp(@NotNull BindingExpressionParser.CastOpContext ctx);
+ void enterRootExpr(BindingExpressionParser.RootExprContext ctx);
/**
- * Exit a parse tree produced by the {@code CastOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by the {@code RootExpr}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
*/
- void exitCastOp(@NotNull BindingExpressionParser.CastOpContext ctx);
-
+ void exitRootExpr(BindingExpressionParser.RootExprContext ctx);
/**
- * Enter a parse tree produced by the {@code ComparisonOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by the {@code RootLambda}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
*/
- void enterComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx);
+ void enterRootLambda(BindingExpressionParser.RootLambdaContext ctx);
/**
- * Exit a parse tree produced by the {@code ComparisonOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by the {@code RootLambda}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
*/
- void exitComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx);
-
+ void exitRootLambda(BindingExpressionParser.RootLambdaContext ctx);
/**
- * Enter a parse tree produced by the {@code BracketOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by {@link BindingExpressionParser#defaults}.
* @param ctx the parse tree
*/
- void enterBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx);
+ void enterDefaults(BindingExpressionParser.DefaultsContext ctx);
/**
- * Exit a parse tree produced by the {@code BracketOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by {@link BindingExpressionParser#defaults}.
* @param ctx the parse tree
*/
- void exitBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx);
-
+ void exitDefaults(BindingExpressionParser.DefaultsContext ctx);
/**
- * Enter a parse tree produced by the {@code UnaryOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by {@link BindingExpressionParser#constantValue}.
* @param ctx the parse tree
*/
- void enterUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx);
+ void enterConstantValue(BindingExpressionParser.ConstantValueContext ctx);
/**
- * Exit a parse tree produced by the {@code UnaryOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by {@link BindingExpressionParser#constantValue}.
* @param ctx the parse tree
*/
- void exitUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx);
-
+ void exitConstantValue(BindingExpressionParser.ConstantValueContext ctx);
/**
- * Enter a parse tree produced by the {@code Resource}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
* @param ctx the parse tree
*/
- void enterResource(@NotNull BindingExpressionParser.ResourceContext ctx);
+ void enterLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx);
/**
- * Exit a parse tree produced by the {@code Resource}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
* @param ctx the parse tree
*/
- void exitResource(@NotNull BindingExpressionParser.ResourceContext ctx);
-
+ void exitLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx);
/**
- * Enter a parse tree produced by the {@code QuestionQuestionOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by the {@code SingleLambdaParameter}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
*/
- void enterQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx);
+ void enterSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx);
/**
- * Exit a parse tree produced by the {@code QuestionQuestionOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by the {@code SingleLambdaParameter}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
*/
- void exitQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx);
-
+ void exitSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx);
/**
- * Enter a parse tree produced by the {@code Grouping}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by the {@code LambdaParameterList}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
*/
- void enterGrouping(@NotNull BindingExpressionParser.GroupingContext ctx);
+ void enterLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx);
/**
- * Exit a parse tree produced by the {@code Grouping}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by the {@code LambdaParameterList}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
*/
- void exitGrouping(@NotNull BindingExpressionParser.GroupingContext ctx);
-
+ void exitLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx);
/**
- * Enter a parse tree produced by the {@code MethodInvocation}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
* @param ctx the parse tree
*/
- void enterMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx);
+ void enterInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx);
/**
- * Exit a parse tree produced by the {@code MethodInvocation}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
* @param ctx the parse tree
*/
- void exitMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx);
-
+ void exitInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx);
/**
- * Enter a parse tree produced by the {@code BitShiftOp}
+ * Enter a parse tree produced by the {@code CastOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx);
+ void enterCastOp(BindingExpressionParser.CastOpContext ctx);
/**
- * Exit a parse tree produced by the {@code BitShiftOp}
+ * Exit a parse tree produced by the {@code CastOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx);
-
+ void exitCastOp(BindingExpressionParser.CastOpContext ctx);
/**
- * Enter a parse tree produced by the {@code AndOrOp}
+ * Enter a parse tree produced by the {@code ComparisonOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx);
+ void enterComparisonOp(BindingExpressionParser.ComparisonOpContext ctx);
/**
- * Exit a parse tree produced by the {@code AndOrOp}
+ * Exit a parse tree produced by the {@code ComparisonOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx);
-
+ void exitComparisonOp(BindingExpressionParser.ComparisonOpContext ctx);
/**
- * Enter a parse tree produced by the {@code TernaryOp}
+ * Enter a parse tree produced by the {@code UnaryOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx);
+ void enterUnaryOp(BindingExpressionParser.UnaryOpContext ctx);
/**
- * Exit a parse tree produced by the {@code TernaryOp}
+ * Exit a parse tree produced by the {@code UnaryOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx);
-
+ void exitUnaryOp(BindingExpressionParser.UnaryOpContext ctx);
/**
- * Enter a parse tree produced by the {@code Primary}
+ * Enter a parse tree produced by the {@code BracketOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx);
+ void enterBracketOp(BindingExpressionParser.BracketOpContext ctx);
/**
- * Exit a parse tree produced by the {@code Primary}
+ * Exit a parse tree produced by the {@code BracketOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx);
-
+ void exitBracketOp(BindingExpressionParser.BracketOpContext ctx);
/**
- * Enter a parse tree produced by the {@code DotOp}
+ * Enter a parse tree produced by the {@code Resource}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterDotOp(@NotNull BindingExpressionParser.DotOpContext ctx);
+ void enterResource(BindingExpressionParser.ResourceContext ctx);
/**
- * Exit a parse tree produced by the {@code DotOp}
+ * Exit a parse tree produced by the {@code Resource}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitDotOp(@NotNull BindingExpressionParser.DotOpContext ctx);
-
+ void exitResource(BindingExpressionParser.ResourceContext ctx);
/**
- * Enter a parse tree produced by the {@code MathOp}
+ * Enter a parse tree produced by the {@code QuestionQuestionOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterMathOp(@NotNull BindingExpressionParser.MathOpContext ctx);
+ void enterQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx);
/**
- * Exit a parse tree produced by the {@code MathOp}
+ * Exit a parse tree produced by the {@code QuestionQuestionOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitMathOp(@NotNull BindingExpressionParser.MathOpContext ctx);
-
+ void exitQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx);
/**
- * Enter a parse tree produced by the {@code InstanceOfOp}
+ * Enter a parse tree produced by the {@code Grouping}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx);
+ void enterGrouping(BindingExpressionParser.GroupingContext ctx);
/**
- * Exit a parse tree produced by the {@code InstanceOfOp}
+ * Exit a parse tree produced by the {@code Grouping}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx);
-
+ void exitGrouping(BindingExpressionParser.GroupingContext ctx);
/**
- * Enter a parse tree produced by the {@code FunctionRef}
+ * Enter a parse tree produced by the {@code MethodInvocation}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx);
+ void enterMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx);
/**
- * Exit a parse tree produced by the {@code FunctionRef}
+ * Exit a parse tree produced by the {@code MethodInvocation}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx);
-
+ void exitMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx);
/**
- * Enter a parse tree produced by the {@code BinaryOp}
+ * Enter a parse tree produced by the {@code BitShiftOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx);
+ void enterBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx);
/**
- * Exit a parse tree produced by the {@code BinaryOp}
+ * Exit a parse tree produced by the {@code BitShiftOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx);
-
- /**
- * Enter a parse tree produced by the {@code RootExpr}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- */
- void enterRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx);
- /**
- * Exit a parse tree produced by the {@code RootExpr}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- */
- void exitRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx);
-
- /**
- * Enter a parse tree produced by the {@code RootLambda}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- */
- void enterRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx);
- /**
- * Exit a parse tree produced by the {@code RootLambda}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- */
- void exitRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx);
-
+ void exitBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx);
/**
- * Enter a parse tree produced by the {@code SingleLambdaParameter}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
- * @param ctx the parse tree
- */
- void enterSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx);
- /**
- * Exit a parse tree produced by the {@code SingleLambdaParameter}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
- * @param ctx the parse tree
- */
- void exitSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx);
-
- /**
- * Enter a parse tree produced by the {@code LambdaParameterList}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
+ * Enter a parse tree produced by the {@code AndOrOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx);
+ void enterAndOrOp(BindingExpressionParser.AndOrOpContext ctx);
/**
- * Exit a parse tree produced by the {@code LambdaParameterList}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
+ * Exit a parse tree produced by the {@code AndOrOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx);
-
+ void exitAndOrOp(BindingExpressionParser.AndOrOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#bindingSyntax}.
+ * Enter a parse tree produced by the {@code TernaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx);
+ void enterTernaryOp(BindingExpressionParser.TernaryOpContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#bindingSyntax}.
+ * Exit a parse tree produced by the {@code TernaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx);
-
+ void exitTernaryOp(BindingExpressionParser.TernaryOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#defaults}.
+ * Enter a parse tree produced by the {@code Primary}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx);
+ void enterPrimary(BindingExpressionParser.PrimaryContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#defaults}.
+ * Exit a parse tree produced by the {@code Primary}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx);
-
+ void exitPrimary(BindingExpressionParser.PrimaryContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#constantValue}.
+ * Enter a parse tree produced by the {@code DotOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx);
+ void enterDotOp(BindingExpressionParser.DotOpContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#constantValue}.
+ * Exit a parse tree produced by the {@code DotOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx);
-
+ void exitDotOp(BindingExpressionParser.DotOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
+ * Enter a parse tree produced by the {@code MathOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx);
+ void enterMathOp(BindingExpressionParser.MathOpContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
+ * Exit a parse tree produced by the {@code MathOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx);
-
+ void exitMathOp(BindingExpressionParser.MathOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#lambdaParameters}.
+ * Enter a parse tree produced by the {@code InstanceOfOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx);
+ void enterInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#lambdaParameters}.
+ * Exit a parse tree produced by the {@code InstanceOfOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx);
-
+ void exitInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
+ * Enter a parse tree produced by the {@code BinaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx);
+ void enterBinaryOp(BindingExpressionParser.BinaryOpContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
+ * Exit a parse tree produced by the {@code BinaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx);
-
+ void exitBinaryOp(BindingExpressionParser.BinaryOpContext ctx);
/**
- * Enter a parse tree produced by {@link BindingExpressionParser#expression}.
+ * Enter a parse tree produced by the {@code FunctionRef}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void enterExpression(@NotNull BindingExpressionParser.ExpressionContext ctx);
+ void enterFunctionRef(BindingExpressionParser.FunctionRefContext ctx);
/**
- * Exit a parse tree produced by {@link BindingExpressionParser#expression}.
+ * Exit a parse tree produced by the {@code FunctionRef}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
*/
- void exitExpression(@NotNull BindingExpressionParser.ExpressionContext ctx);
-
+ void exitFunctionRef(BindingExpressionParser.FunctionRefContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#classExtraction}.
* @param ctx the parse tree
*/
- void enterClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx);
+ void enterClassExtraction(BindingExpressionParser.ClassExtractionContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#classExtraction}.
* @param ctx the parse tree
*/
- void exitClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx);
-
+ void exitClassExtraction(BindingExpressionParser.ClassExtractionContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#expressionList}.
* @param ctx the parse tree
*/
- void enterExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx);
+ void enterExpressionList(BindingExpressionParser.ExpressionListContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#expressionList}.
* @param ctx the parse tree
*/
- void exitExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx);
-
+ void exitExpressionList(BindingExpressionParser.ExpressionListContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#literal}.
* @param ctx the parse tree
*/
- void enterLiteral(@NotNull BindingExpressionParser.LiteralContext ctx);
+ void enterLiteral(BindingExpressionParser.LiteralContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#literal}.
* @param ctx the parse tree
*/
- void exitLiteral(@NotNull BindingExpressionParser.LiteralContext ctx);
-
+ void exitLiteral(BindingExpressionParser.LiteralContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#identifier}.
* @param ctx the parse tree
*/
- void enterIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx);
+ void enterIdentifier(BindingExpressionParser.IdentifierContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#identifier}.
* @param ctx the parse tree
*/
- void exitIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx);
-
+ void exitIdentifier(BindingExpressionParser.IdentifierContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#javaLiteral}.
* @param ctx the parse tree
*/
- void enterJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx);
+ void enterJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#javaLiteral}.
* @param ctx the parse tree
*/
- void exitJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx);
-
+ void exitJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#stringLiteral}.
* @param ctx the parse tree
*/
- void enterStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx);
+ void enterStringLiteral(BindingExpressionParser.StringLiteralContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#stringLiteral}.
* @param ctx the parse tree
*/
- void exitStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx);
-
+ void exitStringLiteral(BindingExpressionParser.StringLiteralContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocation}.
* @param ctx the parse tree
*/
- void enterExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx);
+ void enterExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocation}.
* @param ctx the parse tree
*/
- void exitExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx);
-
+ void exitExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#typeArguments}.
* @param ctx the parse tree
*/
- void enterTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx);
+ void enterTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#typeArguments}.
* @param ctx the parse tree
*/
- void exitTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx);
-
+ void exitTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#type}.
* @param ctx the parse tree
*/
- void enterType(@NotNull BindingExpressionParser.TypeContext ctx);
+ void enterType(BindingExpressionParser.TypeContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#type}.
* @param ctx the parse tree
*/
- void exitType(@NotNull BindingExpressionParser.TypeContext ctx);
-
+ void exitType(BindingExpressionParser.TypeContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocationSuffix}.
* @param ctx the parse tree
*/
- void enterExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
+ void enterExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocationSuffix}.
* @param ctx the parse tree
*/
- void exitExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
-
+ void exitExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#arguments}.
* @param ctx the parse tree
*/
- void enterArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx);
+ void enterArguments(BindingExpressionParser.ArgumentsContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#arguments}.
* @param ctx the parse tree
*/
- void exitArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx);
-
+ void exitArguments(BindingExpressionParser.ArgumentsContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#classOrInterfaceType}.
* @param ctx the parse tree
*/
- void enterClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
+ void enterClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#classOrInterfaceType}.
* @param ctx the parse tree
*/
- void exitClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
-
+ void exitClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#primitiveType}.
* @param ctx the parse tree
*/
- void enterPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx);
+ void enterPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#primitiveType}.
* @param ctx the parse tree
*/
- void exitPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx);
-
+ void exitPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#resources}.
* @param ctx the parse tree
*/
- void enterResources(@NotNull BindingExpressionParser.ResourcesContext ctx);
+ void enterResources(BindingExpressionParser.ResourcesContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#resources}.
* @param ctx the parse tree
*/
- void exitResources(@NotNull BindingExpressionParser.ResourcesContext ctx);
-
+ void exitResources(BindingExpressionParser.ResourcesContext ctx);
/**
* Enter a parse tree produced by {@link BindingExpressionParser#resourceParameters}.
* @param ctx the parse tree
*/
- void enterResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx);
+ void enterResourceParameters(BindingExpressionParser.ResourceParametersContext ctx);
/**
* Exit a parse tree produced by {@link BindingExpressionParser#resourceParameters}.
* @param ctx the parse tree
*/
- void exitResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx);
+ void exitResourceParameters(BindingExpressionParser.ResourceParametersContext ctx);
} \ No newline at end of file
diff --git a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java
index ece7caad..9633908f 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionParser.java
@@ -1,27 +1,21 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.FailedPredicateException;
-import org.antlr.v4.runtime.NoViableAltException;
-import org.antlr.v4.runtime.Parser;
-import org.antlr.v4.runtime.ParserRuleContext;
-import org.antlr.v4.runtime.RecognitionException;
-import org.antlr.v4.runtime.RuleContext;
-import org.antlr.v4.runtime.RuleVersion;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.TokenStream;
-import org.antlr.v4.runtime.Vocabulary;
-import org.antlr.v4.runtime.VocabularyImpl;
-import org.antlr.v4.runtime.atn.ATN;
-import org.antlr.v4.runtime.atn.ATNDeserializer;
-import org.antlr.v4.runtime.atn.ParserATNSimulator;
-import org.antlr.v4.runtime.misc.NotNull;
-import org.antlr.v4.runtime.tree.ParseTreeListener;
-import org.antlr.v4.runtime.tree.ParseTreeVisitor;
-import org.antlr.v4.runtime.tree.TerminalNode;
-
+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 BindingExpressionParser 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,
@@ -93,7 +87,7 @@ public class BindingExpressionParser extends Parser {
}
@Override
- @NotNull
+
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@@ -107,9 +101,12 @@ public class BindingExpressionParser extends Parser {
@Override
public String getSerializedATN() { return _serializedATN; }
+ @Override
+ public ATN getATN() { return _ATN; }
+
public BindingExpressionParser(TokenStream input) {
super(input);
- _interp = new ParserATNSimulator(this,_ATN);
+ _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class BindingSyntaxContext extends ParserRuleContext {
public BindingSyntaxContext(ParserRuleContext parent, int invokingState) {
@@ -139,8 +136,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitRootExpr(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitRootExpr(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitRootExpr(this);
else return visitor.visitChildren(this);
}
}
@@ -158,19 +155,19 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitRootLambda(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitRootLambda(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitRootLambda(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final BindingSyntaxContext bindingSyntax() throws RecognitionException {
BindingSyntaxContext _localctx = new BindingSyntaxContext(_ctx, getState());
enterRule(_localctx, 0, RULE_bindingSyntax);
int _la;
try {
setState(49);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
_localctx = new RootExprContext(_localctx);
@@ -189,7 +186,6 @@ public class BindingExpressionParser extends Parser {
}
break;
-
case 2:
_localctx = new RootLambdaContext(_localctx);
enterOuterAlt(_localctx, 2);
@@ -228,13 +224,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitDefaults(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitDefaults(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitDefaults(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final DefaultsContext defaults() throws RecognitionException {
DefaultsContext _localctx = new DefaultsContext(_ctx, getState());
enterRule(_localctx, 2, RULE_defaults);
@@ -283,13 +278,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitConstantValue(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitConstantValue(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitConstantValue(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ConstantValueContext constantValue() throws RecognitionException {
ConstantValueContext _localctx = new ConstantValueContext(_ctx, getState());
enterRule(_localctx, 4, RULE_constantValue);
@@ -360,13 +354,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLambdaExpression(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitLambdaExpression(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLambdaExpression(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final LambdaExpressionContext lambdaExpression() throws RecognitionException {
LambdaExpressionContext _localctx = new LambdaExpressionContext(_ctx, getState());
enterRule(_localctx, 6, RULE_lambdaExpression);
@@ -374,11 +367,11 @@ public class BindingExpressionParser extends Parser {
enterOuterAlt(_localctx, 1);
{
setState(61);
- _localctx.args = lambdaParameters();
+ ((LambdaExpressionContext)_localctx).args = lambdaParameters();
setState(62);
match(T__3);
setState(63);
- _localctx.expr = expression(0);
+ ((LambdaExpressionContext)_localctx).expr = expression(0);
}
}
catch (RecognitionException re) {
@@ -415,8 +408,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitSingleLambdaParameter(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitSingleLambdaParameter(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitSingleLambdaParameter(this);
else return visitor.visitChildren(this);
}
}
@@ -435,13 +428,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLambdaParameterList(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitLambdaParameterList(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLambdaParameterList(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final LambdaParametersContext lambdaParameters() throws RecognitionException {
LambdaParametersContext _localctx = new LambdaParametersContext(_ctx, getState());
enterRule(_localctx, 8, RULE_lambdaParameters);
@@ -492,7 +484,7 @@ public class BindingExpressionParser extends Parser {
}
public static class InferredFormalParameterListContext extends ParserRuleContext {
- public List<? extends TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); }
+ public List<TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); }
public TerminalNode Identifier(int i) {
return getToken(BindingExpressionParser.Identifier, i);
}
@@ -509,13 +501,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitInferredFormalParameterList(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitInferredFormalParameterList(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitInferredFormalParameterList(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final InferredFormalParameterListContext inferredFormalParameterList() throws RecognitionException {
InferredFormalParameterListContext _localctx = new InferredFormalParameterListContext(_ctx, getState());
enterRule(_localctx, 10, RULE_inferredFormalParameterList);
@@ -582,8 +573,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitCastOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitCastOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitCastOp(this);
else return visitor.visitChildren(this);
}
}
@@ -591,7 +582,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -607,50 +598,50 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitComparisonOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitComparisonOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitComparisonOp(this);
else return visitor.visitChildren(this);
}
}
- public static class BracketOpContext extends ExpressionContext {
- public List<? extends ExpressionContext> expression() {
- return getRuleContexts(ExpressionContext.class);
- }
- public ExpressionContext expression(int i) {
- return getRuleContext(ExpressionContext.class,i);
+ public static class UnaryOpContext extends ExpressionContext {
+ public Token op;
+ public ExpressionContext expression() {
+ return getRuleContext(ExpressionContext.class,0);
}
- public BracketOpContext(ExpressionContext ctx) { copyFrom(ctx); }
+ public UnaryOpContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterBracketOp(this);
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterUnaryOp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBracketOp(this);
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitUnaryOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitBracketOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitUnaryOp(this);
else return visitor.visitChildren(this);
}
}
- public static class UnaryOpContext extends ExpressionContext {
- public Token op;
- public ExpressionContext expression() {
- return getRuleContext(ExpressionContext.class,0);
+ public static class BracketOpContext extends ExpressionContext {
+ public List<ExpressionContext> expression() {
+ return getRuleContexts(ExpressionContext.class);
}
- public UnaryOpContext(ExpressionContext ctx) { copyFrom(ctx); }
+ public ExpressionContext expression(int i) {
+ return getRuleContext(ExpressionContext.class,i);
+ }
+ public BracketOpContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterUnaryOp(this);
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterBracketOp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitUnaryOp(this);
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBracketOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitUnaryOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBracketOp(this);
else return visitor.visitChildren(this);
}
}
@@ -668,8 +659,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResource(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitResource(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResource(this);
else return visitor.visitChildren(this);
}
}
@@ -677,7 +668,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -693,8 +684,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitQuestionQuestionOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitQuestionQuestionOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitQuestionQuestionOp(this);
else return visitor.visitChildren(this);
}
}
@@ -712,8 +703,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitGrouping(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitGrouping(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitGrouping(this);
else return visitor.visitChildren(this);
}
}
@@ -738,8 +729,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitMethodInvocation(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitMethodInvocation(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitMethodInvocation(this);
else return visitor.visitChildren(this);
}
}
@@ -747,7 +738,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -763,8 +754,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBitShiftOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitBitShiftOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBitShiftOp(this);
else return visitor.visitChildren(this);
}
}
@@ -772,7 +763,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -788,8 +779,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitAndOrOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitAndOrOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitAndOrOp(this);
else return visitor.visitChildren(this);
}
}
@@ -798,7 +789,7 @@ public class BindingExpressionParser extends Parser {
public Token op;
public ExpressionContext iftrue;
public ExpressionContext iffalse;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -814,8 +805,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitTernaryOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitTernaryOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitTernaryOp(this);
else return visitor.visitChildren(this);
}
}
@@ -840,8 +831,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitPrimary(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitPrimary(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitPrimary(this);
else return visitor.visitChildren(this);
}
}
@@ -860,8 +851,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitDotOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitDotOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitDotOp(this);
else return visitor.visitChildren(this);
}
}
@@ -869,7 +860,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -885,8 +876,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitMathOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitMathOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitMathOp(this);
else return visitor.visitChildren(this);
}
}
@@ -907,28 +898,8 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitInstanceOfOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitInstanceOfOp(this);
- else return visitor.visitChildren(this);
- }
- }
- public static class FunctionRefContext extends ExpressionContext {
- public ExpressionContext expression() {
- return getRuleContext(ExpressionContext.class,0);
- }
- public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); }
- public FunctionRefContext(ExpressionContext ctx) { copyFrom(ctx); }
- @Override
- public void enterRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterFunctionRef(this);
- }
- @Override
- public void exitRule(ParseTreeListener listener) {
- if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitFunctionRef(this);
- }
- @Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitFunctionRef(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitInstanceOfOp(this);
else return visitor.visitChildren(this);
}
}
@@ -936,7 +907,7 @@ public class BindingExpressionParser extends Parser {
public ExpressionContext left;
public Token op;
public ExpressionContext right;
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -952,13 +923,32 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitBinaryOp(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitBinaryOp(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitBinaryOp(this);
+ else return visitor.visitChildren(this);
+ }
+ }
+ public static class FunctionRefContext extends ExpressionContext {
+ public ExpressionContext expression() {
+ return getRuleContext(ExpressionContext.class,0);
+ }
+ public TerminalNode Identifier() { return getToken(BindingExpressionParser.Identifier, 0); }
+ public FunctionRefContext(ExpressionContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).enterFunctionRef(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitFunctionRef(this);
+ }
+ @Override
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitFunctionRef(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ExpressionContext expression() throws RecognitionException {
return expression(0);
}
@@ -976,121 +966,114 @@ public class BindingExpressionParser extends Parser {
enterOuterAlt(_localctx, 1);
{
setState(100);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
case 1:
{
- _localctx = new CastOpContext(_localctx);
+ _localctx = new GroupingContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(82);
match(T__4);
setState(83);
- type();
+ expression(0);
setState(84);
match(T__5);
- setState(85);
- expression(16);
}
break;
-
case 2:
{
- _localctx = new UnaryOpContext(_localctx);
+ _localctx = new PrimaryContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(87);
- ((UnaryOpContext)_localctx).op = _input.LT(1);
- _la = _input.LA(1);
- if ( !(_la==T__10 || _la==T__11) ) {
- ((UnaryOpContext)_localctx).op = _errHandler.recoverInline(this);
- } else {
- consume();
- }
- setState(88);
- expression(15);
+ setState(86);
+ literal();
}
break;
-
case 3:
{
- _localctx = new UnaryOpContext(_localctx);
+ _localctx = new PrimaryContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(89);
- ((UnaryOpContext)_localctx).op = _input.LT(1);
- _la = _input.LA(1);
- if ( !(_la==T__12 || _la==T__13) ) {
- ((UnaryOpContext)_localctx).op = _errHandler.recoverInline(this);
- } else {
- consume();
- }
- setState(90);
- expression(14);
+ setState(87);
+ match(VoidLiteral);
}
break;
-
case 4:
{
- _localctx = new GroupingContext(_localctx);
+ _localctx = new PrimaryContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(91);
- match(T__4);
- setState(92);
- expression(0);
- setState(93);
- match(T__5);
+ setState(88);
+ identifier();
}
break;
-
case 5:
{
_localctx = new PrimaryContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(95);
- literal();
+ setState(89);
+ classExtraction();
}
break;
-
case 6:
{
- _localctx = new PrimaryContext(_localctx);
+ _localctx = new ResourceContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(96);
- match(VoidLiteral);
+ setState(90);
+ resources();
}
break;
-
case 7:
{
- _localctx = new PrimaryContext(_localctx);
+ _localctx = new CastOpContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(97);
- identifier();
+ setState(91);
+ match(T__4);
+ setState(92);
+ type();
+ setState(93);
+ match(T__5);
+ setState(94);
+ expression(16);
}
break;
-
case 8:
{
- _localctx = new PrimaryContext(_localctx);
+ _localctx = new UnaryOpContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
- setState(98);
- classExtraction();
+ setState(96);
+ ((UnaryOpContext)_localctx).op = _input.LT(1);
+ _la = _input.LA(1);
+ if ( !(_la==T__10 || _la==T__11) ) {
+ ((UnaryOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ setState(97);
+ expression(15);
}
break;
-
case 9:
{
- _localctx = new ResourceContext(_localctx);
+ _localctx = new UnaryOpContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
+ setState(98);
+ ((UnaryOpContext)_localctx).op = _input.LT(1);
+ _la = _input.LA(1);
+ if ( !(_la==T__12 || _la==T__13) ) {
+ ((UnaryOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
setState(99);
- resources();
+ expression(14);
}
break;
}
@@ -1104,6 +1087,7 @@ public class BindingExpressionParser extends Parser {
_prevctx = _localctx;
{
setState(163);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
case 1:
{
@@ -1116,7 +1100,7 @@ public class BindingExpressionParser extends Parser {
((MathOpContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__14) | (1L << T__15) | (1L << T__16))) != 0)) ) {
- ((MathOpContext)_localctx).op = _errHandler.recoverInline(this);
+ ((MathOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
} else {
consume();
}
@@ -1124,7 +1108,6 @@ public class BindingExpressionParser extends Parser {
((MathOpContext)_localctx).right = expression(14);
}
break;
-
case 2:
{
_localctx = new MathOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1136,7 +1119,7 @@ public class BindingExpressionParser extends Parser {
((MathOpContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==T__10 || _la==T__11) ) {
- ((MathOpContext)_localctx).op = _errHandler.recoverInline(this);
+ ((MathOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
} else {
consume();
}
@@ -1144,7 +1127,6 @@ public class BindingExpressionParser extends Parser {
((MathOpContext)_localctx).right = expression(13);
}
break;
-
case 3:
{
_localctx = new BitShiftOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1156,7 +1138,7 @@ public class BindingExpressionParser extends Parser {
((BitShiftOpContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__17) | (1L << T__18) | (1L << T__19))) != 0)) ) {
- ((BitShiftOpContext)_localctx).op = _errHandler.recoverInline(this);
+ ((BitShiftOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
} else {
consume();
}
@@ -1164,7 +1146,6 @@ public class BindingExpressionParser extends Parser {
((BitShiftOpContext)_localctx).right = expression(12);
}
break;
-
case 4:
{
_localctx = new ComparisonOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1176,7 +1157,7 @@ public class BindingExpressionParser extends Parser {
((ComparisonOpContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__20) | (1L << T__21) | (1L << T__22) | (1L << T__23))) != 0)) ) {
- ((ComparisonOpContext)_localctx).op = _errHandler.recoverInline(this);
+ ((ComparisonOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
} else {
consume();
}
@@ -1184,7 +1165,6 @@ public class BindingExpressionParser extends Parser {
((ComparisonOpContext)_localctx).right = expression(11);
}
break;
-
case 5:
{
_localctx = new ComparisonOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1196,7 +1176,7 @@ public class BindingExpressionParser extends Parser {
((ComparisonOpContext)_localctx).op = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==T__25 || _la==T__26) ) {
- ((ComparisonOpContext)_localctx).op = _errHandler.recoverInline(this);
+ ((ComparisonOpContext)_localctx).op = (Token)_errHandler.recoverInline(this);
} else {
consume();
}
@@ -1204,7 +1184,6 @@ public class BindingExpressionParser extends Parser {
((ComparisonOpContext)_localctx).right = expression(9);
}
break;
-
case 6:
{
_localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1218,7 +1197,6 @@ public class BindingExpressionParser extends Parser {
((BinaryOpContext)_localctx).right = expression(8);
}
break;
-
case 7:
{
_localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1232,7 +1210,6 @@ public class BindingExpressionParser extends Parser {
((BinaryOpContext)_localctx).right = expression(7);
}
break;
-
case 8:
{
_localctx = new BinaryOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1246,7 +1223,6 @@ public class BindingExpressionParser extends Parser {
((BinaryOpContext)_localctx).right = expression(6);
}
break;
-
case 9:
{
_localctx = new AndOrOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1260,7 +1236,6 @@ public class BindingExpressionParser extends Parser {
((AndOrOpContext)_localctx).right = expression(5);
}
break;
-
case 10:
{
_localctx = new AndOrOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1274,7 +1249,6 @@ public class BindingExpressionParser extends Parser {
((AndOrOpContext)_localctx).right = expression(4);
}
break;
-
case 11:
{
_localctx = new TernaryOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1292,7 +1266,6 @@ public class BindingExpressionParser extends Parser {
((TernaryOpContext)_localctx).iffalse = expression(2);
}
break;
-
case 12:
{
_localctx = new QuestionQuestionOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1306,7 +1279,6 @@ public class BindingExpressionParser extends Parser {
((QuestionQuestionOpContext)_localctx).right = expression(2);
}
break;
-
case 13:
{
_localctx = new DotOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1319,7 +1291,6 @@ public class BindingExpressionParser extends Parser {
match(Identifier);
}
break;
-
case 14:
{
_localctx = new FunctionRefContext(new ExpressionContext(_parentctx, _parentState));
@@ -1332,7 +1303,6 @@ public class BindingExpressionParser extends Parser {
match(Identifier);
}
break;
-
case 15:
{
_localctx = new BracketOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1347,7 +1317,6 @@ public class BindingExpressionParser extends Parser {
match(T__9);
}
break;
-
case 16:
{
_localctx = new MethodInvocationContext(new ExpressionContext(_parentctx, _parentState));
@@ -1374,7 +1343,6 @@ public class BindingExpressionParser extends Parser {
match(T__5);
}
break;
-
case 17:
{
_localctx = new InstanceOfOpContext(new ExpressionContext(_parentctx, _parentState));
@@ -1424,13 +1392,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitClassExtraction(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitClassExtraction(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitClassExtraction(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ClassExtractionContext classExtraction() throws RecognitionException {
ClassExtractionContext _localctx = new ClassExtractionContext(_ctx, getState());
enterRule(_localctx, 14, RULE_classExtraction);
@@ -1457,7 +1424,7 @@ public class BindingExpressionParser extends Parser {
}
public static class ExpressionListContext extends ParserRuleContext {
- public List<? extends ExpressionContext> expression() {
+ public List<ExpressionContext> expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
@@ -1476,13 +1443,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExpressionList(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitExpressionList(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExpressionList(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ExpressionListContext expressionList() throws RecognitionException {
ExpressionListContext _localctx = new ExpressionListContext(_ctx, getState());
enterRule(_localctx, 16, RULE_expressionList);
@@ -1541,13 +1507,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitLiteral(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitLiteral(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitLiteral(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final LiteralContext literal() throws RecognitionException {
LiteralContext _localctx = new LiteralContext(_ctx, getState());
enterRule(_localctx, 18, RULE_literal);
@@ -1603,13 +1568,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitIdentifier(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitIdentifier(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitIdentifier(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final IdentifierContext identifier() throws RecognitionException {
IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
enterRule(_localctx, 20, RULE_identifier);
@@ -1650,13 +1614,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitJavaLiteral(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitJavaLiteral(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitJavaLiteral(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final JavaLiteralContext javaLiteral() throws RecognitionException {
JavaLiteralContext _localctx = new JavaLiteralContext(_ctx, getState());
enterRule(_localctx, 22, RULE_javaLiteral);
@@ -1700,13 +1663,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitStringLiteral(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitStringLiteral(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitStringLiteral(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final StringLiteralContext stringLiteral() throws RecognitionException {
StringLiteralContext _localctx = new StringLiteralContext(_ctx, getState());
enterRule(_localctx, 24, RULE_stringLiteral);
@@ -1754,13 +1716,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExplicitGenericInvocation(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitExplicitGenericInvocation(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExplicitGenericInvocation(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ExplicitGenericInvocationContext explicitGenericInvocation() throws RecognitionException {
ExplicitGenericInvocationContext _localctx = new ExplicitGenericInvocationContext(_ctx, getState());
enterRule(_localctx, 26, RULE_explicitGenericInvocation);
@@ -1785,7 +1746,7 @@ public class BindingExpressionParser extends Parser {
}
public static class TypeArgumentsContext extends ParserRuleContext {
- public List<? extends TypeContext> type() {
+ public List<TypeContext> type() {
return getRuleContexts(TypeContext.class);
}
public TypeContext type(int i) {
@@ -1804,13 +1765,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitTypeArguments(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitTypeArguments(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitTypeArguments(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final TypeArgumentsContext typeArguments() throws RecognitionException {
TypeArgumentsContext _localctx = new TypeArgumentsContext(_ctx, getState());
enterRule(_localctx, 28, RULE_typeArguments);
@@ -1873,13 +1833,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitType(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitType(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitType(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final TypeContext type() throws RecognitionException {
TypeContext _localctx = new TypeContext(_ctx, getState());
enterRule(_localctx, 30, RULE_type);
@@ -1977,13 +1936,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitExplicitGenericInvocationSuffix(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitExplicitGenericInvocationSuffix(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitExplicitGenericInvocationSuffix(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ExplicitGenericInvocationSuffixContext explicitGenericInvocationSuffix() throws RecognitionException {
ExplicitGenericInvocationSuffixContext _localctx = new ExplicitGenericInvocationSuffixContext(_ctx, getState());
enterRule(_localctx, 32, RULE_explicitGenericInvocationSuffix);
@@ -2024,13 +1982,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitArguments(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitArguments(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitArguments(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ArgumentsContext arguments() throws RecognitionException {
ArgumentsContext _localctx = new ArgumentsContext(_ctx, getState());
enterRule(_localctx, 34, RULE_arguments);
@@ -2068,13 +2025,13 @@ public class BindingExpressionParser extends Parser {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
- public List<? extends TypeArgumentsContext> typeArguments() {
+ public List<TypeArgumentsContext> typeArguments() {
return getRuleContexts(TypeArgumentsContext.class);
}
public TypeArgumentsContext typeArguments(int i) {
return getRuleContext(TypeArgumentsContext.class,i);
}
- public List<? extends TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); }
+ public List<TerminalNode> Identifier() { return getTokens(BindingExpressionParser.Identifier); }
public TerminalNode Identifier(int i) {
return getToken(BindingExpressionParser.Identifier, i);
}
@@ -2091,13 +2048,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitClassOrInterfaceType(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitClassOrInterfaceType(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitClassOrInterfaceType(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ClassOrInterfaceTypeContext classOrInterfaceType() throws RecognitionException {
ClassOrInterfaceTypeContext _localctx = new ClassOrInterfaceTypeContext(_ctx, getState());
enterRule(_localctx, 36, RULE_classOrInterfaceType);
@@ -2108,6 +2064,7 @@ public class BindingExpressionParser extends Parser {
setState(231);
identifier();
setState(233);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) {
case 1:
{
@@ -2128,6 +2085,7 @@ public class BindingExpressionParser extends Parser {
setState(236);
match(Identifier);
setState(238);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
case 1:
{
@@ -2170,13 +2128,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitPrimitiveType(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitPrimitiveType(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitPrimitiveType(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final PrimitiveTypeContext primitiveType() throws RecognitionException {
PrimitiveTypeContext _localctx = new PrimitiveTypeContext(_ctx, getState());
enterRule(_localctx, 38, RULE_primitiveType);
@@ -2222,13 +2179,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResources(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitResources(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResources(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ResourcesContext resources() throws RecognitionException {
ResourcesContext _localctx = new ResourcesContext(_ctx, getState());
enterRule(_localctx, 40, RULE_resources);
@@ -2238,6 +2194,7 @@ public class BindingExpressionParser extends Parser {
setState(247);
match(ResourceReference);
setState(249);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
{
@@ -2276,13 +2233,12 @@ public class BindingExpressionParser extends Parser {
if ( listener instanceof BindingExpressionListener ) ((BindingExpressionListener)listener).exitResourceParameters(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof BindingExpressionVisitor<?> ) return ((BindingExpressionVisitor<? extends Result>)visitor).visitResourceParameters(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof BindingExpressionVisitor ) return ((BindingExpressionVisitor<? extends T>)visitor).visitResourceParameters(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ResourceParametersContext resourceParameters() throws RecognitionException {
ResourceParametersContext _localctx = new ResourceParametersContext(_ctx, getState());
enterRule(_localctx, 42, RULE_resourceParameters);
@@ -2319,52 +2275,36 @@ public class BindingExpressionParser extends Parser {
switch (predIndex) {
case 0:
return precpred(_ctx, 13);
-
case 1:
return precpred(_ctx, 12);
-
case 2:
return precpred(_ctx, 11);
-
case 3:
return precpred(_ctx, 10);
-
case 4:
return precpred(_ctx, 8);
-
case 5:
return precpred(_ctx, 7);
-
case 6:
return precpred(_ctx, 6);
-
case 7:
return precpred(_ctx, 5);
-
case 8:
return precpred(_ctx, 4);
-
case 9:
return precpred(_ctx, 3);
-
case 10:
return precpred(_ctx, 2);
-
case 11:
return precpred(_ctx, 1);
-
case 12:
return precpred(_ctx, 20);
-
case 13:
return precpred(_ctx, 19);
-
case 14:
return precpred(_ctx, 18);
-
case 15:
return precpred(_ctx, 17);
-
case 16:
return precpred(_ctx, 9);
}
@@ -2372,7 +2312,7 @@ public class BindingExpressionParser extends Parser {
}
public static final String _serializedATN =
- "\3\uaf6f\u8320\u479d\ub75c\u4880\u1605\u191c\uab37\3<\u0102\4\2\t\2\4"+
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3<\u0102\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\3\2\3\2\5\2\61\n\2"+
@@ -2390,29 +2330,28 @@ public class BindingExpressionParser extends Parser {
"\3\21\3\21\7\21\u00da\n\21\f\21\16\21\u00dd\13\21\5\21\u00df\n\21\3\22"+
"\3\22\3\22\3\23\3\23\5\23\u00e6\n\23\3\23\3\23\3\24\3\24\5\24\u00ec\n"+
"\24\3\24\3\24\3\24\5\24\u00f1\n\24\7\24\u00f3\n\24\f\24\16\24\u00f6\13"+
- "\24\3\25\3\25\3\26\3\26\5\26\u00fc\n\26\3\27\3\27\3\27\3\27\3\27\2\2\3"+
- "\16\30\2\2\4\2\6\2\b\2\n\2\f\2\16\2\20\2\22\2\24\2\26\2\30\2\32\2\34\2"+
- "\36\2 \2\"\2$\2&\2(\2*\2,\2\2\13\3\2\r\16\3\2\17\20\3\2\21\23\3\2\24\26"+
- "\3\2\27\32\3\2\34\35\4\2\61\64\67\67\3\2\65\66\3\2\'.\u0117\2\63\3\2\2"+
- "\2\4\65\3\2\2\2\6=\3\2\2\2\b?\3\2\2\2\nI\3\2\2\2\fK\3\2\2\2\16f\3\2\2"+
- "\2\20\u00aa\3\2\2\2\22\u00ae\3\2\2\2\24\u00b8\3\2\2\2\26\u00ba\3\2\2\2"+
- "\30\u00bc\3\2\2\2\32\u00be\3\2\2\2\34\u00c0\3\2\2\2\36\u00c3\3\2\2\2 "+
- "\u00de\3\2\2\2\"\u00e0\3\2\2\2$\u00e3\3\2\2\2&\u00e9\3\2\2\2(\u00f7\3"+
- "\2\2\2*\u00f9\3\2\2\2,\u00fd\3\2\2\2.\60\5\16\b\2/\61\5\4\3\2\60/\3\2"+
- "\2\2\60\61\3\2\2\2\61\64\3\2\2\2\62\64\5\b\5\2\63.\3\2\2\2\63\62\3\2\2"+
- "\2\64\3\3\2\2\2\65\66\7\3\2\2\66\67\7\4\2\2\678\7\5\2\289\5\6\4\29\5\3"+
- "\2\2\2:>\5\24\13\2;>\7:\2\2<>\5\26\f\2=:\3\2\2\2=;\3\2\2\2=<\3\2\2\2>"+
- "\7\3\2\2\2?@\5\n\6\2@A\7\6\2\2AB\5\16\b\2B\t\3\2\2\2CJ\78\2\2DF\7\7\2"+
- "\2EG\5\f\7\2FE\3\2\2\2FG\3\2\2\2GH\3\2\2\2HJ\7\b\2\2IC\3\2\2\2ID\3\2\2"+
- "\2J\13\3\2\2\2KP\78\2\2LM\7\3\2\2MO\78\2\2NL\3\2\2\2OR\3\2\2\2PN\3\2\2"+
- "\2PQ\3\2\2\2Q\r\3\2\2\2RP\3\2\2\2ST\b\b\1\2TU\7\7\2\2UV\5 \21\2VW\7\b"+
- "\2\2WX\5\16\b\22Xg\3\2\2\2YZ\t\2\2\2Zg\5\16\b\21[\\\t\3\2\2\\g\5\16\b"+
- "\20]^\7\7\2\2^_\5\16\b\2_`\7\b\2\2`g\3\2\2\2ag\5\24\13\2bg\7\60\2\2cg"+
- "\5\26\f\2dg\5\20\t\2eg\5*\26\2fS\3\2\2\2fY\3\2\2\2f[\3\2\2\2f]\3\2\2\2"+
- "fa\3\2\2\2fb\3\2\2\2fc\3\2\2\2fd\3\2\2\2fe\3\2\2\2g\u00a7\3\2\2\2hi\f"+
- "\17\2\2ij\t\4\2\2j\u00a6\5\16\b\20kl\f\16\2\2lm\t\2\2\2m\u00a6\5\16\b"+
- "\17no\f\r\2\2op\t\5\2\2p\u00a6\5\16\b\16qr\f\f\2\2rs\t\6\2\2s\u00a6\5"+
- "\16\b\rtu\f\n\2\2uv\t\7\2\2v\u00a6\5\16\b\13wx\f\t\2\2xy\7\36\2\2y\u00a6"+
+ "\24\3\25\3\25\3\26\3\26\5\26\u00fc\n\26\3\27\3\27\3\27\3\27\3\27\2\3\16"+
+ "\30\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,\2\13\3\2\r\16\3\2\17"+
+ "\20\3\2\21\23\3\2\24\26\3\2\27\32\3\2\34\35\4\2\61\64\67\67\3\2\65\66"+
+ "\3\2\'.\u0117\2\63\3\2\2\2\4\65\3\2\2\2\6=\3\2\2\2\b?\3\2\2\2\nI\3\2\2"+
+ "\2\fK\3\2\2\2\16f\3\2\2\2\20\u00aa\3\2\2\2\22\u00ae\3\2\2\2\24\u00b8\3"+
+ "\2\2\2\26\u00ba\3\2\2\2\30\u00bc\3\2\2\2\32\u00be\3\2\2\2\34\u00c0\3\2"+
+ "\2\2\36\u00c3\3\2\2\2 \u00de\3\2\2\2\"\u00e0\3\2\2\2$\u00e3\3\2\2\2&\u00e9"+
+ "\3\2\2\2(\u00f7\3\2\2\2*\u00f9\3\2\2\2,\u00fd\3\2\2\2.\60\5\16\b\2/\61"+
+ "\5\4\3\2\60/\3\2\2\2\60\61\3\2\2\2\61\64\3\2\2\2\62\64\5\b\5\2\63.\3\2"+
+ "\2\2\63\62\3\2\2\2\64\3\3\2\2\2\65\66\7\3\2\2\66\67\7\4\2\2\678\7\5\2"+
+ "\289\5\6\4\29\5\3\2\2\2:>\5\24\13\2;>\7:\2\2<>\5\26\f\2=:\3\2\2\2=;\3"+
+ "\2\2\2=<\3\2\2\2>\7\3\2\2\2?@\5\n\6\2@A\7\6\2\2AB\5\16\b\2B\t\3\2\2\2"+
+ "CJ\78\2\2DF\7\7\2\2EG\5\f\7\2FE\3\2\2\2FG\3\2\2\2GH\3\2\2\2HJ\7\b\2\2"+
+ "IC\3\2\2\2ID\3\2\2\2J\13\3\2\2\2KP\78\2\2LM\7\3\2\2MO\78\2\2NL\3\2\2\2"+
+ "OR\3\2\2\2PN\3\2\2\2PQ\3\2\2\2Q\r\3\2\2\2RP\3\2\2\2ST\b\b\1\2TU\7\7\2"+
+ "\2UV\5\16\b\2VW\7\b\2\2Wg\3\2\2\2Xg\5\24\13\2Yg\7\60\2\2Zg\5\26\f\2[g"+
+ "\5\20\t\2\\g\5*\26\2]^\7\7\2\2^_\5 \21\2_`\7\b\2\2`a\5\16\b\22ag\3\2\2"+
+ "\2bc\t\2\2\2cg\5\16\b\21de\t\3\2\2eg\5\16\b\20fS\3\2\2\2fX\3\2\2\2fY\3"+
+ "\2\2\2fZ\3\2\2\2f[\3\2\2\2f\\\3\2\2\2f]\3\2\2\2fb\3\2\2\2fd\3\2\2\2g\u00a7"+
+ "\3\2\2\2hi\f\17\2\2ij\t\4\2\2j\u00a6\5\16\b\20kl\f\16\2\2lm\t\2\2\2m\u00a6"+
+ "\5\16\b\17no\f\r\2\2op\t\5\2\2p\u00a6\5\16\b\16qr\f\f\2\2rs\t\6\2\2s\u00a6"+
+ "\5\16\b\rtu\f\n\2\2uv\t\7\2\2v\u00a6\5\16\b\13wx\f\t\2\2xy\7\36\2\2y\u00a6"+
"\5\16\b\nz{\f\b\2\2{|\7\37\2\2|\u00a6\5\16\b\t}~\f\7\2\2~\177\7 \2\2\177"+
"\u00a6\5\16\b\b\u0080\u0081\f\6\2\2\u0081\u0082\7!\2\2\u0082\u00a6\5\16"+
"\b\7\u0083\u0084\f\5\2\2\u0084\u0085\7\"\2\2\u0085\u00a6\5\16\b\6\u0086"+
@@ -2463,5 +2402,9 @@ public class BindingExpressionParser extends Parser {
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/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
index 871a64b6..c7443648 100644
--- a/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
+++ b/compilerCommon/src/main/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
@@ -1,336 +1,274 @@
-// Generated from BindingExpression.g4 by ANTLR 4.5
+// Generated from BindingExpression.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
/**
* This interface defines a complete generic visitor for a parse tree produced
* by {@link BindingExpressionParser}.
*
- * @param <Result> The return type of the visit operation. Use {@link Void} for
+ * @param <T> The return type of the visit operation. Use {@link Void} for
* operations with no return type.
*/
-public interface BindingExpressionVisitor<Result> extends ParseTreeVisitor<Result> {
+public interface BindingExpressionVisitor<T> extends ParseTreeVisitor<T> {
/**
- * Visit a parse tree produced by the {@code CastOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by the {@code RootExpr}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitCastOp(@NotNull BindingExpressionParser.CastOpContext ctx);
-
+ T visitRootExpr(BindingExpressionParser.RootExprContext ctx);
/**
- * Visit a parse tree produced by the {@code ComparisonOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by the {@code RootLambda}
+ * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitComparisonOp(@NotNull BindingExpressionParser.ComparisonOpContext ctx);
-
+ T visitRootLambda(BindingExpressionParser.RootLambdaContext ctx);
/**
- * Visit a parse tree produced by the {@code BracketOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by {@link BindingExpressionParser#defaults}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitBracketOp(@NotNull BindingExpressionParser.BracketOpContext ctx);
-
+ T visitDefaults(BindingExpressionParser.DefaultsContext ctx);
/**
- * Visit a parse tree produced by the {@code UnaryOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by {@link BindingExpressionParser#constantValue}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitUnaryOp(@NotNull BindingExpressionParser.UnaryOpContext ctx);
-
+ T visitConstantValue(BindingExpressionParser.ConstantValueContext ctx);
/**
- * Visit a parse tree produced by the {@code Resource}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitResource(@NotNull BindingExpressionParser.ResourceContext ctx);
-
+ T visitLambdaExpression(BindingExpressionParser.LambdaExpressionContext ctx);
/**
- * Visit a parse tree produced by the {@code QuestionQuestionOp}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by the {@code SingleLambdaParameter}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitQuestionQuestionOp(@NotNull BindingExpressionParser.QuestionQuestionOpContext ctx);
-
+ T visitSingleLambdaParameter(BindingExpressionParser.SingleLambdaParameterContext ctx);
/**
- * Visit a parse tree produced by the {@code Grouping}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by the {@code LambdaParameterList}
+ * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitGrouping(@NotNull BindingExpressionParser.GroupingContext ctx);
-
+ T visitLambdaParameterList(BindingExpressionParser.LambdaParameterListContext ctx);
/**
- * Visit a parse tree produced by the {@code MethodInvocation}
- * labeled alternative in {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx);
-
+ T visitInferredFormalParameterList(BindingExpressionParser.InferredFormalParameterListContext ctx);
/**
- * Visit a parse tree produced by the {@code BitShiftOp}
+ * Visit a parse tree produced by the {@code CastOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitBitShiftOp(@NotNull BindingExpressionParser.BitShiftOpContext ctx);
-
+ T visitCastOp(BindingExpressionParser.CastOpContext ctx);
/**
- * Visit a parse tree produced by the {@code AndOrOp}
+ * Visit a parse tree produced by the {@code ComparisonOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitAndOrOp(@NotNull BindingExpressionParser.AndOrOpContext ctx);
-
+ T visitComparisonOp(BindingExpressionParser.ComparisonOpContext ctx);
/**
- * Visit a parse tree produced by the {@code TernaryOp}
+ * Visit a parse tree produced by the {@code UnaryOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitTernaryOp(@NotNull BindingExpressionParser.TernaryOpContext ctx);
-
+ T visitUnaryOp(BindingExpressionParser.UnaryOpContext ctx);
/**
- * Visit a parse tree produced by the {@code Primary}
+ * Visit a parse tree produced by the {@code BracketOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitPrimary(@NotNull BindingExpressionParser.PrimaryContext ctx);
-
+ T visitBracketOp(BindingExpressionParser.BracketOpContext ctx);
/**
- * Visit a parse tree produced by the {@code DotOp}
+ * Visit a parse tree produced by the {@code Resource}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitDotOp(@NotNull BindingExpressionParser.DotOpContext ctx);
-
+ T visitResource(BindingExpressionParser.ResourceContext ctx);
/**
- * Visit a parse tree produced by the {@code MathOp}
+ * Visit a parse tree produced by the {@code QuestionQuestionOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitMathOp(@NotNull BindingExpressionParser.MathOpContext ctx);
-
+ T visitQuestionQuestionOp(BindingExpressionParser.QuestionQuestionOpContext ctx);
/**
- * Visit a parse tree produced by the {@code InstanceOfOp}
+ * Visit a parse tree produced by the {@code Grouping}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitInstanceOfOp(@NotNull BindingExpressionParser.InstanceOfOpContext ctx);
-
+ T visitGrouping(BindingExpressionParser.GroupingContext ctx);
/**
- * Visit a parse tree produced by the {@code FunctionRef}
+ * Visit a parse tree produced by the {@code MethodInvocation}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitFunctionRef(@NotNull BindingExpressionParser.FunctionRefContext ctx);
-
+ T visitMethodInvocation(BindingExpressionParser.MethodInvocationContext ctx);
/**
- * Visit a parse tree produced by the {@code BinaryOp}
+ * Visit a parse tree produced by the {@code BitShiftOp}
* labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitBinaryOp(@NotNull BindingExpressionParser.BinaryOpContext ctx);
-
- /**
- * Visit a parse tree produced by the {@code RootExpr}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- * @return the visitor result
- */
- Result visitRootExpr(@NotNull BindingExpressionParser.RootExprContext ctx);
-
- /**
- * Visit a parse tree produced by the {@code RootLambda}
- * labeled alternative in {@link BindingExpressionParser#bindingSyntax}.
- * @param ctx the parse tree
- * @return the visitor result
- */
- Result visitRootLambda(@NotNull BindingExpressionParser.RootLambdaContext ctx);
-
- /**
- * Visit a parse tree produced by the {@code SingleLambdaParameter}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
- * @param ctx the parse tree
- * @return the visitor result
- */
- Result visitSingleLambdaParameter(@NotNull BindingExpressionParser.SingleLambdaParameterContext ctx);
-
+ T visitBitShiftOp(BindingExpressionParser.BitShiftOpContext ctx);
/**
- * Visit a parse tree produced by the {@code LambdaParameterList}
- * labeled alternative in {@link BindingExpressionParser#lambdaParameters}.
+ * Visit a parse tree produced by the {@code AndOrOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitLambdaParameterList(@NotNull BindingExpressionParser.LambdaParameterListContext ctx);
-
+ T visitAndOrOp(BindingExpressionParser.AndOrOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#bindingSyntax}.
+ * Visit a parse tree produced by the {@code TernaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitBindingSyntax(@NotNull BindingExpressionParser.BindingSyntaxContext ctx);
-
+ T visitTernaryOp(BindingExpressionParser.TernaryOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#defaults}.
+ * Visit a parse tree produced by the {@code Primary}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitDefaults(@NotNull BindingExpressionParser.DefaultsContext ctx);
-
+ T visitPrimary(BindingExpressionParser.PrimaryContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#constantValue}.
+ * Visit a parse tree produced by the {@code DotOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitConstantValue(@NotNull BindingExpressionParser.ConstantValueContext ctx);
-
+ T visitDotOp(BindingExpressionParser.DotOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#lambdaExpression}.
+ * Visit a parse tree produced by the {@code MathOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitLambdaExpression(@NotNull BindingExpressionParser.LambdaExpressionContext ctx);
-
+ T visitMathOp(BindingExpressionParser.MathOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#lambdaParameters}.
+ * Visit a parse tree produced by the {@code InstanceOfOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitLambdaParameters(@NotNull BindingExpressionParser.LambdaParametersContext ctx);
-
+ T visitInstanceOfOp(BindingExpressionParser.InstanceOfOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#inferredFormalParameterList}.
+ * Visit a parse tree produced by the {@code BinaryOp}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitInferredFormalParameterList(@NotNull BindingExpressionParser.InferredFormalParameterListContext ctx);
-
+ T visitBinaryOp(BindingExpressionParser.BinaryOpContext ctx);
/**
- * Visit a parse tree produced by {@link BindingExpressionParser#expression}.
+ * Visit a parse tree produced by the {@code FunctionRef}
+ * labeled alternative in {@link BindingExpressionParser#expression}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitExpression(@NotNull BindingExpressionParser.ExpressionContext ctx);
-
+ T visitFunctionRef(BindingExpressionParser.FunctionRefContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#classExtraction}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitClassExtraction(@NotNull BindingExpressionParser.ClassExtractionContext ctx);
-
+ T visitClassExtraction(BindingExpressionParser.ClassExtractionContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#expressionList}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitExpressionList(@NotNull BindingExpressionParser.ExpressionListContext ctx);
-
+ T visitExpressionList(BindingExpressionParser.ExpressionListContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#literal}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitLiteral(@NotNull BindingExpressionParser.LiteralContext ctx);
-
+ T visitLiteral(BindingExpressionParser.LiteralContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#identifier}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitIdentifier(@NotNull BindingExpressionParser.IdentifierContext ctx);
-
+ T visitIdentifier(BindingExpressionParser.IdentifierContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#javaLiteral}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitJavaLiteral(@NotNull BindingExpressionParser.JavaLiteralContext ctx);
-
+ T visitJavaLiteral(BindingExpressionParser.JavaLiteralContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#stringLiteral}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitStringLiteral(@NotNull BindingExpressionParser.StringLiteralContext ctx);
-
+ T visitStringLiteral(BindingExpressionParser.StringLiteralContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocation}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitExplicitGenericInvocation(@NotNull BindingExpressionParser.ExplicitGenericInvocationContext ctx);
-
+ T visitExplicitGenericInvocation(BindingExpressionParser.ExplicitGenericInvocationContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#typeArguments}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitTypeArguments(@NotNull BindingExpressionParser.TypeArgumentsContext ctx);
-
+ T visitTypeArguments(BindingExpressionParser.TypeArgumentsContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#type}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitType(@NotNull BindingExpressionParser.TypeContext ctx);
-
+ T visitType(BindingExpressionParser.TypeContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#explicitGenericInvocationSuffix}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitExplicitGenericInvocationSuffix(@NotNull BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
-
+ T visitExplicitGenericInvocationSuffix(BindingExpressionParser.ExplicitGenericInvocationSuffixContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#arguments}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitArguments(@NotNull BindingExpressionParser.ArgumentsContext ctx);
-
+ T visitArguments(BindingExpressionParser.ArgumentsContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#classOrInterfaceType}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitClassOrInterfaceType(@NotNull BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
-
+ T visitClassOrInterfaceType(BindingExpressionParser.ClassOrInterfaceTypeContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#primitiveType}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitPrimitiveType(@NotNull BindingExpressionParser.PrimitiveTypeContext ctx);
-
+ T visitPrimitiveType(BindingExpressionParser.PrimitiveTypeContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#resources}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitResources(@NotNull BindingExpressionParser.ResourcesContext ctx);
-
+ T visitResources(BindingExpressionParser.ResourcesContext ctx);
/**
* Visit a parse tree produced by {@link BindingExpressionParser#resourceParameters}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitResourceParameters(@NotNull BindingExpressionParser.ResourceParametersContext ctx);
+ T visitResourceParameters(BindingExpressionParser.ResourceParametersContext ctx);
} \ No newline at end of file
diff --git a/compilerCommon/src/main/java/android/databinding/tool/util/StringUtils.java b/compilerCommon/src/main/java/android/databinding/tool/util/StringUtils.java
index 5f535baf..5774183a 100644
--- a/compilerCommon/src/main/java/android/databinding/tool/util/StringUtils.java
+++ b/compilerCommon/src/main/java/android/databinding/tool/util/StringUtils.java
@@ -19,8 +19,6 @@ package android.databinding.tool.util;
import com.google.common.base.StandardSystemProperty;
import com.google.common.base.Strings;
-import org.antlr.v4.runtime.misc.Nullable;
-
public class StringUtils {
public static final String LINE_SEPARATOR = StandardSystemProperty.LINE_SEPARATOR.value();
@@ -41,7 +39,7 @@ public class StringUtils {
/** The entity for the line feed character */
private static final String LFEED_ENTITY = "&#xA;";
- public static boolean isNotBlank(@Nullable CharSequence string) {
+ public static boolean isNotBlank(CharSequence string) {
if (string == null) {
return false;
}
@@ -53,7 +51,7 @@ public class StringUtils {
return false;
}
- public static String capitalize(@Nullable String string) {
+ public static String capitalize(String string) {
if (Strings.isNullOrEmpty(string)) {
return string;
}
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.java
index b8c79bb7..352a2f10 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.java
@@ -1,13 +1,21 @@
-// Generated from XMLLexer.g4 by ANTLR 4.4
+// Generated from XMLLexer.g4 by ANTLR 4.5.3
package android.databinding.parser;
-
-import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.Lexer;
-import org.antlr.v4.runtime.atn.ATN;
-import org.antlr.v4.runtime.atn.ATNDeserializer;
-import org.antlr.v4.runtime.atn.LexerATNSimulator;
+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 XMLLexer 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
COMMENT=1, CDATA=2, DTD=3, EntityRef=4, CharRef=5, SEA_WS=6, OPEN=7, XMLDeclOpen=8,
TEXT=9, CLOSE=10, SPECIAL_CLOSE=11, SLASH_CLOSE=12, SLASH=13, EQUALS=14,
@@ -18,11 +26,6 @@ public class XMLLexer extends Lexer {
"DEFAULT_MODE", "INSIDE", "PROC_INSTR"
};
- public static final String[] tokenNames = {
- "'\\u0000'", "'\\u0001'", "'\\u0002'", "'\\u0003'", "'\\u0004'", "'\\u0005'",
- "'\\u0006'", "'\\u0007'", "'\b'", "'\t'", "'\n'", "'\\u000B'", "'\f'",
- "'\r'", "'\\u000E'", "'\\u000F'", "'\\u0010'", "'\\u0011'", "'\\u0012'"
- };
public static final String[] ruleNames = {
"COMMENT", "CDATA", "DTD", "EntityRef", "CharRef", "SEA_WS", "OPEN", "XMLDeclOpen",
"SPECIAL_OPEN", "TEXT", "CLOSE", "SPECIAL_CLOSE", "SLASH_CLOSE", "SLASH",
@@ -30,19 +33,58 @@ public class XMLLexer extends Lexer {
"PI", "IGNORE"
};
+ private static final String[] _LITERAL_NAMES = {
+ null, null, null, null, null, null, null, "'<'", null, null, "'>'", null,
+ "'/>'", "'/'", "'='"
+ };
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, "COMMENT", "CDATA", "DTD", "EntityRef", "CharRef", "SEA_WS", "OPEN",
+ "XMLDeclOpen", "TEXT", "CLOSE", "SPECIAL_CLOSE", "SLASH_CLOSE", "SLASH",
+ "EQUALS", "STRING", "Name", "S", "PI"
+ };
+ 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 XMLLexer(CharStream input) {
super(input);
- _interp = new LexerATNSimulator(this,_ATN);
+ _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@Override
public String getGrammarFileName() { return "XMLLexer.g4"; }
@Override
- public String[] getTokenNames() { return tokenNames; }
-
- @Override
public String[] getRuleNames() { return ruleNames; }
@Override
@@ -51,8 +93,11 @@ public class XMLLexer extends Lexer {
@Override
public String[] getModeNames() { return modeNames; }
+ @Override
+ public ATN getATN() { return _ATN; }
+
public static final String _serializedATN =
- "\3\uaf6f\u8320\u479d\ub75c\u4880\u1605\u191c\uab37\2\24\u00e9\b\1\b\1"+
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2\24\u00e9\b\1\b\1"+
"\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"+
@@ -69,68 +114,71 @@ public class XMLLexer extends Lexer {
"\13\21\3\21\5\21\u00c7\n\21\3\22\3\22\7\22\u00cb\n\22\f\22\16\22\u00ce"+
"\13\22\3\23\3\23\3\23\3\23\3\24\3\24\3\25\3\25\3\26\3\26\3\26\3\26\5\26"+
"\u00dc\n\26\3\27\5\27\u00df\n\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3"+
- "\31\3\31\5=Q^\2\2\32\5\2\3\7\2\4\t\2\5\13\2\6\r\2\7\17\2\b\21\2\t\23\2"+
- "\n\25\2\2\27\2\13\31\2\f\33\2\r\35\2\16\37\2\17!\2\20#\2\21%\2\22\'\2"+
- "\23)\2\2+\2\2-\2\2/\2\2\61\2\24\63\2\2\5\2\3\4\f\4\2\13\13\"\"\4\2((>"+
- ">\4\2$$>>\4\2))>>\5\2\13\f\17\17\"\"\5\2\62;CHch\3\2\62;\4\2/\60aa\5\2"+
- "\u00b9\u00b9\u0302\u0371\u2041\u2042\n\2<<C\\c|\u2072\u2191\u2c02\u2ff1"+
- "\u3003\ud801\uf902\ufdd1\ufdf2\uffff\u00f3\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\3\31\3\2\2\2\3\33\3\2\2\2\3\35\3\2\2\2\3"+
- "\37\3\2\2\2\3!\3\2\2\2\3#\3\2\2\2\3%\3\2\2\2\3\'\3\2\2\2\4\61\3\2\2\2"+
- "\4\63\3\2\2\2\5\65\3\2\2\2\7D\3\2\2\2\tX\3\2\2\2\13e\3\2\2\2\r~\3\2\2"+
- "\2\17\u0085\3\2\2\2\21\u0089\3\2\2\2\23\u008d\3\2\2\2\25\u0097\3\2\2\2"+
- "\27\u00a0\3\2\2\2\31\u00a4\3\2\2\2\33\u00a8\3\2\2\2\35\u00ad\3\2\2\2\37"+
- "\u00b2\3\2\2\2!\u00b4\3\2\2\2#\u00c6\3\2\2\2%\u00c8\3\2\2\2\'\u00cf\3"+
- "\2\2\2)\u00d3\3\2\2\2+\u00d5\3\2\2\2-\u00db\3\2\2\2/\u00de\3\2\2\2\61"+
- "\u00e0\3\2\2\2\63\u00e5\3\2\2\2\65\66\7>\2\2\66\67\7#\2\2\678\7/\2\28"+
- "9\7/\2\29=\3\2\2\2:<\13\2\2\2;:\3\2\2\2<?\3\2\2\2=>\3\2\2\2=;\3\2\2\2"+
- ">@\3\2\2\2?=\3\2\2\2@A\7/\2\2AB\7/\2\2BC\7@\2\2C\6\3\2\2\2DE\7>\2\2EF"+
- "\7#\2\2FG\7]\2\2GH\7E\2\2HI\7F\2\2IJ\7C\2\2JK\7V\2\2KL\7C\2\2LM\7]\2\2"+
- "MQ\3\2\2\2NP\13\2\2\2ON\3\2\2\2PS\3\2\2\2QR\3\2\2\2QO\3\2\2\2RT\3\2\2"+
- "\2SQ\3\2\2\2TU\7_\2\2UV\7_\2\2VW\7@\2\2W\b\3\2\2\2XY\7>\2\2YZ\7#\2\2Z"+
- "^\3\2\2\2[]\13\2\2\2\\[\3\2\2\2]`\3\2\2\2^_\3\2\2\2^\\\3\2\2\2_a\3\2\2"+
- "\2`^\3\2\2\2ab\7@\2\2bc\3\2\2\2cd\b\4\2\2d\n\3\2\2\2ef\7(\2\2fg\5%\22"+
- "\2gh\7=\2\2h\f\3\2\2\2ij\7(\2\2jk\7%\2\2km\3\2\2\2ln\5+\25\2ml\3\2\2\2"+
- "no\3\2\2\2om\3\2\2\2op\3\2\2\2pq\3\2\2\2qr\7=\2\2r\177\3\2\2\2st\7(\2"+
- "\2tu\7%\2\2uv\7z\2\2vx\3\2\2\2wy\5)\24\2xw\3\2\2\2yz\3\2\2\2zx\3\2\2\2"+
- "z{\3\2\2\2{|\3\2\2\2|}\7=\2\2}\177\3\2\2\2~i\3\2\2\2~s\3\2\2\2\177\16"+
- "\3\2\2\2\u0080\u0086\t\2\2\2\u0081\u0083\7\17\2\2\u0082\u0081\3\2\2\2"+
- "\u0082\u0083\3\2\2\2\u0083\u0084\3\2\2\2\u0084\u0086\7\f\2\2\u0085\u0080"+
- "\3\2\2\2\u0085\u0082\3\2\2\2\u0086\u0087\3\2\2\2\u0087\u0085\3\2\2\2\u0087"+
- "\u0088\3\2\2\2\u0088\20\3\2\2\2\u0089\u008a\7>\2\2\u008a\u008b\3\2\2\2"+
- "\u008b\u008c\b\b\3\2\u008c\22\3\2\2\2\u008d\u008e\7>\2\2\u008e\u008f\7"+
- "A\2\2\u008f\u0090\7z\2\2\u0090\u0091\7o\2\2\u0091\u0092\7n\2\2\u0092\u0093"+
- "\3\2\2\2\u0093\u0094\5\'\23\2\u0094\u0095\3\2\2\2\u0095\u0096\b\t\3\2"+
- "\u0096\24\3\2\2\2\u0097\u0098\7>\2\2\u0098\u0099\7A\2\2\u0099\u009a\3"+
- "\2\2\2\u009a\u009b\5%\22\2\u009b\u009c\3\2\2\2\u009c\u009d\b\n\4\2\u009d"+
- "\u009e\b\n\5\2\u009e\26\3\2\2\2\u009f\u00a1\n\3\2\2\u00a0\u009f\3\2\2"+
- "\2\u00a1\u00a2\3\2\2\2\u00a2\u00a0\3\2\2\2\u00a2\u00a3\3\2\2\2\u00a3\30"+
- "\3\2\2\2\u00a4\u00a5\7@\2\2\u00a5\u00a6\3\2\2\2\u00a6\u00a7\b\f\6\2\u00a7"+
- "\32\3\2\2\2\u00a8\u00a9\7A\2\2\u00a9\u00aa\7@\2\2\u00aa\u00ab\3\2\2\2"+
- "\u00ab\u00ac\b\r\6\2\u00ac\34\3\2\2\2\u00ad\u00ae\7\61\2\2\u00ae\u00af"+
- "\7@\2\2\u00af\u00b0\3\2\2\2\u00b0\u00b1\b\16\6\2\u00b1\36\3\2\2\2\u00b2"+
- "\u00b3\7\61\2\2\u00b3 \3\2\2\2\u00b4\u00b5\7?\2\2\u00b5\"\3\2\2\2\u00b6"+
- "\u00ba\7$\2\2\u00b7\u00b9\n\4\2\2\u00b8\u00b7\3\2\2\2\u00b9\u00bc\3\2"+
- "\2\2\u00ba\u00b8\3\2\2\2\u00ba\u00bb\3\2\2\2\u00bb\u00bd\3\2\2\2\u00bc"+
- "\u00ba\3\2\2\2\u00bd\u00c7\7$\2\2\u00be\u00c2\7)\2\2\u00bf\u00c1\n\5\2"+
- "\2\u00c0\u00bf\3\2\2\2\u00c1\u00c4\3\2\2\2\u00c2\u00c0\3\2\2\2\u00c2\u00c3"+
- "\3\2\2\2\u00c3\u00c5\3\2\2\2\u00c4\u00c2\3\2\2\2\u00c5\u00c7\7)\2\2\u00c6"+
- "\u00b6\3\2\2\2\u00c6\u00be\3\2\2\2\u00c7$\3\2\2\2\u00c8\u00cc\5/\27\2"+
- "\u00c9\u00cb\5-\26\2\u00ca\u00c9\3\2\2\2\u00cb\u00ce\3\2\2\2\u00cc\u00ca"+
- "\3\2\2\2\u00cc\u00cd\3\2\2\2\u00cd&\3\2\2\2\u00ce\u00cc\3\2\2\2\u00cf"+
- "\u00d0\t\6\2\2\u00d0\u00d1\3\2\2\2\u00d1\u00d2\b\23\2\2\u00d2(\3\2\2\2"+
- "\u00d3\u00d4\t\7\2\2\u00d4*\3\2\2\2\u00d5\u00d6\t\b\2\2\u00d6,\3\2\2\2"+
- "\u00d7\u00dc\5/\27\2\u00d8\u00dc\t\t\2\2\u00d9\u00dc\5+\25\2\u00da\u00dc"+
- "\t\n\2\2\u00db\u00d7\3\2\2\2\u00db\u00d8\3\2\2\2\u00db\u00d9\3\2\2\2\u00db"+
- "\u00da\3\2\2\2\u00dc.\3\2\2\2\u00dd\u00df\t\13\2\2\u00de\u00dd\3\2\2\2"+
- "\u00df\60\3\2\2\2\u00e0\u00e1\7A\2\2\u00e1\u00e2\7@\2\2\u00e2\u00e3\3"+
- "\2\2\2\u00e3\u00e4\b\30\6\2\u00e4\62\3\2\2\2\u00e5\u00e6\13\2\2\2\u00e6"+
- "\u00e7\3\2\2\2\u00e7\u00e8\b\31\4\2\u00e8\64\3\2\2\2\25\2\3\4=Q^oz~\u0082"+
- "\u0085\u0087\u00a2\u00ba\u00c2\u00c6\u00cc\u00db\u00de\7\b\2\2\7\3\2\5"+
- "\2\2\7\4\2\6\2\2";
+ "\31\3\31\5=Q^\2\32\5\3\7\4\t\5\13\6\r\7\17\b\21\t\23\n\25\2\27\13\31\f"+
+ "\33\r\35\16\37\17!\20#\21%\22\'\23)\2+\2-\2/\2\61\24\63\2\5\2\3\4\f\4"+
+ "\2\13\13\"\"\4\2((>>\4\2$$>>\4\2))>>\5\2\13\f\17\17\"\"\5\2\62;CHch\3"+
+ "\2\62;\4\2/\60aa\5\2\u00b9\u00b9\u0302\u0371\u2041\u2042\n\2<<C\\c|\u2072"+
+ "\u2191\u2c02\u2ff1\u3003\ud801\uf902\ufdd1\ufdf2\uffff\u00f3\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\3\31\3\2\2\2\3\33\3\2"+
+ "\2\2\3\35\3\2\2\2\3\37\3\2\2\2\3!\3\2\2\2\3#\3\2\2\2\3%\3\2\2\2\3\'\3"+
+ "\2\2\2\4\61\3\2\2\2\4\63\3\2\2\2\5\65\3\2\2\2\7D\3\2\2\2\tX\3\2\2\2\13"+
+ "e\3\2\2\2\r~\3\2\2\2\17\u0085\3\2\2\2\21\u0089\3\2\2\2\23\u008d\3\2\2"+
+ "\2\25\u0097\3\2\2\2\27\u00a0\3\2\2\2\31\u00a4\3\2\2\2\33\u00a8\3\2\2\2"+
+ "\35\u00ad\3\2\2\2\37\u00b2\3\2\2\2!\u00b4\3\2\2\2#\u00c6\3\2\2\2%\u00c8"+
+ "\3\2\2\2\'\u00cf\3\2\2\2)\u00d3\3\2\2\2+\u00d5\3\2\2\2-\u00db\3\2\2\2"+
+ "/\u00de\3\2\2\2\61\u00e0\3\2\2\2\63\u00e5\3\2\2\2\65\66\7>\2\2\66\67\7"+
+ "#\2\2\678\7/\2\289\7/\2\29=\3\2\2\2:<\13\2\2\2;:\3\2\2\2<?\3\2\2\2=>\3"+
+ "\2\2\2=;\3\2\2\2>@\3\2\2\2?=\3\2\2\2@A\7/\2\2AB\7/\2\2BC\7@\2\2C\6\3\2"+
+ "\2\2DE\7>\2\2EF\7#\2\2FG\7]\2\2GH\7E\2\2HI\7F\2\2IJ\7C\2\2JK\7V\2\2KL"+
+ "\7C\2\2LM\7]\2\2MQ\3\2\2\2NP\13\2\2\2ON\3\2\2\2PS\3\2\2\2QR\3\2\2\2QO"+
+ "\3\2\2\2RT\3\2\2\2SQ\3\2\2\2TU\7_\2\2UV\7_\2\2VW\7@\2\2W\b\3\2\2\2XY\7"+
+ ">\2\2YZ\7#\2\2Z^\3\2\2\2[]\13\2\2\2\\[\3\2\2\2]`\3\2\2\2^_\3\2\2\2^\\"+
+ "\3\2\2\2_a\3\2\2\2`^\3\2\2\2ab\7@\2\2bc\3\2\2\2cd\b\4\2\2d\n\3\2\2\2e"+
+ "f\7(\2\2fg\5%\22\2gh\7=\2\2h\f\3\2\2\2ij\7(\2\2jk\7%\2\2km\3\2\2\2ln\5"+
+ "+\25\2ml\3\2\2\2no\3\2\2\2om\3\2\2\2op\3\2\2\2pq\3\2\2\2qr\7=\2\2r\177"+
+ "\3\2\2\2st\7(\2\2tu\7%\2\2uv\7z\2\2vx\3\2\2\2wy\5)\24\2xw\3\2\2\2yz\3"+
+ "\2\2\2zx\3\2\2\2z{\3\2\2\2{|\3\2\2\2|}\7=\2\2}\177\3\2\2\2~i\3\2\2\2~"+
+ "s\3\2\2\2\177\16\3\2\2\2\u0080\u0086\t\2\2\2\u0081\u0083\7\17\2\2\u0082"+
+ "\u0081\3\2\2\2\u0082\u0083\3\2\2\2\u0083\u0084\3\2\2\2\u0084\u0086\7\f"+
+ "\2\2\u0085\u0080\3\2\2\2\u0085\u0082\3\2\2\2\u0086\u0087\3\2\2\2\u0087"+
+ "\u0085\3\2\2\2\u0087\u0088\3\2\2\2\u0088\20\3\2\2\2\u0089\u008a\7>\2\2"+
+ "\u008a\u008b\3\2\2\2\u008b\u008c\b\b\3\2\u008c\22\3\2\2\2\u008d\u008e"+
+ "\7>\2\2\u008e\u008f\7A\2\2\u008f\u0090\7z\2\2\u0090\u0091\7o\2\2\u0091"+
+ "\u0092\7n\2\2\u0092\u0093\3\2\2\2\u0093\u0094\5\'\23\2\u0094\u0095\3\2"+
+ "\2\2\u0095\u0096\b\t\3\2\u0096\24\3\2\2\2\u0097\u0098\7>\2\2\u0098\u0099"+
+ "\7A\2\2\u0099\u009a\3\2\2\2\u009a\u009b\5%\22\2\u009b\u009c\3\2\2\2\u009c"+
+ "\u009d\b\n\4\2\u009d\u009e\b\n\5\2\u009e\26\3\2\2\2\u009f\u00a1\n\3\2"+
+ "\2\u00a0\u009f\3\2\2\2\u00a1\u00a2\3\2\2\2\u00a2\u00a0\3\2\2\2\u00a2\u00a3"+
+ "\3\2\2\2\u00a3\30\3\2\2\2\u00a4\u00a5\7@\2\2\u00a5\u00a6\3\2\2\2\u00a6"+
+ "\u00a7\b\f\6\2\u00a7\32\3\2\2\2\u00a8\u00a9\7A\2\2\u00a9\u00aa\7@\2\2"+
+ "\u00aa\u00ab\3\2\2\2\u00ab\u00ac\b\r\6\2\u00ac\34\3\2\2\2\u00ad\u00ae"+
+ "\7\61\2\2\u00ae\u00af\7@\2\2\u00af\u00b0\3\2\2\2\u00b0\u00b1\b\16\6\2"+
+ "\u00b1\36\3\2\2\2\u00b2\u00b3\7\61\2\2\u00b3 \3\2\2\2\u00b4\u00b5\7?\2"+
+ "\2\u00b5\"\3\2\2\2\u00b6\u00ba\7$\2\2\u00b7\u00b9\n\4\2\2\u00b8\u00b7"+
+ "\3\2\2\2\u00b9\u00bc\3\2\2\2\u00ba\u00b8\3\2\2\2\u00ba\u00bb\3\2\2\2\u00bb"+
+ "\u00bd\3\2\2\2\u00bc\u00ba\3\2\2\2\u00bd\u00c7\7$\2\2\u00be\u00c2\7)\2"+
+ "\2\u00bf\u00c1\n\5\2\2\u00c0\u00bf\3\2\2\2\u00c1\u00c4\3\2\2\2\u00c2\u00c0"+
+ "\3\2\2\2\u00c2\u00c3\3\2\2\2\u00c3\u00c5\3\2\2\2\u00c4\u00c2\3\2\2\2\u00c5"+
+ "\u00c7\7)\2\2\u00c6\u00b6\3\2\2\2\u00c6\u00be\3\2\2\2\u00c7$\3\2\2\2\u00c8"+
+ "\u00cc\5/\27\2\u00c9\u00cb\5-\26\2\u00ca\u00c9\3\2\2\2\u00cb\u00ce\3\2"+
+ "\2\2\u00cc\u00ca\3\2\2\2\u00cc\u00cd\3\2\2\2\u00cd&\3\2\2\2\u00ce\u00cc"+
+ "\3\2\2\2\u00cf\u00d0\t\6\2\2\u00d0\u00d1\3\2\2\2\u00d1\u00d2\b\23\2\2"+
+ "\u00d2(\3\2\2\2\u00d3\u00d4\t\7\2\2\u00d4*\3\2\2\2\u00d5\u00d6\t\b\2\2"+
+ "\u00d6,\3\2\2\2\u00d7\u00dc\5/\27\2\u00d8\u00dc\t\t\2\2\u00d9\u00dc\5"+
+ "+\25\2\u00da\u00dc\t\n\2\2\u00db\u00d7\3\2\2\2\u00db\u00d8\3\2\2\2\u00db"+
+ "\u00d9\3\2\2\2\u00db\u00da\3\2\2\2\u00dc.\3\2\2\2\u00dd\u00df\t\13\2\2"+
+ "\u00de\u00dd\3\2\2\2\u00df\60\3\2\2\2\u00e0\u00e1\7A\2\2\u00e1\u00e2\7"+
+ "@\2\2\u00e2\u00e3\3\2\2\2\u00e3\u00e4\b\30\6\2\u00e4\62\3\2\2\2\u00e5"+
+ "\u00e6\13\2\2\2\u00e6\u00e7\3\2\2\2\u00e7\u00e8\b\31\4\2\u00e8\64\3\2"+
+ "\2\2\25\2\3\4=Q^oz~\u0082\u0085\u0087\u00a2\u00ba\u00c2\u00c6\u00cc\u00db"+
+ "\u00de\7\b\2\2\7\3\2\5\2\2\7\4\2\6\2\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/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.tokens b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.tokens
index cd122a48..d80683d7 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.tokens
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLLexer.tokens
@@ -1,23 +1,23 @@
-OPEN=7
+COMMENT=1
CDATA=2
-SLASH=13
+DTD=3
+EntityRef=4
CharRef=5
SEA_WS=6
-SPECIAL_CLOSE=11
+OPEN=7
+XMLDeclOpen=8
+TEXT=9
CLOSE=10
-DTD=3
-Name=16
-EQUALS=14
-PI=18
-S=17
+SPECIAL_CLOSE=11
SLASH_CLOSE=12
-TEXT=9
-COMMENT=1
-XMLDeclOpen=8
-EntityRef=4
+SLASH=13
+EQUALS=14
STRING=15
-'='=14
-'/'=13
+Name=16
+S=17
+PI=18
'<'=7
-'/>'=12
'>'=10
+'/>'=12
+'/'=13
+'='=14
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.java
index a3757804..5eaad942 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.java
@@ -1,4 +1,4 @@
-// Generated from XMLParser.g4 by ANTLR 4.4
+// Generated from XMLParser.g4 by ANTLR 4.5.3
package android.databinding.parser;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
@@ -6,17 +6,20 @@ 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 XMLParser 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
- OPEN=7, CDATA=2, SLASH=13, CharRef=5, SEA_WS=6, SPECIAL_CLOSE=11, CLOSE=10,
- DTD=3, Name=16, EQUALS=14, PI=18, S=17, SLASH_CLOSE=12, TEXT=9, COMMENT=1,
- XMLDeclOpen=8, EntityRef=4, STRING=15;
- public static final String[] tokenNames = {
- "<INVALID>", "COMMENT", "CDATA", "DTD", "EntityRef", "CharRef", "SEA_WS",
- "'<'", "XMLDeclOpen", "TEXT", "'>'", "SPECIAL_CLOSE", "'/>'", "'/'", "'='",
- "STRING", "Name", "S", "PI"
- };
+ COMMENT=1, CDATA=2, DTD=3, EntityRef=4, CharRef=5, SEA_WS=6, OPEN=7, XMLDeclOpen=8,
+ TEXT=9, CLOSE=10, SPECIAL_CLOSE=11, SLASH_CLOSE=12, SLASH=13, EQUALS=14,
+ STRING=15, Name=16, S=17, PI=18;
public static final int
RULE_document = 0, RULE_prolog = 1, RULE_content = 2, RULE_element = 3,
RULE_reference = 4, RULE_attribute = 5, RULE_chardata = 6, RULE_misc = 7;
@@ -25,11 +28,50 @@ public class XMLParser extends Parser {
"chardata", "misc"
};
+ private static final String[] _LITERAL_NAMES = {
+ null, null, null, null, null, null, null, "'<'", null, null, "'>'", null,
+ "'/>'", "'/'", "'='"
+ };
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, "COMMENT", "CDATA", "DTD", "EntityRef", "CharRef", "SEA_WS", "OPEN",
+ "XMLDeclOpen", "TEXT", "CLOSE", "SPECIAL_CLOSE", "SLASH_CLOSE", "SLASH",
+ "EQUALS", "STRING", "Name", "S", "PI"
+ };
+ 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
- public String getGrammarFileName() { return "XMLParser.g4"; }
+ @Deprecated
+ public String[] getTokenNames() {
+ return tokenNames;
+ }
@Override
- public String[] getTokenNames() { return tokenNames; }
+
+ public Vocabulary getVocabulary() {
+ return VOCABULARY;
+ }
+
+ @Override
+ public String getGrammarFileName() { return "XMLParser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@@ -37,20 +79,23 @@ public class XMLParser extends Parser {
@Override
public String getSerializedATN() { return _serializedATN; }
+ @Override
+ public ATN getATN() { return _ATN; }
+
public XMLParser(TokenStream input) {
super(input);
- _interp = new ParserATNSimulator(this,_ATN);
+ _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class DocumentContext extends ParserRuleContext {
public ElementContext element() {
return getRuleContext(ElementContext.class,0);
}
- public List<? extends MiscContext> misc() {
- return getRuleContexts(MiscContext.class);
- }
public PrologContext prolog() {
return getRuleContext(PrologContext.class,0);
}
+ public List<MiscContext> misc() {
+ return getRuleContexts(MiscContext.class);
+ }
public MiscContext misc(int i) {
return getRuleContext(MiscContext.class,i);
}
@@ -67,13 +112,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitDocument(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitDocument(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitDocument(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final DocumentContext document() throws RecognitionException {
DocumentContext _localctx = new DocumentContext(_ctx, getState());
enterRule(_localctx, 0, RULE_document);
@@ -85,7 +129,8 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if (_la==XMLDeclOpen) {
{
- setState(16); prolog();
+ setState(16);
+ prolog();
}
}
@@ -95,21 +140,24 @@ public class XMLParser extends Parser {
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMENT) | (1L << SEA_WS) | (1L << PI))) != 0)) {
{
{
- setState(19); misc();
+ setState(19);
+ misc();
}
}
setState(24);
_errHandler.sync(this);
_la = _input.LA(1);
}
- setState(25); element();
+ setState(25);
+ element();
setState(29);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMENT) | (1L << SEA_WS) | (1L << PI))) != 0)) {
{
{
- setState(26); misc();
+ setState(26);
+ misc();
}
}
setState(31);
@@ -130,14 +178,14 @@ public class XMLParser extends Parser {
}
public static class PrologContext extends ParserRuleContext {
+ public TerminalNode XMLDeclOpen() { return getToken(XMLParser.XMLDeclOpen, 0); }
public TerminalNode SPECIAL_CLOSE() { return getToken(XMLParser.SPECIAL_CLOSE, 0); }
- public List<? extends AttributeContext> attribute() {
+ public List<AttributeContext> attribute() {
return getRuleContexts(AttributeContext.class);
}
public AttributeContext attribute(int i) {
return getRuleContext(AttributeContext.class,i);
}
- public TerminalNode XMLDeclOpen() { return getToken(XMLParser.XMLDeclOpen, 0); }
public PrologContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@@ -151,13 +199,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitProlog(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitProlog(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitProlog(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final PrologContext prolog() throws RecognitionException {
PrologContext _localctx = new PrologContext(_ctx, getState());
enterRule(_localctx, 2, RULE_prolog);
@@ -165,21 +212,24 @@ public class XMLParser extends Parser {
try {
enterOuterAlt(_localctx, 1);
{
- setState(32); match(XMLDeclOpen);
+ setState(32);
+ match(XMLDeclOpen);
setState(36);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
- setState(33); attribute();
+ setState(33);
+ attribute();
}
}
setState(38);
_errHandler.sync(this);
_la = _input.LA(1);
}
- setState(39); match(SPECIAL_CLOSE);
+ setState(39);
+ match(SPECIAL_CLOSE);
}
}
catch (RecognitionException re) {
@@ -194,35 +244,35 @@ public class XMLParser extends Parser {
}
public static class ContentContext extends ParserRuleContext {
- public List<? extends TerminalNode> PI() { return getTokens(XMLParser.PI); }
- public List<? extends TerminalNode> CDATA() { return getTokens(XMLParser.CDATA); }
- public List<? extends ElementContext> element() {
- return getRuleContexts(ElementContext.class);
+ public List<ChardataContext> chardata() {
+ return getRuleContexts(ChardataContext.class);
}
- public TerminalNode PI(int i) {
- return getToken(XMLParser.PI, i);
+ public ChardataContext chardata(int i) {
+ return getRuleContext(ChardataContext.class,i);
+ }
+ public List<ElementContext> element() {
+ return getRuleContexts(ElementContext.class);
}
public ElementContext element(int i) {
return getRuleContext(ElementContext.class,i);
}
- public TerminalNode COMMENT(int i) {
- return getToken(XMLParser.COMMENT, i);
- }
- public TerminalNode CDATA(int i) {
- return getToken(XMLParser.CDATA, i);
+ public List<ReferenceContext> reference() {
+ return getRuleContexts(ReferenceContext.class);
}
public ReferenceContext reference(int i) {
return getRuleContext(ReferenceContext.class,i);
}
- public List<? extends TerminalNode> COMMENT() { return getTokens(XMLParser.COMMENT); }
- public ChardataContext chardata(int i) {
- return getRuleContext(ChardataContext.class,i);
+ public List<TerminalNode> CDATA() { return getTokens(XMLParser.CDATA); }
+ public TerminalNode CDATA(int i) {
+ return getToken(XMLParser.CDATA, i);
}
- public List<? extends ChardataContext> chardata() {
- return getRuleContexts(ChardataContext.class);
+ public List<TerminalNode> PI() { return getTokens(XMLParser.PI); }
+ public TerminalNode PI(int i) {
+ return getToken(XMLParser.PI, i);
}
- public List<? extends ReferenceContext> reference() {
- return getRuleContexts(ReferenceContext.class);
+ public List<TerminalNode> COMMENT() { return getTokens(XMLParser.COMMENT); }
+ public TerminalNode COMMENT(int i) {
+ return getToken(XMLParser.COMMENT, i);
}
public ContentContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
@@ -237,13 +287,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitContent(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitContent(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitContent(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ContentContext content() throws RecognitionException {
ContentContext _localctx = new ContentContext(_ctx, getState());
enterRule(_localctx, 4, RULE_content);
@@ -256,7 +305,8 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if (_la==SEA_WS || _la==TEXT) {
{
- setState(41); chardata();
+ setState(41);
+ chardata();
}
}
@@ -271,28 +321,33 @@ public class XMLParser extends Parser {
switch (_input.LA(1)) {
case OPEN:
{
- setState(44); element();
+ setState(44);
+ element();
}
break;
case EntityRef:
case CharRef:
{
- setState(45); reference();
+ setState(45);
+ reference();
}
break;
case CDATA:
{
- setState(46); match(CDATA);
+ setState(46);
+ match(CDATA);
}
break;
case PI:
{
- setState(47); match(PI);
+ setState(47);
+ match(PI);
}
break;
case COMMENT:
{
- setState(48); match(COMMENT);
+ setState(48);
+ match(COMMENT);
}
break;
default:
@@ -302,7 +357,8 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if (_la==SEA_WS || _la==TEXT) {
{
- setState(51); chardata();
+ setState(51);
+ chardata();
}
}
@@ -328,18 +384,18 @@ public class XMLParser extends Parser {
public static class ElementContext extends ParserRuleContext {
public Token elmName;
- public List<? extends AttributeContext> attribute() {
- return getRuleContexts(AttributeContext.class);
- }
- public AttributeContext attribute(int i) {
- return getRuleContext(AttributeContext.class,i);
+ public ContentContext content() {
+ return getRuleContext(ContentContext.class,0);
}
+ public List<TerminalNode> Name() { return getTokens(XMLParser.Name); }
public TerminalNode Name(int i) {
return getToken(XMLParser.Name, i);
}
- public List<? extends TerminalNode> Name() { return getTokens(XMLParser.Name); }
- public ContentContext content() {
- return getRuleContext(ContentContext.class,0);
+ public List<AttributeContext> attribute() {
+ return getRuleContexts(AttributeContext.class);
+ }
+ public AttributeContext attribute(int i) {
+ return getRuleContext(AttributeContext.class,i);
}
public ElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
@@ -354,66 +410,78 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitElement(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitElement(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitElement(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ElementContext element() throws RecognitionException {
ElementContext _localctx = new ElementContext(_ctx, getState());
enterRule(_localctx, 6, RULE_element);
int _la;
try {
setState(83);
+ _errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
- setState(59); match(OPEN);
- setState(60); _localctx.elmName = match(Name);
+ setState(59);
+ match(OPEN);
+ setState(60);
+ ((ElementContext)_localctx).elmName = match(Name);
setState(64);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
- setState(61); attribute();
+ setState(61);
+ attribute();
}
}
setState(66);
_errHandler.sync(this);
_la = _input.LA(1);
}
- setState(67); match(CLOSE);
- setState(68); content();
- setState(69); match(OPEN);
- setState(70); match(SLASH);
- setState(71); match(Name);
- setState(72); match(CLOSE);
+ setState(67);
+ match(CLOSE);
+ setState(68);
+ content();
+ setState(69);
+ match(OPEN);
+ setState(70);
+ match(SLASH);
+ setState(71);
+ match(Name);
+ setState(72);
+ match(CLOSE);
}
break;
-
case 2:
enterOuterAlt(_localctx, 2);
{
- setState(74); match(OPEN);
- setState(75); _localctx.elmName = match(Name);
+ setState(74);
+ match(OPEN);
+ setState(75);
+ ((ElementContext)_localctx).elmName = match(Name);
setState(79);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==Name) {
{
{
- setState(76); attribute();
+ setState(76);
+ attribute();
}
}
setState(81);
_errHandler.sync(this);
_la = _input.LA(1);
}
- setState(82); match(SLASH_CLOSE);
+ setState(82);
+ match(SLASH_CLOSE);
}
break;
}
@@ -430,8 +498,8 @@ public class XMLParser extends Parser {
}
public static class ReferenceContext extends ParserRuleContext {
- public TerminalNode CharRef() { return getToken(XMLParser.CharRef, 0); }
public TerminalNode EntityRef() { return getToken(XMLParser.EntityRef, 0); }
+ public TerminalNode CharRef() { return getToken(XMLParser.CharRef, 0); }
public ReferenceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@@ -445,13 +513,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitReference(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitReference(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitReference(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ReferenceContext reference() throws RecognitionException {
ReferenceContext _localctx = new ReferenceContext(_ctx, getState());
enterRule(_localctx, 8, RULE_reference);
@@ -463,8 +530,9 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if ( !(_la==EntityRef || _la==CharRef) ) {
_errHandler.recoverInline(this);
+ } else {
+ consume();
}
- consume();
}
}
catch (RecognitionException re) {
@@ -496,22 +564,24 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitAttribute(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitAttribute(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitAttribute(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final AttributeContext attribute() throws RecognitionException {
AttributeContext _localctx = new AttributeContext(_ctx, getState());
enterRule(_localctx, 10, RULE_attribute);
try {
enterOuterAlt(_localctx, 1);
{
- setState(87); _localctx.attrName = match(Name);
- setState(88); match(EQUALS);
- setState(89); _localctx.attrValue = match(STRING);
+ setState(87);
+ ((AttributeContext)_localctx).attrName = match(Name);
+ setState(88);
+ match(EQUALS);
+ setState(89);
+ ((AttributeContext)_localctx).attrValue = match(STRING);
}
}
catch (RecognitionException re) {
@@ -526,8 +596,8 @@ public class XMLParser extends Parser {
}
public static class ChardataContext extends ParserRuleContext {
- public TerminalNode SEA_WS() { return getToken(XMLParser.SEA_WS, 0); }
public TerminalNode TEXT() { return getToken(XMLParser.TEXT, 0); }
+ public TerminalNode SEA_WS() { return getToken(XMLParser.SEA_WS, 0); }
public ChardataContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@@ -541,13 +611,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitChardata(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitChardata(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitChardata(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final ChardataContext chardata() throws RecognitionException {
ChardataContext _localctx = new ChardataContext(_ctx, getState());
enterRule(_localctx, 12, RULE_chardata);
@@ -559,8 +628,9 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if ( !(_la==SEA_WS || _la==TEXT) ) {
_errHandler.recoverInline(this);
+ } else {
+ consume();
}
- consume();
}
}
catch (RecognitionException re) {
@@ -575,9 +645,9 @@ public class XMLParser extends Parser {
}
public static class MiscContext extends ParserRuleContext {
- public TerminalNode SEA_WS() { return getToken(XMLParser.SEA_WS, 0); }
- public TerminalNode PI() { return getToken(XMLParser.PI, 0); }
public TerminalNode COMMENT() { return getToken(XMLParser.COMMENT, 0); }
+ public TerminalNode PI() { return getToken(XMLParser.PI, 0); }
+ public TerminalNode SEA_WS() { return getToken(XMLParser.SEA_WS, 0); }
public MiscContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@@ -591,13 +661,12 @@ public class XMLParser extends Parser {
if ( listener instanceof XMLParserListener ) ((XMLParserListener)listener).exitMisc(this);
}
@Override
- public <Result> Result accept(ParseTreeVisitor<? extends Result> visitor) {
- if ( visitor instanceof XMLParserVisitor<?> ) return ((XMLParserVisitor<? extends Result>)visitor).visitMisc(this);
+ public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
+ if ( visitor instanceof XMLParserVisitor ) return ((XMLParserVisitor<? extends T>)visitor).visitMisc(this);
else return visitor.visitChildren(this);
}
}
- @RuleVersion(0)
public final MiscContext misc() throws RecognitionException {
MiscContext _localctx = new MiscContext(_ctx, getState());
enterRule(_localctx, 14, RULE_misc);
@@ -609,8 +678,9 @@ public class XMLParser extends Parser {
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMENT) | (1L << SEA_WS) | (1L << PI))) != 0)) ) {
_errHandler.recoverInline(this);
+ } else {
+ consume();
}
- consume();
}
}
catch (RecognitionException re) {
@@ -625,34 +695,38 @@ public class XMLParser extends Parser {
}
public static final String _serializedATN =
- "\3\uaf6f\u8320\u479d\ub75c\u4880\u1605\u191c\uab37\3\24b\4\2\t\2\4\3\t"+
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3\24b\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\3\2\5\2\24\n\2\3\2"+
"\7\2\27\n\2\f\2\16\2\32\13\2\3\2\3\2\7\2\36\n\2\f\2\16\2!\13\2\3\3\3\3"+
"\7\3%\n\3\f\3\16\3(\13\3\3\3\3\3\3\4\5\4-\n\4\3\4\3\4\3\4\3\4\3\4\5\4"+
"\64\n\4\3\4\5\4\67\n\4\7\49\n\4\f\4\16\4<\13\4\3\5\3\5\3\5\7\5A\n\5\f"+
"\5\16\5D\13\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\7\5P\n\5\f\5\16"+
"\5S\13\5\3\5\5\5V\n\5\3\6\3\6\3\7\3\7\3\7\3\7\3\b\3\b\3\t\3\t\3\t\2\2"+
- "\2\n\2\2\4\2\6\2\b\2\n\2\f\2\16\2\20\2\2\5\3\2\6\7\4\2\b\b\13\13\5\2\3"+
- "\3\b\b\24\24g\2\23\3\2\2\2\4\"\3\2\2\2\6,\3\2\2\2\bU\3\2\2\2\nW\3\2\2"+
- "\2\fY\3\2\2\2\16]\3\2\2\2\20_\3\2\2\2\22\24\5\4\3\2\23\22\3\2\2\2\23\24"+
- "\3\2\2\2\24\30\3\2\2\2\25\27\5\20\t\2\26\25\3\2\2\2\27\32\3\2\2\2\30\26"+
- "\3\2\2\2\30\31\3\2\2\2\31\33\3\2\2\2\32\30\3\2\2\2\33\37\5\b\5\2\34\36"+
- "\5\20\t\2\35\34\3\2\2\2\36!\3\2\2\2\37\35\3\2\2\2\37 \3\2\2\2 \3\3\2\2"+
- "\2!\37\3\2\2\2\"&\7\n\2\2#%\5\f\7\2$#\3\2\2\2%(\3\2\2\2&$\3\2\2\2&\'\3"+
- "\2\2\2\')\3\2\2\2(&\3\2\2\2)*\7\r\2\2*\5\3\2\2\2+-\5\16\b\2,+\3\2\2\2"+
- ",-\3\2\2\2-:\3\2\2\2.\64\5\b\5\2/\64\5\n\6\2\60\64\7\4\2\2\61\64\7\24"+
- "\2\2\62\64\7\3\2\2\63.\3\2\2\2\63/\3\2\2\2\63\60\3\2\2\2\63\61\3\2\2\2"+
- "\63\62\3\2\2\2\64\66\3\2\2\2\65\67\5\16\b\2\66\65\3\2\2\2\66\67\3\2\2"+
- "\2\679\3\2\2\28\63\3\2\2\29<\3\2\2\2:8\3\2\2\2:;\3\2\2\2;\7\3\2\2\2<:"+
- "\3\2\2\2=>\7\t\2\2>B\7\22\2\2?A\5\f\7\2@?\3\2\2\2AD\3\2\2\2B@\3\2\2\2"+
- "BC\3\2\2\2CE\3\2\2\2DB\3\2\2\2EF\7\f\2\2FG\5\6\4\2GH\7\t\2\2HI\7\17\2"+
- "\2IJ\7\22\2\2JK\7\f\2\2KV\3\2\2\2LM\7\t\2\2MQ\7\22\2\2NP\5\f\7\2ON\3\2"+
- "\2\2PS\3\2\2\2QO\3\2\2\2QR\3\2\2\2RT\3\2\2\2SQ\3\2\2\2TV\7\16\2\2U=\3"+
- "\2\2\2UL\3\2\2\2V\t\3\2\2\2WX\t\2\2\2X\13\3\2\2\2YZ\7\22\2\2Z[\7\20\2"+
- "\2[\\\7\21\2\2\\\r\3\2\2\2]^\t\3\2\2^\17\3\2\2\2_`\t\4\2\2`\21\3\2\2\2"+
- "\r\23\30\37&,\63\66:BQU";
+ "\n\2\4\6\b\n\f\16\20\2\5\3\2\6\7\4\2\b\b\13\13\5\2\3\3\b\b\24\24g\2\23"+
+ "\3\2\2\2\4\"\3\2\2\2\6,\3\2\2\2\bU\3\2\2\2\nW\3\2\2\2\fY\3\2\2\2\16]\3"+
+ "\2\2\2\20_\3\2\2\2\22\24\5\4\3\2\23\22\3\2\2\2\23\24\3\2\2\2\24\30\3\2"+
+ "\2\2\25\27\5\20\t\2\26\25\3\2\2\2\27\32\3\2\2\2\30\26\3\2\2\2\30\31\3"+
+ "\2\2\2\31\33\3\2\2\2\32\30\3\2\2\2\33\37\5\b\5\2\34\36\5\20\t\2\35\34"+
+ "\3\2\2\2\36!\3\2\2\2\37\35\3\2\2\2\37 \3\2\2\2 \3\3\2\2\2!\37\3\2\2\2"+
+ "\"&\7\n\2\2#%\5\f\7\2$#\3\2\2\2%(\3\2\2\2&$\3\2\2\2&\'\3\2\2\2\')\3\2"+
+ "\2\2(&\3\2\2\2)*\7\r\2\2*\5\3\2\2\2+-\5\16\b\2,+\3\2\2\2,-\3\2\2\2-:\3"+
+ "\2\2\2.\64\5\b\5\2/\64\5\n\6\2\60\64\7\4\2\2\61\64\7\24\2\2\62\64\7\3"+
+ "\2\2\63.\3\2\2\2\63/\3\2\2\2\63\60\3\2\2\2\63\61\3\2\2\2\63\62\3\2\2\2"+
+ "\64\66\3\2\2\2\65\67\5\16\b\2\66\65\3\2\2\2\66\67\3\2\2\2\679\3\2\2\2"+
+ "8\63\3\2\2\29<\3\2\2\2:8\3\2\2\2:;\3\2\2\2;\7\3\2\2\2<:\3\2\2\2=>\7\t"+
+ "\2\2>B\7\22\2\2?A\5\f\7\2@?\3\2\2\2AD\3\2\2\2B@\3\2\2\2BC\3\2\2\2CE\3"+
+ "\2\2\2DB\3\2\2\2EF\7\f\2\2FG\5\6\4\2GH\7\t\2\2HI\7\17\2\2IJ\7\22\2\2J"+
+ "K\7\f\2\2KV\3\2\2\2LM\7\t\2\2MQ\7\22\2\2NP\5\f\7\2ON\3\2\2\2PS\3\2\2\2"+
+ "QO\3\2\2\2QR\3\2\2\2RT\3\2\2\2SQ\3\2\2\2TV\7\16\2\2U=\3\2\2\2UL\3\2\2"+
+ "\2V\t\3\2\2\2WX\t\2\2\2X\13\3\2\2\2YZ\7\22\2\2Z[\7\20\2\2[\\\7\21\2\2"+
+ "\\\r\3\2\2\2]^\t\3\2\2^\17\3\2\2\2_`\t\4\2\2`\21\3\2\2\2\r\23\30\37&,"+
+ "\63\66:BQU";
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/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.tokens b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.tokens
index b1423a12..d80683d7 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.tokens
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParser.tokens
@@ -1,23 +1,23 @@
-OPEN=7
+COMMENT=1
CDATA=2
-SLASH=13
+DTD=3
+EntityRef=4
CharRef=5
SEA_WS=6
-SPECIAL_CLOSE=11
+OPEN=7
+XMLDeclOpen=8
+TEXT=9
CLOSE=10
-DTD=3
-Name=16
-EQUALS=14
-PI=18
+SPECIAL_CLOSE=11
SLASH_CLOSE=12
-S=17
-TEXT=9
-XMLDeclOpen=8
-COMMENT=1
-EntityRef=4
+SLASH=13
+EQUALS=14
STRING=15
-'='=14
+Name=16
+S=17
+PI=18
'<'=7
-'/'=13
-'/>'=12
'>'=10
+'/>'=12
+'/'=13
+'='=14
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java
index 4c2bae2d..0d237e7e 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseListener.java
@@ -1,9 +1,7 @@
-// Generated from XMLParser.g4 by ANTLR 4.4
+// Generated from XMLParser.g4 by ANTLR 4.5.3
package android.databinding.parser;
import org.antlr.v4.runtime.ParserRuleContext;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -18,127 +16,120 @@ public class XMLParserBaseListener implements XMLParserListener {
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterContent(@NotNull XMLParser.ContentContext ctx) { }
+ @Override public void enterDocument(XMLParser.DocumentContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitContent(@NotNull XMLParser.ContentContext ctx) { }
-
+ @Override public void exitDocument(XMLParser.DocumentContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterElement(@NotNull XMLParser.ElementContext ctx) { }
+ @Override public void enterProlog(XMLParser.PrologContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitElement(@NotNull XMLParser.ElementContext ctx) { }
-
+ @Override public void exitProlog(XMLParser.PrologContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterProlog(@NotNull XMLParser.PrologContext ctx) { }
+ @Override public void enterContent(XMLParser.ContentContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitProlog(@NotNull XMLParser.PrologContext ctx) { }
-
+ @Override public void exitContent(XMLParser.ContentContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterDocument(@NotNull XMLParser.DocumentContext ctx) { }
+ @Override public void enterElement(XMLParser.ElementContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitDocument(@NotNull XMLParser.DocumentContext ctx) { }
-
+ @Override public void exitElement(XMLParser.ElementContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterAttribute(@NotNull XMLParser.AttributeContext ctx) { }
+ @Override public void enterReference(XMLParser.ReferenceContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitAttribute(@NotNull XMLParser.AttributeContext ctx) { }
-
+ @Override public void exitReference(XMLParser.ReferenceContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterChardata(@NotNull XMLParser.ChardataContext ctx) { }
+ @Override public void enterAttribute(XMLParser.AttributeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitChardata(@NotNull XMLParser.ChardataContext ctx) { }
-
+ @Override public void exitAttribute(XMLParser.AttributeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterReference(@NotNull XMLParser.ReferenceContext ctx) { }
+ @Override public void enterChardata(XMLParser.ChardataContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitReference(@NotNull XMLParser.ReferenceContext ctx) { }
-
+ @Override public void exitChardata(XMLParser.ChardataContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterMisc(@NotNull XMLParser.MiscContext ctx) { }
+ @Override public void enterMisc(XMLParser.MiscContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitMisc(@NotNull XMLParser.MiscContext ctx) { }
+ @Override public void exitMisc(XMLParser.MiscContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void enterEveryRule(@NotNull ParserRuleContext ctx) { }
+ @Override public void enterEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void exitEveryRule(@NotNull ParserRuleContext ctx) { }
+ @Override public void exitEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void visitTerminal(@NotNull TerminalNode node) { }
+ @Override public void visitTerminal(TerminalNode node) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
- @Override public void visitErrorNode(@NotNull ErrorNode node) { }
+ @Override public void visitErrorNode(ErrorNode node) { }
} \ No newline at end of file
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
index 6b04b77d..c89b2d30 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
@@ -1,7 +1,5 @@
-// Generated from XMLParser.g4 by ANTLR 4.4
+// Generated from XMLParser.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
/**
@@ -9,71 +7,64 @@ import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
* which can be extended to create a visitor which only needs to handle a subset
* of the available methods.
*
- * @param <Result> The return type of the visit operation. Use {@link Void} for
+ * @param <T> The return type of the visit operation. Use {@link Void} for
* operations with no return type.
*/
-public class XMLParserBaseVisitor<Result> extends AbstractParseTreeVisitor<Result> implements XMLParserVisitor<Result> {
+public class XMLParserBaseVisitor<T> extends AbstractParseTreeVisitor<T> implements XMLParserVisitor<T> {
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitContent(@NotNull XMLParser.ContentContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitDocument(XMLParser.DocumentContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitElement(@NotNull XMLParser.ElementContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitProlog(XMLParser.PrologContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitProlog(@NotNull XMLParser.PrologContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitContent(XMLParser.ContentContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitDocument(@NotNull XMLParser.DocumentContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitElement(XMLParser.ElementContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitAttribute(@NotNull XMLParser.AttributeContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitReference(XMLParser.ReferenceContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitChardata(@NotNull XMLParser.ChardataContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitAttribute(XMLParser.AttributeContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitReference(@NotNull XMLParser.ReferenceContext ctx) { return visitChildren(ctx); }
-
+ @Override public T visitChardata(XMLParser.ChardataContext ctx) { return visitChildren(ctx); }
/**
* {@inheritDoc}
*
* <p>The default implementation returns the result of calling
* {@link #visitChildren} on {@code ctx}.</p>
*/
- @Override public Result visitMisc(@NotNull XMLParser.MiscContext ctx) { return visitChildren(ctx); }
+ @Override public T visitMisc(XMLParser.MiscContext ctx) { return visitChildren(ctx); }
} \ No newline at end of file
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserListener.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserListener.java
index 6bee172c..c1b37e20 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserListener.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserListener.java
@@ -1,7 +1,5 @@
-// Generated from XMLParser.g4 by ANTLR 4.4
+// Generated from XMLParser.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;
/**
@@ -10,90 +8,83 @@ import org.antlr.v4.runtime.tree.ParseTreeListener;
*/
public interface XMLParserListener extends ParseTreeListener {
/**
- * Enter a parse tree produced by {@link XMLParser#content}.
+ * Enter a parse tree produced by {@link XMLParser#document}.
* @param ctx the parse tree
*/
- void enterContent(@NotNull XMLParser.ContentContext ctx);
+ void enterDocument(XMLParser.DocumentContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#content}.
+ * Exit a parse tree produced by {@link XMLParser#document}.
* @param ctx the parse tree
*/
- void exitContent(@NotNull XMLParser.ContentContext ctx);
-
+ void exitDocument(XMLParser.DocumentContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#element}.
+ * Enter a parse tree produced by {@link XMLParser#prolog}.
* @param ctx the parse tree
*/
- void enterElement(@NotNull XMLParser.ElementContext ctx);
+ void enterProlog(XMLParser.PrologContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#element}.
+ * Exit a parse tree produced by {@link XMLParser#prolog}.
* @param ctx the parse tree
*/
- void exitElement(@NotNull XMLParser.ElementContext ctx);
-
+ void exitProlog(XMLParser.PrologContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#prolog}.
+ * Enter a parse tree produced by {@link XMLParser#content}.
* @param ctx the parse tree
*/
- void enterProlog(@NotNull XMLParser.PrologContext ctx);
+ void enterContent(XMLParser.ContentContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#prolog}.
+ * Exit a parse tree produced by {@link XMLParser#content}.
* @param ctx the parse tree
*/
- void exitProlog(@NotNull XMLParser.PrologContext ctx);
-
+ void exitContent(XMLParser.ContentContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#document}.
+ * Enter a parse tree produced by {@link XMLParser#element}.
* @param ctx the parse tree
*/
- void enterDocument(@NotNull XMLParser.DocumentContext ctx);
+ void enterElement(XMLParser.ElementContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#document}.
+ * Exit a parse tree produced by {@link XMLParser#element}.
* @param ctx the parse tree
*/
- void exitDocument(@NotNull XMLParser.DocumentContext ctx);
-
+ void exitElement(XMLParser.ElementContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#attribute}.
+ * Enter a parse tree produced by {@link XMLParser#reference}.
* @param ctx the parse tree
*/
- void enterAttribute(@NotNull XMLParser.AttributeContext ctx);
+ void enterReference(XMLParser.ReferenceContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#attribute}.
+ * Exit a parse tree produced by {@link XMLParser#reference}.
* @param ctx the parse tree
*/
- void exitAttribute(@NotNull XMLParser.AttributeContext ctx);
-
+ void exitReference(XMLParser.ReferenceContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#chardata}.
+ * Enter a parse tree produced by {@link XMLParser#attribute}.
* @param ctx the parse tree
*/
- void enterChardata(@NotNull XMLParser.ChardataContext ctx);
+ void enterAttribute(XMLParser.AttributeContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#chardata}.
+ * Exit a parse tree produced by {@link XMLParser#attribute}.
* @param ctx the parse tree
*/
- void exitChardata(@NotNull XMLParser.ChardataContext ctx);
-
+ void exitAttribute(XMLParser.AttributeContext ctx);
/**
- * Enter a parse tree produced by {@link XMLParser#reference}.
+ * Enter a parse tree produced by {@link XMLParser#chardata}.
* @param ctx the parse tree
*/
- void enterReference(@NotNull XMLParser.ReferenceContext ctx);
+ void enterChardata(XMLParser.ChardataContext ctx);
/**
- * Exit a parse tree produced by {@link XMLParser#reference}.
+ * Exit a parse tree produced by {@link XMLParser#chardata}.
* @param ctx the parse tree
*/
- void exitReference(@NotNull XMLParser.ReferenceContext ctx);
-
+ void exitChardata(XMLParser.ChardataContext ctx);
/**
* Enter a parse tree produced by {@link XMLParser#misc}.
* @param ctx the parse tree
*/
- void enterMisc(@NotNull XMLParser.MiscContext ctx);
+ void enterMisc(XMLParser.MiscContext ctx);
/**
* Exit a parse tree produced by {@link XMLParser#misc}.
* @param ctx the parse tree
*/
- void exitMisc(@NotNull XMLParser.MiscContext ctx);
+ void exitMisc(XMLParser.MiscContext ctx);
} \ No newline at end of file
diff --git a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserVisitor.java b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserVisitor.java
index 6a76a004..a1abfb70 100644
--- a/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserVisitor.java
+++ b/compilerCommon/src/main/xml-gen/android/databinding/parser/XMLParserVisitor.java
@@ -1,70 +1,61 @@
-// Generated from XMLParser.g4 by ANTLR 4.4
+// Generated from XMLParser.g4 by ANTLR 4.5.3
package android.databinding.parser;
-import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
/**
* This interface defines a complete generic visitor for a parse tree produced
* by {@link XMLParser}.
*
- * @param <Result> The return type of the visit operation. Use {@link Void} for
+ * @param <T> The return type of the visit operation. Use {@link Void} for
* operations with no return type.
*/
-public interface XMLParserVisitor<Result> extends ParseTreeVisitor<Result> {
+public interface XMLParserVisitor<T> extends ParseTreeVisitor<T> {
/**
- * Visit a parse tree produced by {@link XMLParser#content}.
+ * Visit a parse tree produced by {@link XMLParser#document}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitContent(@NotNull XMLParser.ContentContext ctx);
-
+ T visitDocument(XMLParser.DocumentContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#element}.
+ * Visit a parse tree produced by {@link XMLParser#prolog}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitElement(@NotNull XMLParser.ElementContext ctx);
-
+ T visitProlog(XMLParser.PrologContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#prolog}.
+ * Visit a parse tree produced by {@link XMLParser#content}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitProlog(@NotNull XMLParser.PrologContext ctx);
-
+ T visitContent(XMLParser.ContentContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#document}.
+ * Visit a parse tree produced by {@link XMLParser#element}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitDocument(@NotNull XMLParser.DocumentContext ctx);
-
+ T visitElement(XMLParser.ElementContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#attribute}.
+ * Visit a parse tree produced by {@link XMLParser#reference}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitAttribute(@NotNull XMLParser.AttributeContext ctx);
-
+ T visitReference(XMLParser.ReferenceContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#chardata}.
+ * Visit a parse tree produced by {@link XMLParser#attribute}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitChardata(@NotNull XMLParser.ChardataContext ctx);
-
+ T visitAttribute(XMLParser.AttributeContext ctx);
/**
- * Visit a parse tree produced by {@link XMLParser#reference}.
+ * Visit a parse tree produced by {@link XMLParser#chardata}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitReference(@NotNull XMLParser.ReferenceContext ctx);
-
+ T visitChardata(XMLParser.ChardataContext ctx);
/**
* Visit a parse tree produced by {@link XMLParser#misc}.
* @param ctx the parse tree
* @return the visitor result
*/
- Result visitMisc(@NotNull XMLParser.MiscContext ctx);
+ T visitMisc(XMLParser.MiscContext ctx);
} \ No newline at end of file
diff --git a/databinding.properties b/databinding.properties
index 77cf3068..b7e355b5 100644
--- a/databinding.properties
+++ b/databinding.properties
@@ -3,8 +3,12 @@ kotlinVersion = 1.0.0
extensionsVersion = 1.1
# we use a public plugin so that it does not need data binding while compiling library
androidPublicPluginVersion= 1.5.0
+# java versions for the code that runs on the device
javaTargetCompatibility = 1.6
javaSourceCompatibility = 1.6
+# java versions for the code that runs on the host machine
+compilerJavaTargetCompatibility = 1.8
+compilerJavaSourceCompatibility = 1.8
buildToolsVersion = 22.0.1
compileSdkVersionStr = 23
prebuildFolderName=prebuilds
diff --git a/extensions/baseAdapters/build.gradle b/extensions/baseAdapters/build.gradle
index d375aeba..b27457f4 100644
--- a/extensions/baseAdapters/build.gradle
+++ b/extensions/baseAdapters/build.gradle
@@ -41,7 +41,10 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
-
+ compileOptions {
+ sourceCompatibility dataBindingConfig.javaTargetCompatibility
+ targetCompatibility dataBindingConfig.javaSourceCompatibility
+ }
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
exclude 'META-INF/LICENSE.txt'
diff --git a/extensions/library/build.gradle b/extensions/library/build.gradle
index b1455edc..d1c686b5 100644
--- a/extensions/library/build.gradle
+++ b/extensions/library/build.gradle
@@ -46,8 +46,8 @@ android {
versionName "1.0"
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_6
- targetCompatibility JavaVersion.VERSION_1_6
+ sourceCompatibility dataBindingConfig.javaTargetCompatibility
+ targetCompatibility dataBindingConfig.javaSourceCompatibility
}
buildTypes {
release {