This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch vars in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 72134e7321ffe35ce24a4d6f1795261b2338e2d1 Author: Stephen Mallette <[email protected]> AuthorDate: Sat Dec 18 14:01:51 2021 -0500 Refactored grammar parser to better keep context of GremlinAntlrToJava --- .../language/grammar/GenericLiteralVisitor.java | 40 ++--- .../language/grammar/GremlinAntlrToJava.java | 5 + .../language/grammar/TraversalMethodVisitor.java | 179 ++++++++++----------- .../grammar/TraversalPredicateVisitor.java | 22 +-- .../language/grammar/TraversalRootVisitor.java | 6 +- .../grammar/TraversalSourceSelfMethodVisitor.java | 30 ++-- .../grammar/TraversalSourceSpawnMethodVisitor.java | 17 +- .../language/grammar/TraversalStrategyVisitor.java | 37 +++-- .../grammar/GeneralLiteralVisitorTest.java | 24 +-- .../grammar/TraversalStrategyVisitorTest.java | 2 +- 10 files changed, 174 insertions(+), 188 deletions(-) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java index 1d93387..66ff774 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java @@ -45,72 +45,57 @@ public class GenericLiteralVisitor extends GremlinBaseVisitor<Object> { */ public static final int TOTAL_INTEGER_RANGE_RESULT_COUNT_LIMIT = 1_000_000; protected final GremlinAntlrToJava antlr; - protected GremlinBaseVisitor<TraversalStrategy> traversalStrategyVisitor; - - private static GenericLiteralVisitor instance; - - private GenericLiteralVisitor() { - this.antlr = null; - } public GenericLiteralVisitor(final GremlinAntlrToJava antlr) { this.antlr = antlr; } - public static GenericLiteralVisitor getInstance() { - if (instance == null) { - instance = new GenericLiteralVisitor(); - } - - return instance; - } - /** * Parse a string literal context and return the string literal */ - public static String getStringLiteral(final GremlinParser.StringLiteralContext stringLiteral) { - return (String) (getInstance().visitStringLiteral(stringLiteral)); + public String getStringLiteral(final GremlinParser.StringLiteralContext stringLiteral) { + return (String) visitStringLiteral(stringLiteral); } /** * Parse a boolean literal context and return the boolean literal */ - public static boolean getBooleanLiteral(final GremlinParser.BooleanLiteralContext booleanLiteral) { - return (boolean) (getInstance().visitBooleanLiteral(booleanLiteral)); + public boolean getBooleanLiteral(final GremlinParser.BooleanLiteralContext booleanLiteral) { + return (boolean) visitBooleanLiteral(booleanLiteral); } /** * Parse a String literal list context and return a string array */ - public static String[] getStringLiteralList(final GremlinParser.StringLiteralListContext stringLiteralList) { + public String[] getStringLiteralList(final GremlinParser.StringLiteralListContext stringLiteralList) { if (stringLiteralList == null || stringLiteralList.stringLiteralExpr() == null) { return new String[0]; } return stringLiteralList.stringLiteralExpr().stringLiteral() .stream() .filter(Objects::nonNull) - .map(stringLiteral -> getInstance().visitStringLiteral(stringLiteral)) + .map(this::visitStringLiteral) .toArray(String[]::new); } /** * Parse a generic literal list, and return an object array */ - public static Object[] getGenericLiteralList(final GremlinParser.GenericLiteralListContext objectLiteralList) { + public Object[] getGenericLiteralList(final GremlinParser.GenericLiteralListContext objectLiteralList) { if (objectLiteralList == null || objectLiteralList.genericLiteralExpr() == null) { return new Object[0]; } return objectLiteralList.genericLiteralExpr().genericLiteral() .stream() .filter(Objects::nonNull) - .map(genericLiteral -> getInstance().visitGenericLiteral(genericLiteral)) + .map(this::visitGenericLiteral) .toArray(Object[]::new); } /** * Parse a TraversalStrategy literal list context and return a string array */ - public static TraversalStrategy[] getTraversalStrategyList(final GremlinParser.TraversalStrategyListContext traversalStrategyListContext, + public TraversalStrategy[] getTraversalStrategyList(final GremlinParser.TraversalStrategyListContext traversalStrategyListContext, final GremlinBaseVisitor<TraversalStrategy> traversalStrategyVisitor) { if (traversalStrategyListContext == null || traversalStrategyListContext.traversalStrategyExpr() == null) { return new TraversalStrategy[0]; @@ -405,7 +390,7 @@ public class GenericLiteralVisitor extends GremlinBaseVisitor<Object> { */ @Override public Object visitDateLiteral(final GremlinParser.DateLiteralContext ctx) { - return DatetimeHelper.parse(getStringLiteral(ctx.stringLiteral())); + return DatetimeHelper.parse((String) visitStringLiteral(ctx.stringLiteral())); } /** @@ -461,10 +446,7 @@ public class GenericLiteralVisitor extends GremlinBaseVisitor<Object> { @Override public Object visitTraversalStrategy(final GremlinParser.TraversalStrategyContext ctx) { - if (null == traversalStrategyVisitor) - traversalStrategyVisitor = new TraversalStrategyVisitor((GremlinBaseVisitor) antlr.tvisitor); - - return traversalStrategyVisitor.visitTraversalStrategy(ctx); + return antlr.traversalStrategyVisitor.visitTraversalStrategy(ctx); } /** diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GremlinAntlrToJava.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GremlinAntlrToJava.java index a06d5e7..02a6772 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GremlinAntlrToJava.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GremlinAntlrToJava.java @@ -64,6 +64,9 @@ public class GremlinAntlrToJava extends GremlinBaseVisitor<Object> { */ final GremlinBaseVisitor<Traversal[]> tListVisitor; + final GenericLiteralVisitor genericLiteralVisitor; + final TraversalStrategyVisitor traversalStrategyVisitor; + /** * Creates a {@link GraphTraversal} implementation that is meant to be anonymous. This provides a way to change the * type of implementation that will be used as anonymous traversals. By default, it uses {@link __} which generates @@ -140,6 +143,8 @@ public class GremlinAntlrToJava extends GremlinBaseVisitor<Object> { null == traversalSourceName ? GraphTraversalSourceVisitor.TRAVERSAL_ROOT : traversalSourceName,this); this.tvisitor = new TraversalRootVisitor(this); this.tListVisitor = new NestedTraversalSourceListVisitor(this); + this.genericLiteralVisitor = new GenericLiteralVisitor(this); + this.traversalStrategyVisitor = new TraversalStrategyVisitor(this); this.createAnonymous = createAnonymous; } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java index 7682232..3744ed6 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java @@ -63,7 +63,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_V(final GremlinParser.TraversalMethod_VContext ctx) { if (ctx.genericLiteralList().getChildCount() != 0) { - return this.graphTraversal.V(GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return this.graphTraversal.V(antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } else { return this.graphTraversal.V(); } @@ -82,7 +82,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_addV_String(final GremlinParser.TraversalMethod_addV_StringContext ctx) { - return this.graphTraversal.addV(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return this.graphTraversal.addV(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } @Override @@ -100,7 +100,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> final int childIndexOfParameterEdgeLabel = 2; final GremlinParser.StringLiteralContext stringLiteralContext = (GremlinParser.StringLiteralContext) (ctx.getChild(childIndexOfParameterEdgeLabel)); - return this.graphTraversal.addE(GenericLiteralVisitor.getStringLiteral(stringLiteralContext)); + return this.graphTraversal.addE(antlr.genericLiteralVisitor.getStringLiteral(stringLiteralContext)); } /** @@ -108,7 +108,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_aggregate_String(final GremlinParser.TraversalMethod_aggregate_StringContext ctx) { - return graphTraversal.aggregate(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.aggregate(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -118,7 +118,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_aggregate_Scope_String(final GremlinParser.TraversalMethod_aggregate_Scope_StringContext ctx) { return graphTraversal.aggregate( TraversalEnumParser.parseTraversalEnumFromContext(Scope.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -136,10 +136,10 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_as(final GremlinParser.TraversalMethod_asContext ctx) { if (ctx.getChildCount() == 4) { - return graphTraversal.as(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.as(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else { - return graphTraversal.as(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.as(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -174,7 +174,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_both(final GremlinParser.TraversalMethod_bothContext ctx) { - return graphTraversal.both(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.both(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -182,7 +182,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_bothE(final GremlinParser.TraversalMethod_bothEContext ctx) { - return graphTraversal.bothE(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.bothE(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -247,7 +247,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_by_String(final GremlinParser.TraversalMethod_by_StringContext ctx) { - return graphTraversal.by(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.by(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -255,7 +255,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_by_String_Comparator(final GremlinParser.TraversalMethod_by_String_ComparatorContext ctx) { - return graphTraversal.by(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + return graphTraversal.by(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), TraversalEnumParser.parseTraversalEnumFromContext(Order.class, ctx.getChild(4))); } @@ -290,10 +290,10 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_cap(final GremlinParser.TraversalMethod_capContext ctx) { if (ctx.getChildCount() == 4) { - return graphTraversal.cap(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.cap(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else { - return graphTraversal.cap(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.cap(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -373,8 +373,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_constant(final GremlinParser.TraversalMethod_constantContext ctx) { - return graphTraversal - .constant(GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral())); + return graphTraversal.constant(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } /** @@ -407,7 +406,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_dedup_Scope_String(final GremlinParser.TraversalMethod_dedup_Scope_StringContext ctx) { return graphTraversal.dedup(TraversalEnumParser.parseTraversalEnumFromContext(Scope.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -415,7 +414,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_dedup_String(final GremlinParser.TraversalMethod_dedup_StringContext ctx) { - return graphTraversal.dedup(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.dedup(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -463,7 +462,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public Traversal visitTraversalMethod_fail_String(final GremlinParser.TraversalMethod_fail_StringContext ctx) { - return this.graphTraversal.fail(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return this.graphTraversal.fail(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -504,7 +503,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_fold_Object_BiFunction(final GremlinParser.TraversalMethod_fold_Object_BiFunctionContext ctx) { return graphTraversal.fold( - GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral()), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral()), (BiFunction) TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, ctx.getChild(4))); } @@ -513,7 +512,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_from_String(final GremlinParser.TraversalMethod_from_StringContext ctx) { - return graphTraversal.from(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.from(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -537,7 +536,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_groupCount_String(final GremlinParser.TraversalMethod_groupCount_StringContext ctx) { - return graphTraversal.groupCount(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.groupCount(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -553,7 +552,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_group_String(final GremlinParser.TraversalMethod_group_StringContext ctx) { - return graphTraversal.group(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.group(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -561,8 +560,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_hasId_Object_Object(final GremlinParser.TraversalMethod_hasId_Object_ObjectContext ctx) { - return graphTraversal.hasId(GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral()), - GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return graphTraversal.hasId(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral()), + antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } /** @@ -587,10 +586,10 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_hasKey_String_String(final GremlinParser.TraversalMethod_hasKey_String_StringContext ctx) { if (ctx.getChildCount() == 4) { - return graphTraversal.hasKey(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.hasKey(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else { - return graphTraversal.hasKey(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.hasKey(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -608,10 +607,10 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_hasLabel_String_String(final GremlinParser.TraversalMethod_hasLabel_String_StringContext ctx) { if (ctx.getChildCount() == 4) { - return graphTraversal.hasLabel(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.hasLabel(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else { - return graphTraversal.hasLabel(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.hasLabel(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -620,7 +619,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_hasNot(final GremlinParser.TraversalMethod_hasNotContext ctx) { - return graphTraversal.hasNot(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.hasNot(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -628,8 +627,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_hasValue_Object_Object(final GremlinParser.TraversalMethod_hasValue_Object_ObjectContext ctx) { - return graphTraversal.hasValue(GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral()), - GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return graphTraversal.hasValue(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral()), + antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } /** @@ -645,7 +644,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String(final GremlinParser.TraversalMethod_has_StringContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -653,8 +652,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String_Object(final GremlinParser.TraversalMethod_has_String_ObjectContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral())); + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } /** @@ -662,7 +661,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String_P(final GremlinParser.TraversalMethod_has_String_PContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), TraversalPredicateVisitor.getInstance().visitTraversalPredicate(ctx.traversalPredicate())); } @@ -671,9 +670,9 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String_String_Object(final GremlinParser.TraversalMethod_has_String_String_ObjectContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), - GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral())); + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } /** @@ -681,8 +680,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String_String_P(final GremlinParser.TraversalMethod_has_String_String_PContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), TraversalPredicateVisitor.getInstance().visitTraversalPredicate(ctx.traversalPredicate())); } @@ -691,7 +690,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_has_String_Traversal(final GremlinParser.TraversalMethod_has_String_TraversalContext ctx) { - return graphTraversal.has(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + return graphTraversal.has(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal())); } @@ -701,7 +700,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_has_T_Object(final GremlinParser.TraversalMethod_has_T_ObjectContext ctx) { return graphTraversal.has(TraversalEnumParser.parseTraversalEnumFromContext(T.class, ctx.getChild(2)), - new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral())); + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } /** @@ -743,7 +742,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_in(final GremlinParser.TraversalMethod_inContext ctx) { - return graphTraversal.in(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.in(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -751,7 +750,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_inE(final GremlinParser.TraversalMethod_inEContext ctx) { - return graphTraversal.inE(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.inE(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -767,7 +766,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_inject(final GremlinParser.TraversalMethod_injectContext ctx) { - return graphTraversal.inject(GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return graphTraversal.inject(antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } @Override @@ -780,7 +779,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_is_Object(final GremlinParser.TraversalMethod_is_ObjectContext ctx) { - return graphTraversal.is(GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral())); + return graphTraversal.is(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } /** @@ -839,12 +838,12 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_loops_String(final GremlinParser.TraversalMethod_loops_StringContext ctx) { - return graphTraversal.loops(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.loops(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } @Override public GraphTraversal visitTraversalMethod_repeat_String_Traversal(final GremlinParser.TraversalMethod_repeat_String_TraversalContext ctx) { - return graphTraversal.repeat((GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())), + return graphTraversal.repeat((antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())), antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal())); } @@ -865,13 +864,13 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_with_String(final GremlinParser.TraversalMethod_with_StringContext ctx) { - return graphTraversal.with(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.with(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } @Override public GraphTraversal visitTraversalMethod_with_String_Object(final GremlinParser.TraversalMethod_with_String_ObjectContext ctx) { - return graphTraversal.with(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral())); + return graphTraversal.with(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral())); } @Override @@ -957,7 +956,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_option_Object_Traversal(final GremlinParser.TraversalMethod_option_Object_TraversalContext ctx) { - return graphTraversal.option(new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral()), + return graphTraversal.option(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral()), antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal())); } @@ -1015,7 +1014,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_out(final GremlinParser.TraversalMethod_outContext ctx) { - return graphTraversal.out(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.out(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1023,7 +1022,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_outE(final GremlinParser.TraversalMethod_outEContext ctx) { - return graphTraversal.outE(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.outE(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1084,7 +1083,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_profile_String(final GremlinParser.TraversalMethod_profile_StringContext ctx) { - return graphTraversal.profile(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.profile(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1093,10 +1092,10 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_project(final GremlinParser.TraversalMethod_projectContext ctx) { if (ctx.getChildCount() == 4) { - return graphTraversal.project(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.project(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else { - return graphTraversal.project(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.project(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -1105,7 +1104,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_properties(final GremlinParser.TraversalMethod_propertiesContext ctx) { - return graphTraversal.properties(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.properties(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1113,7 +1112,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_elementMap(final GremlinParser.TraversalMethod_elementMapContext ctx) { - return graphTraversal.elementMap(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.elementMap(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1121,7 +1120,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_propertyMap(final GremlinParser.TraversalMethod_propertyMapContext ctx) { - return graphTraversal.propertyMap(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.propertyMap(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1130,9 +1129,9 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_property_Cardinality_Object_Object_Object(final GremlinParser.TraversalMethod_property_Cardinality_Object_Object_ObjectContext ctx) { return graphTraversal.property(TraversalEnumParser.parseTraversalEnumFromContext(VertexProperty.Cardinality.class, ctx.getChild(2)), - GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral(0)), - GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx.genericLiteral(1)), - GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral(0)), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral(1)), + antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } /** @@ -1140,9 +1139,9 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_property_Object_Object_Object(final GremlinParser.TraversalMethod_property_Object_Object_ObjectContext ctx) { - return graphTraversal.property(new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral(0)), - new GenericLiteralVisitor(antlr).visitGenericLiteral(ctx.genericLiteral(1)), - GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return graphTraversal.property(antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral(0)), + antlr.genericLiteralVisitor.visitGenericLiteral(ctx.genericLiteral(1)), + antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } /** @@ -1211,7 +1210,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_select_Pop_String(final GremlinParser.TraversalMethod_select_Pop_StringContext ctx) { return graphTraversal.select(TraversalEnumParser.parseTraversalEnumFromContext(Pop.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1220,9 +1219,9 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_select_Pop_String_String_String(final GremlinParser.TraversalMethod_select_Pop_String_String_StringContext ctx) { return graphTraversal.select(TraversalEnumParser.parseTraversalEnumFromContext(Pop.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } @Override @@ -1236,7 +1235,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_select_String(final GremlinParser.TraversalMethod_select_StringContext ctx) { - return graphTraversal.select(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.select(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1244,9 +1243,9 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_select_String_String_String(final GremlinParser.TraversalMethod_select_String_String_StringContext ctx) { - return graphTraversal.select(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), - GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.select(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(0)), + antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral(1)), + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } @Override @@ -1292,7 +1291,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_store(final GremlinParser.TraversalMethod_storeContext ctx) { - return graphTraversal.store(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.store(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1300,7 +1299,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_subgraph(final GremlinParser.TraversalMethod_subgraphContext ctx) { - return graphTraversal.subgraph(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.subgraph(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1374,7 +1373,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_toE(final GremlinParser.TraversalMethod_toEContext ctx) { return graphTraversal.toE(TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1391,7 +1390,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_to_Direction_String(final GremlinParser.TraversalMethod_to_Direction_StringContext ctx) { return graphTraversal.to(TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, ctx.getChild(2)), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1399,7 +1398,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_to_String(final GremlinParser.TraversalMethod_to_StringContext ctx) { - return graphTraversal.to(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.to(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1423,7 +1422,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_tree_String(final GremlinParser.TraversalMethod_tree_StringContext ctx) { - return graphTraversal.tree(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.tree(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** @@ -1472,7 +1471,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_valueMap_String(final GremlinParser.TraversalMethod_valueMap_StringContext ctx) { - return graphTraversal.valueMap(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.valueMap(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1484,7 +1483,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.valueMap(Boolean.valueOf(ctx.booleanLiteral().getText())); } else { return graphTraversal.valueMap(Boolean.valueOf(ctx.booleanLiteral().getText()), - GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } } @@ -1493,7 +1492,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_values(final GremlinParser.TraversalMethod_valuesContext ctx) { - return graphTraversal.values(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); + return graphTraversal.values(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())); } /** @@ -1509,7 +1508,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_where_String_P(final GremlinParser.TraversalMethod_where_String_PContext ctx) { - return graphTraversal.where(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), + return graphTraversal.where(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral()), TraversalPredicateVisitor.getInstance().visitTraversalPredicate(ctx.traversalPredicate())); } @@ -1526,7 +1525,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_math(final GremlinParser.TraversalMethod_mathContext ctx) { - return graphTraversal.math(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return graphTraversal.math(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } /** diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java index 564dfae..432d248 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java @@ -84,7 +84,7 @@ public class TraversalPredicateVisitor extends GremlinBaseVisitor<P> { private Object getSingleGenericLiteralArgument(final ParseTree ctx) { final int childIndexOfParameterValue = 2; - return GenericLiteralVisitor.getInstance().visitGenericLiteral( + return new GenericLiteralVisitor(null).visitGenericLiteral( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterValue)); } @@ -138,9 +138,9 @@ public class TraversalPredicateVisitor extends GremlinBaseVisitor<P> { final int childIndexOfParameterFirst = 2; final int childIndexOfParameterSecond = 4; - final Object first = GenericLiteralVisitor.getInstance().visitGenericLiteral( + final Object first = new GenericLiteralVisitor(null).visitGenericLiteral( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterFirst)); - final Object second = GenericLiteralVisitor.getInstance().visitGenericLiteral( + final Object second = new GenericLiteralVisitor(null).visitGenericLiteral( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterSecond)); return new Object[]{first, second}; @@ -179,7 +179,7 @@ public class TraversalPredicateVisitor extends GremlinBaseVisitor<P> { // called with no args which is valid for java/groovy if (ctx.getChildCount() == 3) return P.within(); - final Object arguments = GenericLiteralVisitor.getInstance().visitGenericLiteralList( + final Object arguments = new GenericLiteralVisitor(null).visitGenericLiteralList( ParseTreeContextCastHelper.castChildToGenericLiteralList(ctx, childIndexOfParameterValues)); if (arguments instanceof Object[]) { @@ -203,7 +203,7 @@ public class TraversalPredicateVisitor extends GremlinBaseVisitor<P> { // called with no args which is valid for java/groovy if (ctx.getChildCount() == 3) return P.without(); - final Object arguments = GenericLiteralVisitor.getInstance().visitGenericLiteralList( + final Object arguments = new GenericLiteralVisitor(null).visitGenericLiteralList( ParseTreeContextCastHelper.castChildToGenericLiteralList(ctx, childIndexOfParameterValues)); if (arguments instanceof Object[]) { @@ -229,31 +229,31 @@ public class TraversalPredicateVisitor extends GremlinBaseVisitor<P> { @Override public P visitTraversalPredicate_containing(final GremlinParser.TraversalPredicate_containingContext ctx) { - return TextP.containing(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.containing((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } @Override public P visitTraversalPredicate_notContaining(final GremlinParser.TraversalPredicate_notContainingContext ctx) { - return TextP.notContaining(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.notContaining((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } @Override public P visitTraversalPredicate_notEndingWith(final GremlinParser.TraversalPredicate_notEndingWithContext ctx) { - return TextP.notEndingWith(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.notEndingWith((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } @Override public P visitTraversalPredicate_endingWith(final GremlinParser.TraversalPredicate_endingWithContext ctx) { - return TextP.endingWith(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.endingWith((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } @Override public P visitTraversalPredicate_startingWith(final GremlinParser.TraversalPredicate_startingWithContext ctx) { - return TextP.startingWith(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.startingWith((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } @Override public P visitTraversalPredicate_notStartingWith(final GremlinParser.TraversalPredicate_notStartingWithContext ctx) { - return TextP.notStartingWith(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return TextP.notStartingWith((String) new GenericLiteralVisitor(null).visitStringLiteral(ctx.stringLiteral())); } } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalRootVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalRootVisitor.java index 25c40d9..75cca2b 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalRootVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalRootVisitor.java @@ -58,7 +58,7 @@ public class TraversalRootVisitor<G extends Traversal> extends GremlinBaseVisito if (ctx.getChild(0) instanceof GremlinParser.RootTraversalContext) { return visitChildren(ctx); } else if (ctx.getChild(2) instanceof GremlinParser.ChainedParentOfGraphTraversalContext) { - return new TraversalRootVisitor<Traversal>(antlr.createAnonymous.get()). + return new TraversalRootVisitor<Traversal>(antlr, antlr.createAnonymous.get()). visitChainedParentOfGraphTraversal(ctx.chainedTraversal().chainedParentOfGraphTraversal()); } else { return new TraversalMethodVisitor(antlr, antlr.createAnonymous.get()).visitChainedTraversal(ctx.chainedTraversal()); @@ -76,7 +76,7 @@ public class TraversalRootVisitor<G extends Traversal> extends GremlinBaseVisito (GremlinParser.TraversalSourceContext) ctx.getChild(childIndexOfTraversalSource)); // call traversal source spawn method final int childIndexOfTraversalSourceSpawnMethod = 2; - final GraphTraversal traversal = new TraversalSourceSpawnMethodVisitor(source, this).visitTraversalSourceSpawnMethod( + final GraphTraversal traversal = new TraversalSourceSpawnMethodVisitor(source, this, antlr).visitTraversalSourceSpawnMethod( (GremlinParser.TraversalSourceSpawnMethodContext) ctx.getChild(childIndexOfTraversalSourceSpawnMethod)); if (ctx.getChildCount() == 5) { @@ -84,7 +84,7 @@ public class TraversalRootVisitor<G extends Traversal> extends GremlinBaseVisito final int childIndexOfChainedTraversal = 4; if (ctx.getChild(childIndexOfChainedTraversal) instanceof GremlinParser.ChainedParentOfGraphTraversalContext) { - final TraversalRootVisitor traversalRootVisitor = new TraversalRootVisitor(traversal); + final TraversalRootVisitor traversalRootVisitor = new TraversalRootVisitor(antlr, traversal); return traversalRootVisitor.visitChainedParentOfGraphTraversal( (GremlinParser.ChainedParentOfGraphTraversalContext) ctx.getChild(childIndexOfChainedTraversal)); } else { diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java index 8833950..173cfab 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java @@ -30,8 +30,6 @@ import java.util.List; * A {@link GraphTraversalSource} self method visitor. */ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTraversalSource> { - - private GremlinBaseVisitor<TraversalStrategy> traversalStrategyVisitor; private GraphTraversalSource source; private final GremlinAntlrToJava antlr; @@ -56,7 +54,7 @@ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTr { final int childIndexOfParameterUseBulk = 2; - final Boolean useBulk = (Boolean)(GenericLiteralVisitor.getInstance().visitBooleanLiteral( + final Boolean useBulk = (Boolean) (antlr.genericLiteralVisitor.visitBooleanLiteral( (GremlinParser.BooleanLiteralContext)(ctx.getChild(childIndexOfParameterUseBulk)))); return source.withBulk(useBulk); @@ -80,12 +78,12 @@ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTr final int childIndexOfParameterInitialValue = 2; if (ctx.getChildCount() == 4) { - return source.withSack(GenericLiteralVisitor.getInstance().visitGenericLiteral( + return source.withSack(antlr.genericLiteralVisitor.visitGenericLiteral( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterInitialValue))); } else { final int childIndexOfParameterMergeOperator = 4; - return source.withSack(GenericLiteralVisitor.getInstance().visitGenericLiteral( + return source.withSack(antlr.genericLiteralVisitor.visitGenericLiteral( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterInitialValue)), TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, ctx.getChild(childIndexOfParameterMergeOperator))); } @@ -100,9 +98,9 @@ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTr final int childIndexOfParameterKey = 2; final int childIndexOfParameterInitialValue = 4; - final String argument1 = (String)(GenericLiteralVisitor.getInstance().visitStringLiteral( + final String argument1 = (String)(antlr.genericLiteralVisitor.visitStringLiteral( (GremlinParser.StringLiteralContext)(ctx.getChild(childIndexOfParameterKey)))); - final Object argument2 = GenericLiteralVisitor.getInstance().visitGenericLiteral( + final Object argument2 = antlr.genericLiteralVisitor.visitGenericLiteral( (GremlinParser.GenericLiteralContext)(ctx.getChild(childIndexOfParameterInitialValue))); return source.withSideEffect(argument1, argument2); @@ -110,19 +108,15 @@ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTr @Override public GraphTraversalSource visitTraversalSourceSelfMethod_withStrategies(final GremlinParser.TraversalSourceSelfMethod_withStrategiesContext ctx) { - - if (null == traversalStrategyVisitor) - traversalStrategyVisitor = new TraversalStrategyVisitor((GremlinBaseVisitor) antlr.tvisitor); - // with 4 children withStrategies() was called with a single TraversalStrategy, otherwise multiple were // specified. if (ctx.getChildCount() < 5) { - return source.withStrategies(traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext) ctx.getChild(2))); + return source.withStrategies(antlr.traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext) ctx.getChild(2))); } else { - final Object[] vargs = GenericLiteralVisitor.getTraversalStrategyList( - (GremlinParser.TraversalStrategyListContext) ctx.getChild(4), traversalStrategyVisitor); + final Object[] vargs = antlr.genericLiteralVisitor.getTraversalStrategyList( + (GremlinParser.TraversalStrategyListContext) ctx.getChild(4), antlr.traversalStrategyVisitor); final List<TraversalStrategy> strats = new ArrayList<>(Arrays.asList(Arrays.copyOf(vargs, vargs.length, TraversalStrategy[].class))); - strats.add(0, traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext) ctx.getChild(2))); + strats.add(0, antlr.traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext) ctx.getChild(2))); return source.withStrategies(strats.toArray(new TraversalStrategy[strats.size()])); } } @@ -136,15 +130,15 @@ public class TraversalSourceSelfMethodVisitor extends GremlinBaseVisitor<GraphTr final int childIndexOfParameterKey = 2; if (ctx.getChildCount() == 4) { - final String argument1 = (String)(GenericLiteralVisitor.getInstance().visitStringLiteral( + final String argument1 = (String) (antlr.genericLiteralVisitor.visitStringLiteral( (GremlinParser.StringLiteralContext)(ctx.getChild(childIndexOfParameterKey)))); return source.with(argument1); } else { final int childIndexOfParameterInitialValue = 4; - final String argument1 = (String)(GenericLiteralVisitor.getInstance().visitStringLiteral( + final String argument1 = (String)(antlr.genericLiteralVisitor.visitStringLiteral( (GremlinParser.StringLiteralContext)(ctx.getChild(childIndexOfParameterKey)))); - final Object argument2 = GenericLiteralVisitor.getInstance().visitGenericLiteral( + final Object argument2 = antlr.genericLiteralVisitor.visitGenericLiteral( (GremlinParser.GenericLiteralContext)(ctx.getChild(childIndexOfParameterInitialValue))); return source.with(argument1, argument2); } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java index 73e8612..4b8b81a 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java @@ -30,10 +30,13 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT protected GraphTraversalSource traversalSource; protected GraphTraversal graphTraversal; protected final GremlinBaseVisitor<Traversal> anonymousVisitor; + protected final GremlinAntlrToJava antlr; public TraversalSourceSpawnMethodVisitor(final GraphTraversalSource traversalSource, - final GremlinBaseVisitor<Traversal> anonymousVisitor) { + final GremlinBaseVisitor<Traversal> anonymousVisitor, + final GremlinAntlrToJava antlr) { this.traversalSource = traversalSource; + this.antlr = antlr; this.anonymousVisitor = anonymousVisitor; } @@ -51,7 +54,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT @Override public GraphTraversal visitTraversalSourceSpawnMethod_addE(final GremlinParser.TraversalSourceSpawnMethod_addEContext ctx) { if (ctx.stringLiteral() != null) { - return this.traversalSource.addE(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return this.traversalSource.addE(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else if (ctx.nestedTraversal() != null) { return this.traversalSource.addE(anonymousVisitor.visitNestedTraversal(ctx.nestedTraversal())); } else { @@ -65,7 +68,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT @Override public GraphTraversal visitTraversalSourceSpawnMethod_addV(final GremlinParser.TraversalSourceSpawnMethod_addVContext ctx) { if (ctx.stringLiteral() != null) { - return this.traversalSource.addV(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + return this.traversalSource.addV(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); } else if (ctx.nestedTraversal() != null) { return this.traversalSource.addV(anonymousVisitor.visitNestedTraversal(ctx.nestedTraversal())); } else { @@ -79,7 +82,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT @Override public GraphTraversal visitTraversalSourceSpawnMethod_E(final GremlinParser.TraversalSourceSpawnMethod_EContext ctx) { if (ctx.genericLiteralList().getChildCount() > 0) { - return this.traversalSource.E(GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return this.traversalSource.E(antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } else { return this.traversalSource.E(); } @@ -91,7 +94,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT @Override public GraphTraversal visitTraversalSourceSpawnMethod_V(final GremlinParser.TraversalSourceSpawnMethod_VContext ctx) { if (ctx.genericLiteralList().getChildCount() > 0) { - return this.traversalSource.V(GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return this.traversalSource.V(antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } else { return this.traversalSource.V(); } @@ -101,7 +104,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_inject(final GremlinParser.TraversalSourceSpawnMethod_injectContext ctx) { - return this.traversalSource.inject(GenericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); + return this.traversalSource.inject(antlr.genericLiteralVisitor.getGenericLiteralList(ctx.genericLiteralList())); } /** @@ -110,7 +113,7 @@ public class TraversalSourceSpawnMethodVisitor extends GremlinBaseVisitor<GraphT @Override public GraphTraversal visitTraversalSourceSpawnMethod_io(final GremlinParser.TraversalSourceSpawnMethod_ioContext ctx) { if (ctx.getChildCount() > 2) { - this.graphTraversal = this.traversalSource.io(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + this.graphTraversal = this.traversalSource.io((String) antlr.genericLiteralVisitor.visitStringLiteral(ctx.stringLiteral())); } return graphTraversal; } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java index 0385d98..1e37b26 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java @@ -29,15 +29,18 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.Edge import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy; import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReservedKeysVerificationStrategy; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrategy> { + protected final GremlinAntlrToJava antlr; protected final GremlinBaseVisitor<Traversal> tvisitor; - public TraversalStrategyVisitor(final GremlinBaseVisitor<Traversal> tvisitor) { - this.tvisitor = tvisitor; + public TraversalStrategyVisitor(final GremlinAntlrToJava antlr) { + this.tvisitor = (GremlinBaseVisitor) antlr.tvisitor; + this.antlr = antlr; } @Override @@ -68,7 +71,7 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate throw new IllegalStateException("Unexpected TraversalStrategy specification - " + ctx.getText()); } - private static EdgeLabelVerificationStrategy getEdgeLabelVerificationStrategy(final List<GremlinParser.TraversalStrategyArgs_EdgeLabelVerificationStrategyContext> ctxs) { + private EdgeLabelVerificationStrategy getEdgeLabelVerificationStrategy(final List<GremlinParser.TraversalStrategyArgs_EdgeLabelVerificationStrategyContext> ctxs) { if (null == ctxs || ctxs.isEmpty()) return EdgeLabelVerificationStrategy.build().create(); @@ -76,10 +79,10 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate ctxs.forEach(ctx -> { switch (ctx.getChild(0).getText()) { case AbstractWarningVerificationStrategy.LOG_WARNING: - builder.logWarning(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.logWarning(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; case AbstractWarningVerificationStrategy.THROW_EXCEPTION: - builder.throwException(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.throwException(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; } }); @@ -87,7 +90,7 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate return builder.create(); } - private static ReservedKeysVerificationStrategy getReservedKeysVerificationStrategy(final List<GremlinParser.TraversalStrategyArgs_ReservedKeysVerificationStrategyContext> ctxs) { + private ReservedKeysVerificationStrategy getReservedKeysVerificationStrategy(final List<GremlinParser.TraversalStrategyArgs_ReservedKeysVerificationStrategyContext> ctxs) { if (null == ctxs || ctxs.isEmpty()) return ReservedKeysVerificationStrategy.build().create(); @@ -95,13 +98,13 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate ctxs.forEach(ctx -> { switch (ctx.getChild(0).getText()) { case AbstractWarningVerificationStrategy.LOG_WARNING: - builder.logWarning(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.logWarning(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; case AbstractWarningVerificationStrategy.THROW_EXCEPTION: - builder.throwException(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.throwException(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; case ReservedKeysVerificationStrategy.KEYS: - builder.reservedKeys(new HashSet<>(Arrays.asList(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())))); + builder.reservedKeys(new HashSet<>(Arrays.asList(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())))); break; } }); @@ -109,21 +112,21 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate return builder.create(); } - private static PartitionStrategy getPartitionStrategy(final List<GremlinParser.TraversalStrategyArgs_PartitionStrategyContext> ctxs) { + private PartitionStrategy getPartitionStrategy(final List<GremlinParser.TraversalStrategyArgs_PartitionStrategyContext> ctxs) { final PartitionStrategy.Builder builder = PartitionStrategy.build(); ctxs.forEach(ctx -> { switch (ctx.getChild(0).getText()) { case PartitionStrategy.INCLUDE_META_PROPERTIES: - builder.includeMetaProperties(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.includeMetaProperties(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; case PartitionStrategy.READ_PARTITIONS: - builder.readPartitions(Arrays.asList(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList()))); + builder.readPartitions(new ArrayList<>(Arrays.asList(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())))); break; case PartitionStrategy.WRITE_PARTITION: - builder.writePartition(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + builder.writePartition(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); break; case PartitionStrategy.PARTITION_KEY: - builder.partitionKey(GenericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); + builder.partitionKey(antlr.genericLiteralVisitor.getStringLiteral(ctx.stringLiteral())); break; } }); @@ -145,7 +148,7 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate builder.vertexProperties(tvisitor.visitNestedTraversal(ctx.nestedTraversal())); break; case SubgraphStrategy.CHECK_ADJACENT_VERTICES: - builder.checkAdjacentVertices(GenericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); + builder.checkAdjacentVertices(antlr.genericLiteralVisitor.getBooleanLiteral(ctx.booleanLiteral())); break; } }); @@ -153,9 +156,9 @@ public class TraversalStrategyVisitor extends GremlinBaseVisitor<TraversalStrate return builder.create(); } - private static ProductiveByStrategy getProductiveByStrategy(final GremlinParser.TraversalStrategyArgs_ProductiveByStrategyContext ctx) { + private ProductiveByStrategy getProductiveByStrategy(final GremlinParser.TraversalStrategyArgs_ProductiveByStrategyContext ctx) { final ProductiveByStrategy.Builder builder = ProductiveByStrategy.build(); - builder.productiveKeys(Arrays.asList(GenericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList()))); + builder.productiveKeys(new ArrayList<>(Arrays.asList(antlr.genericLiteralVisitor.getStringLiteralList(ctx.stringLiteralList())))); return builder.create(); } } diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java index 7791a08..a1a13f0 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java @@ -54,7 +54,7 @@ public class GeneralLiteralVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString(query)); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.GenericLiteralRangeContext ctx = parser.genericLiteralRange(); - return GenericLiteralVisitor.getInstance().visitGenericLiteralRange(ctx); + return new GenericLiteralVisitor(null).visitGenericLiteralRange(ctx); } @RunWith(Parameterized.class) @@ -240,9 +240,9 @@ public class GeneralLiteralVisitorTest { final GremlinParser.StringLiteralContext ctx = parser.stringLiteral(); if (expected.equals("Empty")) { // handle special case for Empty string - assertEquals("", GenericLiteralVisitor.getInstance().visitStringLiteral(ctx)); + assertEquals("", new GenericLiteralVisitor(null).visitStringLiteral(ctx)); } else { - assertEquals(expected, GenericLiteralVisitor.getInstance().visitStringLiteral(ctx)); + assertEquals(expected, new GenericLiteralVisitor(null).visitStringLiteral(ctx)); } } } @@ -282,7 +282,7 @@ public class GeneralLiteralVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString(stringLiteral)); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.StringLiteralContext ctx = parser.stringLiteral(); - assertEquals(expectedOutputChars, GenericLiteralVisitor.getInstance().visitStringLiteral(ctx)); + assertEquals(expectedOutputChars, new GenericLiteralVisitor(null).visitStringLiteral(ctx)); } } @@ -349,7 +349,7 @@ public class GeneralLiteralVisitorTest { final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.IntegerLiteralContext ctx = parser.integerLiteral(); - final Object actualValue = GenericLiteralVisitor.getInstance().visitIntegerLiteral(ctx); + final Object actualValue = new GenericLiteralVisitor(null).visitIntegerLiteral(ctx); assertEquals(expected, actualValue); } } @@ -386,7 +386,7 @@ public class GeneralLiteralVisitorTest { final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.IntegerLiteralContext ctx = parser.integerLiteral(); - assertEquals(new BigInteger(expected, radix), GenericLiteralVisitor.getInstance().visitIntegerLiteral(ctx)); + assertEquals(new BigInteger(expected, radix), new GenericLiteralVisitor(null).visitIntegerLiteral(ctx)); } } @@ -432,7 +432,7 @@ public class GeneralLiteralVisitorTest { final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.FloatLiteralContext ctx = parser.floatLiteral(); - assertEquals(expected, GenericLiteralVisitor.getInstance().visitFloatLiteral(ctx)); + assertEquals(expected, new GenericLiteralVisitor(null).visitFloatLiteral(ctx)); } } @@ -470,7 +470,7 @@ public class GeneralLiteralVisitorTest { final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.DateLiteralContext ctx = parser.dateLiteral(); - final Date dt = (Date) GenericLiteralVisitor.getInstance().visitDateLiteral(ctx); + final Date dt = (Date) new GenericLiteralVisitor(null).visitDateLiteral(ctx); assertEquals(expected, dt); } } @@ -497,7 +497,7 @@ public class GeneralLiteralVisitorTest { final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.BooleanLiteralContext ctx = parser.booleanLiteral(); - assertEquals(expected, GenericLiteralVisitor.getInstance().visitBooleanLiteral(ctx)); + assertEquals(expected, new GenericLiteralVisitor(null).visitBooleanLiteral(ctx)); } } @@ -524,7 +524,7 @@ public class GeneralLiteralVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString(script)); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.GenericLiteralContext ctx = parser.genericLiteral(); - final Object genericLiteral = GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx); + final Object genericLiteral = new GenericLiteralVisitor(null).visitGenericLiteral(ctx); // verify type is Map assertThat(genericLiteral, instanceOf(Map.class)); @@ -542,7 +542,7 @@ public class GeneralLiteralVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString("['world', 165, [12L, 0xA, 14.5, \"hello\"]]")); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.GenericLiteralContext ctx = parser.genericLiteral(); - final Object genericLiteral = GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx); + final Object genericLiteral = new GenericLiteralVisitor(null).visitGenericLiteral(ctx); // verify type is Object[] assertThat(genericLiteral, instanceOf(List.class)); @@ -585,7 +585,7 @@ public class GeneralLiteralVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString("[]")); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.GenericLiteralContext ctx = parser.genericLiteral(); - final Object genericLiteral = GenericLiteralVisitor.getInstance().visitGenericLiteral(ctx); + final Object genericLiteral = new GenericLiteralVisitor(null).visitGenericLiteral(ctx); // verify type is Object[] assertThat(genericLiteral, instanceOf(List.class)); diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitorTest.java index 49e9756..b047053 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitorTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitorTest.java @@ -84,7 +84,7 @@ public class TraversalStrategyVisitorTest { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString(script)); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); final GremlinParser.TraversalStrategyContext ctx = parser.traversalStrategy(); - final TraversalStrategy strategy = new TraversalStrategyVisitor((GremlinBaseVisitor) antlrToLanguage.tvisitor).visitTraversalStrategy(ctx); + final TraversalStrategy strategy = new TraversalStrategyVisitor(antlrToLanguage).visitTraversalStrategy(ctx); assertEquals(expected, strategy); assertEquals(ConfigurationConverter.getMap(expected.getConfiguration()),
