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()),

Reply via email to