This is an automated email from the ASF dual-hosted git repository. colegreer pushed a commit to branch grammar-refactor in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit a47b2f748c6c05a8fae9e85f923dc871c40f79e0 Author: Cole-Greer <cole.gr...@improving.com> AuthorDate: Mon Apr 28 14:26:15 2025 -0700 Rename grammar types to improve descriptiveness and consistency --- .../gremlin/language/grammar/ArgumentVisitor.java | 71 ++---- .../grammar/DefaultGremlinBaseVisitor.java | 38 ++-- .../language/grammar/GenericLiteralVisitor.java | 87 ++++---- .../grammar/ParseTreeContextCastHelper.java | 4 +- .../language/grammar/StructureElementVisitor.java | 4 +- .../language/grammar/TraversalMethodVisitor.java | 132 ++++++----- .../grammar/TraversalPredicateVisitor.java | 32 ++- .../grammar/TraversalSourceSelfMethodVisitor.java | 12 +- .../grammar/TraversalSourceSpawnMethodVisitor.java | 14 +- .../language/grammar/TraversalStrategyVisitor.java | 2 +- .../translator/AnonymizedTranslatorVisitor.java | 8 +- .../translator/DotNetTranslateVisitor.java | 74 +++---- .../language/translator/GoTranslateVisitor.java | 10 +- .../translator/GroovyTranslateVisitor.java | 6 +- .../language/translator/JavaTranslateVisitor.java | 26 +-- .../translator/JavascriptTranslateVisitor.java | 10 +- .../translator/PythonTranslateVisitor.java | 10 +- .../language/translator/TranslateVisitor.java | 45 ++-- .../language/grammar/ArgumentVisitorTest.java | 4 +- .../grammar/GeneralLiteralVisitorTest.java | 4 +- gremlin-language/src/main/antlr4/Gremlin.g4 | 241 ++++++++++----------- 21 files changed, 357 insertions(+), 477 deletions(-) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java index d153085205..178baf1ea8 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java @@ -23,7 +23,6 @@ import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils; import java.lang.reflect.Array; import java.time.OffsetDateTime; -import java.util.Comparator; import java.util.Map; import java.util.Objects; @@ -76,8 +75,8 @@ public class ArgumentVisitor extends DefaultGremlinBaseVisitor<Object> { /** * Wrapper for visit function for object types. */ - public Object parseObject(final GremlinParser.GenericLiteralArgumentContext ctx) { - return visitGenericLiteralArgument(ctx); + public Object parseObject(final GremlinParser.GenericArgumentContext ctx) { + return visitGenericArgument(ctx); } /** @@ -90,40 +89,29 @@ public class ArgumentVisitor extends DefaultGremlinBaseVisitor<Object> { /** * Wrapper for visit function for {@code Map} types. */ - public Map parseMap(final GremlinParser.GenericLiteralMapArgumentContext ctx) { - return (Map) visitGenericLiteralMapArgument(ctx); + public Map parseMap(final GremlinParser.GenericMapArgumentContext ctx) { + return (Map) visitGenericMapArgument(ctx); } /** * Wrapper for visit function for {@code Map} types. */ - public Map parseMap(final GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { - return (Map) visitGenericLiteralMapNullableArgument(ctx); + public Map parseMap(final GremlinParser.GenericMapNullableArgumentContext ctx) { + return (Map) visitGenericMapNullableArgument(ctx); } /** * Wrapper for visit function for list types. */ - public Object[] parseObjectVarargs(final GremlinParser.GenericLiteralListArgumentContext ctx) { - if (ctx.genericLiteralList() != null) { - return antlr.genericVisitor.parseObjectList(ctx.genericLiteralList()); - } else { - final Object l = visitVariable(ctx.variable()); - if (null == l) { - return null; - } else if (l.getClass().isArray()) { - final int length = Array.getLength(l); - final Object[] result = new Object[length]; - for (int i = 0; i < length; i++) { - result[i] = Array.get(l, i); - } - return result; - } else if (l instanceof Iterable) { - return IteratorUtils.list(((Iterable<?>) l).iterator()).toArray(); - } else { - return new Object[] { l }; - } + public Object[] parseObjectVarargs(final GremlinParser.GenericArgumentVarargsContext ctx) { + if (ctx == null || ctx.genericArgument() == null) { + return new Object[0]; } + return ctx.genericArgument() + .stream() + .filter(Objects::nonNull) + .map(antlr.argumentVisitor::visitGenericArgument) + .toArray(Object[]::new); } /** @@ -188,7 +176,7 @@ public class ArgumentVisitor extends DefaultGremlinBaseVisitor<Object> { } @Override - public Object visitGenericLiteralArgument(final GremlinParser.GenericLiteralArgumentContext ctx) { + public Object visitGenericArgument(final GremlinParser.GenericArgumentContext ctx) { if (ctx.genericLiteral() != null) { return antlr.genericVisitor.visitGenericLiteral(ctx.genericLiteral()); } else { @@ -196,39 +184,28 @@ public class ArgumentVisitor extends DefaultGremlinBaseVisitor<Object> { } } - @Override - public Object visitGenericLiteralListArgument(final GremlinParser.GenericLiteralListArgumentContext ctx) { - if (ctx.genericLiteralList() != null) { - return antlr.genericVisitor.visitChildren(ctx.genericLiteralList()); - } else { - return visitVariable(ctx.variable()); - } - } - @Override public Object visitStructureVertexArgument(final GremlinParser.StructureVertexArgumentContext ctx) { - if (ctx.structureVertex() != null) { - return antlr.structureVisitor.visitStructureVertex(ctx.structureVertex()); + if (ctx.structureVertexLiteral() != null) { + return antlr.structureVisitor.visitStructureVertexLiteral(ctx.structureVertexLiteral()); } else { return visitVariable(ctx.variable()); } } @Override - public Object visitGenericLiteralMapArgument(final GremlinParser.GenericLiteralMapArgumentContext ctx) { - if (ctx.genericLiteralMap() != null) { - return antlr.genericVisitor.visitGenericLiteralMap(ctx.genericLiteralMap()); + public Object visitGenericMapArgument(final GremlinParser.GenericMapArgumentContext ctx) { + if (ctx.genericMapLiteral() != null) { + return antlr.genericVisitor.visitGenericMapLiteral(ctx.genericMapLiteral()); } else { return visitVariable(ctx.variable()); } } @Override - public Object visitGenericLiteralMapNullableArgument(final GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { - if (ctx.nullLiteral() != null) { - return null; - } else if (ctx.genericLiteralMap() != null) { - return antlr.genericVisitor.visitGenericLiteralMap(ctx.genericLiteralMap()); + public Object visitGenericMapNullableArgument(final GremlinParser.GenericMapNullableArgumentContext ctx) { + if (ctx.genericMapNullableLiteral() != null) { + return antlr.genericVisitor.visitGenericMapNullableLiteral(ctx.genericMapNullableLiteral()); } else { return visitVariable(ctx.variable()); } @@ -237,7 +214,7 @@ public class ArgumentVisitor extends DefaultGremlinBaseVisitor<Object> { /** * Parse a string literal varargs, and return a string array */ - public String[] parseStringVarargs(final GremlinParser.StringLiteralVarargsArgumentContext varargsArgumentContext) { + public String[] parseStringVarargs(final GremlinParser.StringNullableArgumentVarargsContext varargsArgumentContext) { if (varargsArgumentContext == null || varargsArgumentContext.stringNullableArgument() == null) { return new String[0]; } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java index bfa4f36497..9450202b35 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java @@ -1250,7 +1250,7 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitTraversalStrategyList(final GremlinParser.TraversalStrategyListContext ctx) { notImplemented(ctx); return null; } + @Override public T visitTraversalStrategyVarargs(final GremlinParser.TraversalStrategyVarargsContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1263,10 +1263,6 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im * {@inheritDoc} */ @Override public T visitNestedTraversalExpr(final GremlinParser.NestedTraversalExprContext ctx) { notImplemented(ctx); return null; } - /** - * {@inheritDoc} - */ - @Override public T visitGenericLiteralList(final GremlinParser.GenericLiteralListContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1274,19 +1270,19 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ - @Override public T visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ - @Override public T visitStringLiteralList(final GremlinParser.StringLiteralListContext ctx) { notImplemented(ctx); return null; } + @Override public T visitStringNullableLiteralVarargs(final GremlinParser.StringNullableLiteralVarargsContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ - @Override public T visitStringLiteralExpr(final GremlinParser.StringLiteralExprContext ctx) { notImplemented(ctx); return null; } + @Override public T visitStringNullableArgumentVarargs(final GremlinParser.StringNullableArgumentVarargsContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1294,7 +1290,7 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1370,7 +1366,7 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { notImplemented(ctx); return null; } + @Override public T visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1608,11 +1604,11 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralArgument(final GremlinParser.GenericLiteralArgumentContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericArgument(final GremlinParser.GenericArgumentContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ - @Override public T visitGenericLiteralListArgument(GremlinParser.GenericLiteralListArgumentContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericArgumentVarargs(GremlinParser.GenericArgumentVarargsContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1620,15 +1616,11 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralMapArgument(final GremlinParser.GenericLiteralMapArgumentContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericMapArgument(final GremlinParser.GenericMapArgumentContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ - @Override public T visitGenericLiteralMapNullableArgument(final GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { notImplemented(ctx); return null; } - /** - * {@inheritDoc} - */ - @Override public T visitStringLiteralVarargs(final GremlinParser.StringLiteralVarargsContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericMapNullableArgument(final GremlinParser.GenericMapNullableArgumentContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1664,7 +1656,7 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ @@ -1684,11 +1676,7 @@ public class DefaultGremlinBaseVisitor<T> extends AbstractParseTreeVisitor<T> im /** * {@inheritDoc} */ - @Override public T visitGenericLiteralMapNullable(final GremlinParser.GenericLiteralMapNullableContext ctx) { notImplemented(ctx); return null; } - /** - * {@inheritDoc} - */ - @Override public T visitStringLiteralVarargsArgument(final GremlinParser.StringLiteralVarargsArgumentContext ctx) { notImplemented(ctx); return null; } + @Override public T visitGenericMapNullableLiteral(final GremlinParser.GenericMapNullableLiteralContext ctx) { notImplemented(ctx); return null; } /** * {@inheritDoc} */ 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 04499f1380..2778336dc2 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 @@ -93,8 +93,8 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { /** * Parse a map literal context and return the map literal */ - public Map parseMap(final GremlinParser.GenericLiteralMapContext mapLiteral) { - return (Map) visitGenericLiteralMap(mapLiteral); + public Map parseMap(final GremlinParser.GenericMapLiteralContext mapLiteral) { + return (Map) visitGenericMapLiteral(mapLiteral); } /** @@ -104,21 +104,14 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { return (boolean) visitBooleanLiteral(booleanLiteral); } - /** - * Parse a String literal list context and return a string array - */ - public String[] parseStringList(final GremlinParser.StringLiteralListContext stringLiteralList) { - return (String[]) visitStringLiteralList(stringLiteralList); - } - /** * Parse a generic literal list, and return an object array */ - public Object[] parseObjectList(final GremlinParser.GenericLiteralListContext objectLiteralList) { - if (objectLiteralList == null || objectLiteralList.genericLiteralExpr() == null) { + public Object[] parseObjectList(final GremlinParser.GenericCollectionLiteralContext collectionLiteral) { + if (collectionLiteral == null || collectionLiteral.genericLiteral() == null) { return new Object[0]; } - return objectLiteralList.genericLiteralExpr().genericLiteral() + return collectionLiteral.genericLiteral() .stream() .filter(Objects::nonNull) .map(antlr.genericVisitor::visitGenericLiteral) @@ -129,20 +122,20 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { * Parse a generic literal varargs, and return an object array */ public Object[] parseObjectVarargs(final GremlinParser.GenericLiteralVarargsContext varargsContext) { - if (varargsContext == null || varargsContext.genericLiteralArgument() == null) { + if (varargsContext == null || varargsContext.genericLiteralExpr() == null || varargsContext.genericLiteralExpr().genericLiteral() == null) { return new Object[0]; } - return varargsContext.genericLiteralArgument() + return varargsContext.genericLiteralExpr().genericLiteral() .stream() .filter(Objects::nonNull) - .map(antlr.argumentVisitor::visitGenericLiteralArgument) + .map(antlr.genericVisitor::visitGenericLiteral) .toArray(Object[]::new); } /** - * Parse a string literal varargs, and return an string array + * Parse a string literal varargs, and return a string array */ - public String[] parseStringVarargs(final GremlinParser.StringLiteralVarargsContext varargsContext) { + public String[] parseStringVarargs(final GremlinParser.StringNullableLiteralVarargsContext varargsContext) { if (varargsContext == null) { return new String[0]; } @@ -156,7 +149,7 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { /** * Parse a TraversalStrategy literal list context and return a string array */ - public static TraversalStrategy[] parseTraversalStrategyList(final GremlinParser.TraversalStrategyListContext traversalStrategyListContext, + public static TraversalStrategy[] parseTraversalStrategyList(final GremlinParser.TraversalStrategyVarargsContext traversalStrategyListContext, final DefaultGremlinBaseVisitor<TraversalStrategy> traversalStrategyVisitor) { if (traversalStrategyListContext == null || traversalStrategyListContext.traversalStrategyExpr() == null) { return new TraversalStrategy[0]; @@ -267,14 +260,6 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { return results; } - /** - * {@inheritDoc} - */ - @Override - public Object visitGenericLiteralList(final GremlinParser.GenericLiteralListContext ctx) { - return visitChildren(ctx); - } - /** * {@inheritDoc} */ @@ -299,7 +284,7 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { } @Override - public Object visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Object visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { final Set<Object> result = new HashSet<>(ctx.getChildCount() / 2); for (GremlinParser.GenericLiteralContext ic : ctx.genericLiteral()) { result.add(antlr.genericVisitor.visitGenericLiteral(ic)); @@ -319,7 +304,7 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { * {@inheritDoc} */ @Override - public Object visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Object visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { if (ctx == null) { return null; } @@ -346,12 +331,12 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { key = visitTraversalDirection((GremlinParser.TraversalDirectionContext) kctx); } else if (kctx instanceof GremlinParser.TraversalDirectionLongContext) { key = visitTraversalDirectionLong((GremlinParser.TraversalDirectionLongContext) kctx); - }else if (kctx instanceof GremlinParser.GenericLiteralCollectionContext) { - key = visitGenericLiteralCollection((GremlinParser.GenericLiteralCollectionContext) kctx); - } else if (kctx instanceof GremlinParser.GenericLiteralSetContext) { - key = visitGenericLiteralSet((GremlinParser.GenericLiteralSetContext) kctx); - } else if (kctx instanceof GremlinParser.GenericLiteralMapContext) { - key = visitGenericLiteralMap((GremlinParser.GenericLiteralMapContext) kctx); + }else if (kctx instanceof GremlinParser.GenericCollectionLiteralContext) { + key = visitGenericCollectionLiteral((GremlinParser.GenericCollectionLiteralContext) kctx); + } else if (kctx instanceof GremlinParser.GenericSetLiteralContext) { + key = visitGenericSetLiteral((GremlinParser.GenericSetLiteralContext) kctx); + } else if (kctx instanceof GremlinParser.GenericMapLiteralContext) { + key = visitGenericMapLiteral((GremlinParser.GenericMapLiteralContext) kctx); } else if (kctx instanceof GremlinParser.KeywordContext) { key = ((GremlinParser.KeywordContext) kctx).getText(); } else if (kctx instanceof GremlinParser.NakedKeyContext) { @@ -369,7 +354,21 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { return literalMap; } + /** + * {@inheritDoc} + */ + @Override + public Object visitGenericMapNullableLiteral(final GremlinParser.GenericMapNullableLiteralContext ctx) { + if (ctx == null) { + return null; + } + + if (ctx.nullLiteral() != null) { + return visitNullLiteral(ctx.nullLiteral()); + } + return visitGenericMapLiteral(ctx.genericMapLiteral()); + } /** * {@inheritDoc} @@ -380,8 +379,8 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { } @Override - public Object visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { - return antlr.structureVisitor.visitStructureVertex(ctx); + public Object visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { + return antlr.structureVisitor.visitStructureVertexLiteral(ctx); } /** @@ -599,7 +598,7 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { * {@inheritDoc} */ @Override - public Object visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Object visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { final int childIndexOfParameterStart = 0; final int childIndexOfParameterEnd = 3; final ParseTree startContext = ctx.getChild(childIndexOfParameterStart); @@ -648,7 +647,7 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { * Generic literal collection returns a list of {@code Object} */ @Override - public Object visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Object visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { final List<Object> result = new ArrayList<>(ctx.getChildCount() / 2); for (GremlinParser.GenericLiteralContext ic : ctx.genericLiteral()) { result.add(antlr.genericVisitor.visitGenericLiteral(ic)); @@ -656,18 +655,6 @@ public class GenericLiteralVisitor extends DefaultGremlinBaseVisitor<Object> { return result; } - @Override - public Object visitStringLiteralList(final GremlinParser.StringLiteralListContext ctx) { - if (ctx == null || ctx.stringLiteralExpr() == null) { - return new String[0]; - } - return ctx.stringLiteralExpr().stringNullableLiteral() - .stream() - .filter(Objects::nonNull) - .map(this::visitStringNullableLiteral) - .toArray(String[]::new); - } - @Override public Object visitStringNullableLiteral(final GremlinParser.StringNullableLiteralContext ctx) { if (ctx.K_NULL() != null) diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java index 5d665ae45e..a80ba1ad1e 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java @@ -31,7 +31,7 @@ public class ParseTreeContextCastHelper { * @param childIndex : child index * @return casted GenericLiteralContext */ - public static GremlinParser.GenericLiteralArgumentContext castChildToGenericLiteral(final ParseTree ctx, final int childIndex) { - return (GremlinParser.GenericLiteralArgumentContext)(ctx.getChild(childIndex)); + public static GremlinParser.GenericArgumentContext castChildToGenericLiteral(final ParseTree ctx, final int childIndex) { + return (GremlinParser.GenericArgumentContext)(ctx.getChild(childIndex)); } } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java index 007985842a..a6e90c998a 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java @@ -31,8 +31,8 @@ public class StructureElementVisitor extends GremlinBaseVisitor<Element> { } @Override - public Vertex visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { - return new ReferenceVertex(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), + public Vertex visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { + return new ReferenceVertex(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), (String) antlr.argumentVisitor.visitStringArgument(ctx.stringArgument())); } } 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 fbf4ecb2d2..6a45f660ff 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 @@ -36,8 +36,6 @@ import java.util.Map; import java.util.function.BiFunction; -import static org.apache.tinkerpop.gremlin.process.traversal.SackFunctions.Barrier.normSack; - /** * Specific case of TraversalRootVisitor where all TraversalMethods returns * a GraphTraversal object. @@ -66,7 +64,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_V(final GremlinParser.TraversalMethod_VContext ctx) { - return this.graphTraversal.V(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return this.graphTraversal.V(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -74,7 +72,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_E(final GremlinParser.TraversalMethod_EContext ctx) { - return this.graphTraversal.E(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return this.graphTraversal.E(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -98,7 +96,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_mergeV_Map(final GremlinParser.TraversalMethod_mergeV_MapContext ctx) { - return this.graphTraversal.mergeV(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + return this.graphTraversal.mergeV(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -130,7 +128,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_mergeE_Map(final GremlinParser.TraversalMethod_mergeE_MapContext ctx) { - return this.graphTraversal.mergeE(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + return this.graphTraversal.mergeE(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -217,7 +215,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.as(antlr.genericVisitor.parseString(ctx.stringLiteral())); } else { return graphTraversal.as(antlr.genericVisitor.parseString(ctx.stringLiteral()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } } @@ -250,7 +248,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_both(final GremlinParser.TraversalMethod_bothContext ctx) { - return graphTraversal.both(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument())); + return graphTraversal.both(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs())); } /** @@ -258,7 +256,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_bothE(final GremlinParser.TraversalMethod_bothEContext ctx) { - return graphTraversal.bothE(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument())); + return graphTraversal.bothE(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs())); } /** @@ -383,7 +381,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.cap(antlr.genericVisitor.parseString(ctx.stringLiteral())); } else { return graphTraversal.cap(antlr.genericVisitor.parseString(ctx.stringLiteral()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } } @@ -462,7 +460,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_combine_Object(final GremlinParser.TraversalMethod_combine_ObjectContext ctx) { - return graphTraversal.combine(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.combine(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -487,7 +485,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_constant(final GremlinParser.TraversalMethod_constantContext ctx) { return graphTraversal - .constant(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + .constant(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -521,7 +519,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_dedup_Scope_String(final GremlinParser.TraversalMethod_dedup_Scope_StringContext ctx) { return graphTraversal.dedup( TraversalEnumParser.parseTraversalEnumFromContext(Scope.class, ctx.traversalScope()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -529,7 +527,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_dedup_String(final GremlinParser.TraversalMethod_dedup_StringContext ctx) { - return graphTraversal.dedup(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.dedup(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -537,7 +535,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_difference_Object(final GremlinParser.TraversalMethod_difference_ObjectContext ctx) { - return graphTraversal.difference(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.difference(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -545,7 +543,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_disjunct_Object(final GremlinParser.TraversalMethod_disjunct_ObjectContext ctx) { - return graphTraversal.disjunct(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.disjunct(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -634,7 +632,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_fold_Object_BiFunction(final GremlinParser.TraversalMethod_fold_Object_BiFunctionContext ctx) { return graphTraversal.fold( - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), (BiFunction) TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, ctx.getChild(4))); } @@ -691,8 +689,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_hasId_Object_Object(final GremlinParser.TraversalMethod_hasId_Object_ObjectContext ctx) { - return graphTraversal.hasId(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), - antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return graphTraversal.hasId(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), + antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -720,7 +718,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.hasKey(antlr.genericVisitor.parseString(ctx.stringNullableLiteral())); } else { return graphTraversal.hasKey(antlr.genericVisitor.parseString(ctx.stringNullableLiteral()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } } @@ -741,7 +739,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.hasLabel(antlr.argumentVisitor.parseString(ctx.stringNullableArgument())); } else { return graphTraversal.hasLabel(antlr.argumentVisitor.parseString(ctx.stringNullableArgument()), - antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument())); + antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs())); } } @@ -758,8 +756,8 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_hasValue_Object_Object(final GremlinParser.TraversalMethod_hasValue_Object_ObjectContext ctx) { - return graphTraversal.hasValue(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), - antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return graphTraversal.hasValue(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), + antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -784,7 +782,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_has_String_Object(final GremlinParser.TraversalMethod_has_String_ObjectContext ctx) { return graphTraversal.has(antlr.genericVisitor.parseString(ctx.stringNullableLiteral()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -803,7 +801,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_has_String_String_Object(final GremlinParser.TraversalMethod_has_String_String_ObjectContext ctx) { return graphTraversal.has(antlr.argumentVisitor.parseString(ctx.stringNullableArgument()), antlr.genericVisitor.parseString(ctx.stringNullableLiteral()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -831,7 +829,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.traversalT()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -873,7 +871,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_in(final GremlinParser.TraversalMethod_inContext ctx) { - return graphTraversal.in(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.in(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -881,7 +879,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_inE(final GremlinParser.TraversalMethod_inEContext ctx) { - return graphTraversal.inE(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.inE(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -889,7 +887,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_intersect_Object(final GremlinParser.TraversalMethod_intersect_ObjectContext ctx) { - return graphTraversal.intersect(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.intersect(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -905,7 +903,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_inject(final GremlinParser.TraversalMethod_injectContext ctx) { - return graphTraversal.inject(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return graphTraversal.inject(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } @Override @@ -918,7 +916,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_is_Object(final GremlinParser.TraversalMethod_is_ObjectContext ctx) { - return graphTraversal.is(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.is(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -1026,7 +1024,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> } else if (ctx.ioOptionsValues() != null) { o = WithOptionsVisitor.instance().visitIoOptionsValues(ctx.ioOptionsValues()); } else { - o = antlr.argumentVisitor.parseObject(ctx.genericLiteralArgument()); + o = antlr.argumentVisitor.parseObject(ctx.genericArgument()); } return graphTraversal.with(k, o); } @@ -1090,7 +1088,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_merge_Object(final GremlinParser.TraversalMethod_merge_ObjectContext ctx) { - return graphTraversal.merge(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.merge(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -1130,7 +1128,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_option_Object_Traversal(final GremlinParser.TraversalMethod_option_Object_TraversalContext ctx) { - return graphTraversal.option(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), + return graphTraversal.option(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal())); } @@ -1149,7 +1147,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_option_Merge_Map(final GremlinParser.TraversalMethod_option_Merge_MapContext ctx) { return graphTraversal.option( TraversalEnumParser.parseTraversalEnumFromContext(Merge.class, ctx.traversalMerge()), - (Map) antlr.argumentVisitor.visitGenericLiteralMapNullableArgument(ctx.genericLiteralMapNullableArgument())); + (Map) antlr.argumentVisitor.visitGenericMapNullableArgument(ctx.genericMapNullableArgument())); } /** @@ -1167,18 +1165,14 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public Traversal visitTraversalMethod_option_Merge_Map_Cardinality(final GremlinParser.TraversalMethod_option_Merge_Map_CardinalityContext ctx) { - if (ctx.genericLiteralMapNullableArgument().nullLiteral() != null) { - return this.graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class, ctx.traversalMerge()), (Map) null); - } - - if (ctx.genericLiteralMapNullableArgument().variable() != null) { + if (ctx.genericMapNullableArgument().variable() != null) { return graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class, ctx.traversalMerge()), - (Map) antlr.argumentVisitor.visitVariable(ctx.genericLiteralMapNullableArgument().variable()), + (Map) antlr.argumentVisitor.visitVariable(ctx.genericMapNullableArgument().variable()), TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class, ctx.traversalCardinality())); } return graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class, ctx.traversalMerge()), - (Map) new GenericLiteralVisitor(antlr).visitGenericLiteralMap(ctx.genericLiteralMapNullableArgument().genericLiteralMap()), + (Map) new GenericLiteralVisitor(antlr).visitGenericMapNullableLiteral(ctx.genericMapNullableArgument().genericMapNullableLiteral()), TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class, ctx.traversalCardinality())); } @@ -1228,7 +1222,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_out(final GremlinParser.TraversalMethod_outContext ctx) { - return graphTraversal.out(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument())); + return graphTraversal.out(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs())); } /** @@ -1236,7 +1230,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_outE(final GremlinParser.TraversalMethod_outEContext ctx) { - return graphTraversal.outE(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument())); + return graphTraversal.outE(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs())); } /** @@ -1289,7 +1283,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_product_Object(final GremlinParser.TraversalMethod_product_ObjectContext ctx) { - return graphTraversal.product(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return graphTraversal.product(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } /** @@ -1317,7 +1311,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.project(antlr.genericVisitor.parseString(ctx.stringLiteral())); } else { return graphTraversal.project(antlr.genericVisitor.parseString(ctx.stringLiteral()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } } @@ -1326,7 +1320,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_properties(final GremlinParser.TraversalMethod_propertiesContext ctx) { - return graphTraversal.properties(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.properties(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1334,7 +1328,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_elementMap(final GremlinParser.TraversalMethod_elementMapContext ctx) { - return graphTraversal.elementMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.elementMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1342,7 +1336,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_propertyMap(final GremlinParser.TraversalMethod_propertyMapContext ctx) { - return graphTraversal.propertyMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.propertyMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1351,9 +1345,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(Cardinality.class, ctx.traversalCardinality()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1)), - antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)), + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1)), + antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -1362,12 +1356,12 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public GraphTraversal visitTraversalMethod_property_Object_Object_Object(final GremlinParser.TraversalMethod_property_Object_Object_ObjectContext ctx) { if (ctx.getChildCount() == 6) { - return graphTraversal.property(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1))); + return graphTraversal.property(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)), + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1))); } else { - return graphTraversal.property(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1)), - antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return graphTraversal.property(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)), + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1)), + antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } } @@ -1377,7 +1371,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public Traversal visitTraversalMethod_property_Cardinality_Object(final GremlinParser.TraversalMethod_property_Cardinality_ObjectContext ctx) { return graphTraversal.property(TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class, ctx.traversalCardinality()), - antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -1385,7 +1379,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public Traversal visitTraversalMethod_property_Object(final GremlinParser.TraversalMethod_property_ObjectContext ctx) { - return graphTraversal.property(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + return graphTraversal.property(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -1469,7 +1463,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> TraversalEnumParser.parseTraversalEnumFromContext(Pop.class, ctx.traversalPop()), antlr.genericVisitor.parseString(ctx.stringLiteral(0)), antlr.genericVisitor.parseString(ctx.stringLiteral(1)), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } @Override @@ -1494,7 +1488,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_select_String_String_String(final GremlinParser.TraversalMethod_select_String_String_StringContext ctx) { return graphTraversal.select(antlr.genericVisitor.parseString(ctx.stringLiteral(0)), antlr.genericVisitor.parseString(ctx.stringLiteral(1)), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } @Override @@ -1625,7 +1619,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_toE(final GremlinParser.TraversalMethod_toEContext ctx) { return graphTraversal.toE( TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, ctx.traversalDirection()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1643,7 +1637,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> public GraphTraversal visitTraversalMethod_to_Direction_String(final GremlinParser.TraversalMethod_to_Direction_StringContext ctx) { return graphTraversal.to( TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, ctx.traversalDirection()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1724,7 +1718,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_valueMap_String(final GremlinParser.TraversalMethod_valueMap_StringContext ctx) { - return graphTraversal.valueMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.valueMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1736,7 +1730,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> return graphTraversal.valueMap((boolean) antlr.genericVisitor.visitBooleanLiteral(ctx.booleanLiteral())); } else { return graphTraversal.valueMap((boolean) antlr.genericVisitor.visitBooleanLiteral(ctx.booleanLiteral()), - antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } } @@ -1745,7 +1739,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_values(final GremlinParser.TraversalMethod_valuesContext ctx) { - return graphTraversal.values(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.values(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** @@ -1828,7 +1822,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public Traversal visitTraversalMethod_call_string_map(final GremlinParser.TraversalMethod_call_string_mapContext ctx) { return graphTraversal.call(antlr.genericVisitor.parseString(ctx.stringLiteral()), - antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument())); + antlr.argumentVisitor.parseMap(ctx.genericMapArgument())); } /** @@ -1846,7 +1840,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> @Override public Traversal visitTraversalMethod_call_string_map_traversal(final GremlinParser.TraversalMethod_call_string_map_traversalContext ctx) { return graphTraversal.call(antlr.genericVisitor.parseString(ctx.stringLiteral()), - antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()), + antlr.argumentVisitor.parseMap(ctx.genericMapArgument()), antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal())); } @@ -1867,7 +1861,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal> */ @Override public GraphTraversal visitTraversalMethod_concat_String(final GremlinParser.TraversalMethod_concat_StringContext ctx) { - return graphTraversal.concat(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs())); + return graphTraversal.concat(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs())); } /** 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 d9f639e0d1..ca481c8638 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 @@ -144,18 +144,15 @@ public class TraversalPredicateVisitor extends DefaultGremlinBaseVisitor<P> { @Override public P visitTraversalPredicate_within(final GremlinParser.TraversalPredicate_withinContext ctx) { // called with no args which is valid for java/groovy - if (null == ctx.genericLiteralListArgument()) return P.within(); + if (null == ctx.genericArgumentVarargs()) return P.within(); - final Object arguments = antlr.argumentVisitor.visitGenericLiteralListArgument(ctx.genericLiteralListArgument()); + final Object[] arguments = antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()); - if (arguments instanceof Object[]) { - // when generic literal list is consist of a comma separated generic literals - return P.within((Object []) arguments); - } else if (arguments instanceof List || arguments instanceof Set) { + if (arguments.length == 1 && arguments[0] instanceof Collection) { // when generic literal list is consist of a collection of generic literals, E.g. range - return P.within((Collection) arguments); + return P.within((Collection) arguments[0]); } else { - // when generic literal list is consist of a single generic literal + // when generic literal list is consist of comma separated generic literals or a single generic literal return P.within(arguments); } } @@ -166,18 +163,15 @@ public class TraversalPredicateVisitor extends DefaultGremlinBaseVisitor<P> { @Override public P visitTraversalPredicate_without(final GremlinParser.TraversalPredicate_withoutContext ctx) { // called with no args which is valid for java/groovy - if (null == ctx.genericLiteralListArgument()) return P.without(); + if (null == ctx.genericArgumentVarargs()) return P.without(); - final Object arguments = antlr.argumentVisitor.visitGenericLiteralListArgument(ctx.genericLiteralListArgument()); + final Object[] arguments = antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()); - if (arguments instanceof Object[]) { - // when generic literal list is consist of a comma separated generic literals - return P.without((Object [])arguments); - } else if (arguments instanceof List) { + if (arguments.length == 1 && arguments[0] instanceof Collection) { // when generic literal list is consist of a collection of generic literals, E.g. range - return P.without((List)arguments); + return P.without((Collection) arguments[0]); } else { - // when generic literal list is consist of a single generic literal + // when generic literal list is consist of comma separated generic literals or a single generic literal return P.without(arguments); } } @@ -238,9 +232,9 @@ public class TraversalPredicateVisitor extends DefaultGremlinBaseVisitor<P> { final int childIndexOfParameterFirst = ctx.getChildCount() == 8 ? 4 : 2; final int childIndexOfParameterSecond = ctx.getChildCount() == 8 ? 6 : 4; - final Object first = antlr.argumentVisitor.visitGenericLiteralArgument( + final Object first = antlr.argumentVisitor.visitGenericArgument( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterFirst)); - final Object second = antlr.argumentVisitor.visitGenericLiteralArgument( + final Object second = antlr.argumentVisitor.visitGenericArgument( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterSecond)); return new Object[]{first, second}; @@ -253,7 +247,7 @@ public class TraversalPredicateVisitor extends DefaultGremlinBaseVisitor<P> { private Object getSingleGenericLiteralArgument(final ParseTree ctx) {; final int childIndexOfParameterValue = ctx.getChildCount() == 6 ? 4 : 2; - return antlr.argumentVisitor.visitGenericLiteralArgument( + return antlr.argumentVisitor.visitGenericArgument( ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, childIndexOfParameterValue)); } } 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 34568da1f2..96cb97258d 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 @@ -75,9 +75,9 @@ public class TraversalSourceSelfMethodVisitor extends DefaultGremlinBaseVisitor< @Override public GraphTraversalSource visitTraversalSourceSelfMethod_withSack(final GremlinParser.TraversalSourceSelfMethod_withSackContext ctx) { if (ctx.getChildCount() == 4) { - return source.withSack(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + return source.withSack(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } else { - return source.withSack(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), + return source.withSack(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, ctx.traversalBiFunction().traversalOperator())); } } @@ -90,10 +90,10 @@ public class TraversalSourceSelfMethodVisitor extends DefaultGremlinBaseVisitor< if (ctx.getChildCount() < 8) { // with 4 children withSideEffect() was called without a reducer specified. return source.withSideEffect(antlr.argumentVisitor.parseString(ctx.stringArgument()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } else { return source.withSideEffect(antlr.argumentVisitor.parseString(ctx.stringArgument()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()), + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()), TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, ctx.traversalBiFunction().traversalOperator())); } } @@ -109,7 +109,7 @@ public class TraversalSourceSelfMethodVisitor extends DefaultGremlinBaseVisitor< return source.withStrategies(traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext) ctx.getChild(2))); } else { final Object[] vargs = GenericLiteralVisitor.parseTraversalStrategyList( - (GremlinParser.TraversalStrategyListContext) ctx.getChild(4), traversalStrategyVisitor); + (GremlinParser.TraversalStrategyVarargsContext) ctx.getChild(4), 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))); return source.withStrategies(strats.toArray(new TraversalStrategy[strats.size()])); @@ -141,7 +141,7 @@ public class TraversalSourceSelfMethodVisitor extends DefaultGremlinBaseVisitor< return source.with(antlr.argumentVisitor.parseString(ctx.stringArgument())); } else { return source.with(antlr.argumentVisitor.parseString(ctx.stringArgument()), - antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument())); + antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument())); } } } 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 22f8d1f769..e75685ee24 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 @@ -84,7 +84,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_E(final GremlinParser.TraversalSourceSpawnMethod_EContext ctx) { - return this.traversalSource.E(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return this.traversalSource.E(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -92,7 +92,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_V(final GremlinParser.TraversalSourceSpawnMethod_VContext ctx) { - return this.traversalSource.V(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return this.traversalSource.V(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -100,7 +100,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_inject(final GremlinParser.TraversalSourceSpawnMethod_injectContext ctx) { - return this.traversalSource.inject(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs())); + return this.traversalSource.inject(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs())); } /** @@ -119,7 +119,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_mergeV_Map(final GremlinParser.TraversalSourceSpawnMethod_mergeV_MapContext ctx) { - return this.traversalSource.mergeV(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + return this.traversalSource.mergeV(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -143,7 +143,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor */ @Override public GraphTraversal visitTraversalSourceSpawnMethod_mergeE_Map(final GremlinParser.TraversalSourceSpawnMethod_mergeE_MapContext ctx) { - return this.traversalSource.mergeE(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument())); + return this.traversalSource.mergeE(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument())); } /** @@ -168,7 +168,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor @Override public GraphTraversal visitTraversalSourceSpawnMethod_call_string_map(final GremlinParser.TraversalSourceSpawnMethod_call_string_mapContext ctx) { return this.traversalSource.call(antlr.argumentVisitor.parseString(ctx.stringArgument()), - antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument())); + antlr.argumentVisitor.parseMap(ctx.genericMapArgument())); } /** @@ -186,7 +186,7 @@ public class TraversalSourceSpawnMethodVisitor extends DefaultGremlinBaseVisitor @Override public GraphTraversal visitTraversalSourceSpawnMethod_call_string_map_traversal(final GremlinParser.TraversalSourceSpawnMethod_call_string_map_traversalContext ctx) { return this.traversalSource.call(antlr.argumentVisitor.parseString(ctx.stringArgument()), - antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()), + antlr.argumentVisitor.parseMap(ctx.genericMapArgument()), anonymousVisitor.visitNestedTraversal(ctx.nestedTraversal())); } 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 1e0a8b9177..e0f4118242 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 @@ -58,7 +58,7 @@ public class TraversalStrategyVisitor extends DefaultGremlinBaseVisitor<Traversa if (null != contexts) { for (GremlinParser.ConfigurationContext ctx : contexts) { final String key = ctx.getChild(0).getText(); - final Object val = antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()); + final Object val = antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()); conf.setProperty(key, val); } } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java index 8537df8e32..9f9fcde97e 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java @@ -77,22 +77,22 @@ public class AnonymizedTranslatorVisitor extends TranslateVisitor { } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { return anonymize(ctx, Set.class); } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { return anonymize(ctx, List.class); } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { return anonymize(ctx, Map.class); } @Override - public Void visitGenericLiteralMapNullableArgument(final GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { + public Void visitGenericMapNullableArgument(final GremlinParser.GenericMapNullableArgumentContext ctx) { return anonymize(ctx, Map.class); } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java index 08c5de23eb..85a2bd9e6b 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java @@ -166,12 +166,12 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { throw new TranslatorException(".NET does not support range literals"); } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { sb.append("new Dictionary<object, object> {"); for (int i = 0; i < ctx.mapEntry().size(); i++) { final GremlinParser.MapEntryContext mapEntryContext = ctx.mapEntry(i); @@ -184,7 +184,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { sb.append("new HashSet<object> { "); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -197,7 +197,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { sb.append("new List<object> { "); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -209,20 +209,6 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { return null; } - @Override - public Void visitStringLiteralList(final GremlinParser.StringLiteralListContext ctx) { - sb.append("new List<string> { "); - for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) { - if (ctx.getChild(1).getChild(ix) instanceof TerminalNode) - continue; - visit(ctx.getChild(1).getChild(ix)); - if (ix < ctx.getChild(1).getChildCount() - 1) - sb.append(", "); - } - sb.append(" }"); - return null; - } - @Override public Void visitMapEntry(final GremlinParser.MapEntryContext ctx) { sb.append("{ "); @@ -330,7 +316,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.stringArgument()); sb.append(", "); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapArgument()); + visit(ctx.genericMapArgument()); sb.append(")"); return null; } @@ -356,7 +342,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.stringArgument()); sb.append(", "); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapArgument()); + visit(ctx.genericMapArgument()); sb.append(", "); sb.append("(ITraversal) "); visit(ctx.nestedTraversal()); @@ -370,7 +356,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.getChild(0)); sb.append("("); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapNullableArgument()); + visit(ctx.genericMapNullableArgument()); sb.append(")"); return null; } @@ -392,7 +378,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.getChild(0)); sb.append("("); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapNullableArgument()); + visit(ctx.genericMapNullableArgument()); sb.append(")"); return null; } @@ -441,7 +427,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.stringLiteral()); sb.append(", "); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapArgument()); + visit(ctx.genericMapArgument()); sb.append(")"); return null; } @@ -467,7 +453,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.stringLiteral()); sb.append(", "); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapArgument()); + visit(ctx.genericMapArgument()); sb.append(", "); sb.append("(ITraversal) "); visit(ctx.nestedTraversal()); @@ -562,8 +548,8 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { tryAppendCastToString(ctx.stringNullableLiteral()); visit(ctx.stringNullableLiteral()); sb.append(", "); - tryAppendCastToObject(ctx.genericLiteralArgument()); - visit(ctx.genericLiteralArgument()); + tryAppendCastToObject(ctx.genericArgument()); + visit(ctx.genericArgument()); sb.append(")"); return null; } @@ -592,8 +578,8 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { tryAppendCastToString(ctx.stringNullableLiteral()); visit(ctx.stringNullableLiteral()); sb.append(", "); - tryAppendCastToObject(ctx.genericLiteralArgument()); - visit(ctx.genericLiteralArgument()); + tryAppendCastToObject(ctx.genericArgument()); + visit(ctx.genericArgument()); sb.append(")"); return null; } @@ -634,8 +620,8 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { sb.append("("); visit(ctx.traversalT()); sb.append(", "); - tryAppendCastToObject(ctx.genericLiteralArgument()); - visit(ctx.genericLiteralArgument()); + tryAppendCastToObject(ctx.genericArgument()); + visit(ctx.genericArgument()); sb.append(")"); return null; } @@ -677,7 +663,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { @Override public Void visitTraversalMethod_hasKey_String_String(final GremlinParser.TraversalMethod_hasKey_String_StringContext ctx) { // if there is only one argument then cast to string otherwise it's ambiguous with hasKey(P) - if (ctx.stringLiteralVarargs() == null || ctx.stringLiteralVarargs().getChildCount() == 0) { + if (ctx.stringNullableLiteralVarargs() == null || ctx.stringNullableLiteralVarargs().getChildCount() == 0) { final String step = ctx.getChild(0).getText(); sb.append(convertToPascalCase(step)); sb.append("("); @@ -693,12 +679,12 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { @Override public Void visitTraversalMethod_hasValue_Object_Object(final GremlinParser.TraversalMethod_hasValue_Object_ObjectContext ctx) { // if there is only one argument then cast to object otherwise it's ambiguous with hasValue(P) - if (ctx.genericLiteralVarargs() == null || ctx.genericLiteralVarargs().getChildCount() == 0) { + if (ctx.genericArgumentVarargs() == null || ctx.genericArgumentVarargs().getChildCount() == 0) { final String step = ctx.getChild(0).getText(); sb.append(convertToPascalCase(step)); sb.append("("); - tryAppendCastToObject(ctx.genericLiteralArgument()); - visit(ctx.genericLiteralArgument()); + tryAppendCastToObject(ctx.genericArgument()); + visit(ctx.genericArgument()); sb.append(")"); return null; } else { @@ -729,7 +715,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { @Override public Void visitTraversalMethod_hasLabel_String_String(final GremlinParser.TraversalMethod_hasLabel_String_StringContext ctx) { // if there is only one argument then cast to string otherwise it's ambiguous with hasLabel(P) - if (ctx.stringLiteralVarargsArgument() == null || ctx.stringLiteralVarargsArgument().getChildCount() == 0) { + if (ctx.stringNullableArgumentVarargs() == null || ctx.stringNullableArgumentVarargs().getChildCount() == 0) { final String step = ctx.getChild(0).getText(); sb.append(convertToPascalCase(step)); sb.append("("); @@ -808,7 +794,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.getChild(0)); sb.append("("); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapNullableArgument()); + visit(ctx.genericMapNullableArgument()); sb.append(")"); return null; } @@ -830,7 +816,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.getChild(0)); sb.append("("); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapNullableArgument()); + visit(ctx.genericMapNullableArgument()); sb.append(")"); return null; } @@ -864,7 +850,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { visit(ctx.traversalMerge()); sb.append(", "); sb.append("(IDictionary<object, object>) "); - visit(ctx.genericLiteralMapNullableArgument()); // second argument + visit(ctx.genericMapNullableArgument()); // second argument sb.append(")"); return null; } @@ -904,17 +890,17 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { @Override public Void visitTraversalMethod_property_Cardinality_Object_Object_Object(final GremlinParser.TraversalMethod_property_Cardinality_Object_Object_ObjectContext ctx) { - if (ctx.genericLiteralVarargs() == null || ctx.genericLiteralVarargs().getChildCount() == 0) { + if (ctx.genericArgumentVarargs() == null || ctx.genericArgumentVarargs().getChildCount() == 0) { final String step = ctx.getChild(0).getText(); sb.append(convertToPascalCase(step)); sb.append("("); visit(ctx.traversalCardinality()); sb.append(", "); - tryAppendCastToObject(ctx.genericLiteralArgument(0)); - visit(ctx.genericLiteralArgument(0)); + tryAppendCastToObject(ctx.genericArgument(0)); + visit(ctx.genericArgument(0)); sb.append(", "); - tryAppendCastToObject(ctx.genericLiteralArgument(1)); - visit(ctx.genericLiteralArgument(1)); + tryAppendCastToObject(ctx.genericArgument(1)); + visit(ctx.genericArgument(1)); sb.append(")"); return null; } else { @@ -1154,7 +1140,7 @@ public class DotNetTranslateVisitor extends AbstractTranslateVisitor { } } - private void tryAppendCastToObject(final GremlinParser.GenericLiteralArgumentContext ctx) { + private void tryAppendCastToObject(final GremlinParser.GenericArgumentContext ctx) { if (ctx.variable() != null || ctx.genericLiteral().nullLiteral() != null) sb.append("(object) "); } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java index 8b75a30182..abf5ff6ddb 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java @@ -116,12 +116,12 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { throw new TranslatorException("Go does not support range literals"); } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { sb.append(GO_PACKAGE_NAME); sb.append("NewSimpleSet("); for (int i = 0; i < ctx.genericLiteral().size(); i++) { @@ -135,7 +135,7 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { sb.append("[]interface{}{"); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -148,7 +148,7 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { sb.append("map[interface{}]interface{}{"); for (int i = 0; i < ctx.mapEntry().size(); i++) { final GremlinParser.MapEntryContext mapEntryContext = ctx.mapEntry(i); @@ -200,7 +200,7 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { sb.append(GO_PACKAGE_NAME).append("Vertex{Element{"); visit(ctx.getChild(3)); // id sb.append(", "); diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java index f2c51a8a61..ccf1402706 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java @@ -46,7 +46,7 @@ public class GroovyTranslateVisitor extends TranslateVisitor { } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { sb.append("new "); sb.append(vertexClassName); sb.append("("); @@ -129,7 +129,7 @@ public class GroovyTranslateVisitor extends TranslateVisitor { @Override public Void visitNullLiteral(final GremlinParser.NullLiteralContext ctx) { - if (ctx.getParent() instanceof GremlinParser.GenericLiteralMapNullableArgumentContext) { + if (ctx.getParent() instanceof GremlinParser.GenericMapNullableArgumentContext) { sb.append("null as Map"); return null; } @@ -139,7 +139,7 @@ public class GroovyTranslateVisitor extends TranslateVisitor { } @Override - public Void visitGenericLiteralSet(GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(GremlinParser.GenericSetLiteralContext ctx) { sb.append("["); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java index 26b9b70efc..6e256e5bbf 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java @@ -53,7 +53,7 @@ public class JavaTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { sb.append("new "); sb.append(vertexClassName); sb.append("("); @@ -119,7 +119,7 @@ public class JavaTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { sb.append("new LinkedHashMap<Object, Object>() {{ "); for (int i = 0; i < ctx.mapEntry().size(); i++) { final GremlinParser.MapEntryContext mapEntryContext = ctx.mapEntry(i); @@ -247,12 +247,12 @@ public class JavaTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { throw new TranslatorException("Java does not support range literals"); } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { sb.append("new HashSet<Object>() {{ "); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -267,7 +267,7 @@ public class JavaTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { sb.append("new ArrayList<Object>() {{ "); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -280,20 +280,4 @@ public class JavaTranslateVisitor extends AbstractTranslateVisitor { sb.append(" }}"); return null; } - - @Override - public Void visitStringLiteralList(final GremlinParser.StringLiteralListContext ctx) { - sb.append("new ArrayList<String>() {{ "); - for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) { - if (ctx.getChild(1).getChild(ix) instanceof TerminalNode) - continue; - sb.append("add("); - visit(ctx.getChild(1).getChild(ix)); - sb.append(");"); - if (ix < ctx.getChild(1).getChildCount() - 1) - sb.append(" "); - } - sb.append(" }}"); - return null; - } } diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java index e247e5e749..a6aaee45c6 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java @@ -54,7 +54,7 @@ public class JavascriptTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { sb.append("new Vertex("); visit(ctx.getChild(3)); // id sb.append(", "); @@ -98,7 +98,7 @@ public class JavascriptTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { sb.append("new Map(["); for (int i = 0; i < ctx.mapEntry().size(); i++) { final GremlinParser.MapEntryContext mapEntryContext = ctx.mapEntry(i); @@ -193,12 +193,12 @@ public class JavascriptTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { throw new TranslatorException("Javascript does not support range literals"); } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { sb.append("new Set(["); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -211,7 +211,7 @@ public class JavascriptTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { sb.append("["); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java index 4cf0eb8a61..75c1affbcd 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java @@ -62,7 +62,7 @@ public class PythonTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { sb.append("Vertex("); visit(ctx.getChild(3)); // id sb.append(", "); @@ -126,7 +126,7 @@ public class PythonTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { sb.append("{ "); for (int i = 0; i < ctx.mapEntry().size(); i++) { final GremlinParser.MapEntryContext mapEntryContext = ctx.mapEntry(i); @@ -270,12 +270,12 @@ public class PythonTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { throw new TranslatorException("Python does not support range literals"); } @Override - public Void visitGenericLiteralSet(final GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericSetLiteral(final GremlinParser.GenericSetLiteralContext ctx) { sb.append("{"); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); @@ -288,7 +288,7 @@ public class PythonTranslateVisitor extends AbstractTranslateVisitor { } @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { sb.append("["); for (int i = 0; i < ctx.genericLiteral().size(); i++) { final GremlinParser.GenericLiteralContext genericLiteralContext = ctx.genericLiteral(i); diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java index 19051670d3..d2fb5d02d6 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java @@ -1476,7 +1476,7 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements } @Override - public Void visitStructureVertex(final GremlinParser.StructureVertexContext ctx) { + public Void visitStructureVertexLiteral(final GremlinParser.StructureVertexLiteralContext ctx) { return visitChildren(ctx); } @@ -1644,8 +1644,8 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements appendStepOpen(); final List<ParseTree> list = ctx.children.stream().filter( - t -> t instanceof GremlinParser.GenericLiteralArgumentContext || - t instanceof GremlinParser.GenericLiteralListArgumentContext || + t -> t instanceof GremlinParser.GenericArgumentContext || + t instanceof GremlinParser.GenericArgumentVarargsContext || t instanceof GremlinParser.StringArgumentContext || t instanceof GremlinParser.TraversalPredicateContext).collect(Collectors.toList()); for (int ix = 0; ix < list.size(); ix++) { @@ -2055,7 +2055,7 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements } @Override - public Void visitGenericLiteralArgument(final GremlinParser.GenericLiteralArgumentContext ctx) { + public Void visitGenericArgument(final GremlinParser.GenericArgumentContext ctx) { if (ctx.genericLiteral() != null) visitGenericLiteral(ctx.genericLiteral()); else @@ -2065,22 +2065,22 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements } @Override - public Void visitGenericLiteralListArgument(final GremlinParser.GenericLiteralListArgumentContext ctx) { + public Void visitGenericArgumentVarargs(final GremlinParser.GenericArgumentVarargsContext ctx) { return visitChildren(ctx); } @Override - public Void visitGenericLiteralMapArgument(final GremlinParser.GenericLiteralMapArgumentContext ctx) { + public Void visitGenericMapArgument(final GremlinParser.GenericMapArgumentContext ctx) { return visitChildren(ctx); } @Override - public Void visitGenericLiteralMapNullableArgument(final GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { + public Void visitGenericMapNullableArgument(final GremlinParser.GenericMapNullableArgumentContext ctx) { return visitChildren(ctx); } @Override - public Void visitTraversalStrategyList(final GremlinParser.TraversalStrategyListContext ctx) { + public Void visitTraversalStrategyVarargs(final GremlinParser.TraversalStrategyVarargsContext ctx) { return visitChildren(ctx); } @@ -2104,43 +2104,28 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements return visitChildren(ctx); } - @Override - public Void visitGenericLiteralList(final GremlinParser.GenericLiteralListContext ctx) { - return visitChildren(ctx); - } - @Override public Void visitGenericLiteralExpr(final GremlinParser.GenericLiteralExprContext ctx) { return visitChildren(ctx); } @Override - public Void visitGenericLiteralRange(final GremlinParser.GenericLiteralRangeContext ctx) { - return visitChildren(ctx); - } - - @Override - public Void visitGenericLiteralCollection(final GremlinParser.GenericLiteralCollectionContext ctx) { - return visitChildren(ctx); - } - - @Override - public Void visitGenericLiteralSet(GremlinParser.GenericLiteralSetContext ctx) { + public Void visitGenericRangeLiteral(final GremlinParser.GenericRangeLiteralContext ctx) { return visitChildren(ctx); } @Override - public Void visitStringLiteralVarargs(final GremlinParser.StringLiteralVarargsContext ctx) { + public Void visitGenericCollectionLiteral(final GremlinParser.GenericCollectionLiteralContext ctx) { return visitChildren(ctx); } @Override - public Void visitStringLiteralList(final GremlinParser.StringLiteralListContext ctx) { + public Void visitGenericSetLiteral(GremlinParser.GenericSetLiteralContext ctx) { return visitChildren(ctx); } @Override - public Void visitStringLiteralExpr(final GremlinParser.StringLiteralExprContext ctx) { + public Void visitStringNullableLiteralVarargs(final GremlinParser.StringNullableLiteralVarargsContext ctx) { return visitChildren(ctx); } @@ -2150,7 +2135,7 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements } @Override - public Void visitGenericLiteralMap(final GremlinParser.GenericLiteralMapContext ctx) { + public Void visitGenericMapLiteral(final GremlinParser.GenericMapLiteralContext ctx) { return visitChildren(ctx); } @@ -2323,12 +2308,12 @@ public class TranslateVisitor extends AbstractParseTreeVisitor<Void> implements } @Override - public Void visitGenericLiteralMapNullable(final GremlinParser.GenericLiteralMapNullableContext ctx) { + public Void visitGenericMapNullableLiteral(final GremlinParser.GenericMapNullableLiteralContext ctx) { return visitChildren(ctx); } @Override - public Void visitStringLiteralVarargsArgument(final GremlinParser.StringLiteralVarargsArgumentContext ctx) { + public Void visitStringNullableArgumentVarargs(final GremlinParser.StringNullableArgumentVarargsContext ctx) { return visitChildren(ctx); } diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java index 09f211ea81..46d67961cb 100644 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java @@ -149,12 +149,12 @@ public class ArgumentVisitorTest { }); } else if (clazz.equals(Object.class)) { assertParsing(() -> { - final GremlinParser.GenericLiteralArgumentContext ctx = parser.genericLiteralArgument(); + final GremlinParser.GenericArgumentContext ctx = parser.genericArgument(); return antlrToLanguage.argumentVisitor.parseObject(ctx); }); } else if (clazz.equals(List.class)) { assertParsing(() -> { - final GremlinParser.GenericLiteralListArgumentContext ctx = parser.genericLiteralListArgument(); + final GremlinParser.GenericArgumentVarargsContext ctx = parser.genericArgumentVarargs(); return antlrToLanguage.argumentVisitor.parseObjectVarargs(ctx); }); } else if (clazz.equals(Vertex.class)) { 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 0f00b5e582..2409663e47 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 @@ -63,8 +63,8 @@ public class GeneralLiteralVisitorTest { static Object parseGenericLiteralRange(final String query) { final GremlinLexer lexer = new GremlinLexer(CharStreams.fromString(query)); final GremlinParser parser = new GremlinParser(new CommonTokenStream(lexer)); - final GremlinParser.GenericLiteralRangeContext ctx = parser.genericLiteralRange(); - return new GenericLiteralVisitor(new GremlinAntlrToJava()).visitGenericLiteralRange(ctx); + final GremlinParser.GenericRangeLiteralContext ctx = parser.genericRangeLiteral(); + return new GenericLiteralVisitor(new GremlinAntlrToJava()).visitGenericRangeLiteral(ctx); } @RunWith(Parameterized.class) diff --git a/gremlin-language/src/main/antlr4/Gremlin.g4 b/gremlin-language/src/main/antlr4/Gremlin.g4 index bb56af0785..d53c94ee42 100644 --- a/gremlin-language/src/main/antlr4/Gremlin.g4 +++ b/gremlin-language/src/main/antlr4/Gremlin.g4 @@ -75,17 +75,17 @@ traversalSourceSelfMethod_withPath ; traversalSourceSelfMethod_withSack - : K_WITHSACK LPAREN genericLiteralArgument RPAREN - | K_WITHSACK LPAREN genericLiteralArgument COMMA traversalBiFunction RPAREN + : K_WITHSACK LPAREN genericArgument RPAREN + | K_WITHSACK LPAREN genericArgument COMMA traversalBiFunction RPAREN ; traversalSourceSelfMethod_withSideEffect - : K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericLiteralArgument RPAREN - | K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericLiteralArgument COMMA traversalBiFunction RPAREN + : K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericArgument RPAREN + | K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericArgument COMMA traversalBiFunction RPAREN ; traversalSourceSelfMethod_withStrategies - : K_WITHSTRATEGIES LPAREN traversalStrategy (COMMA traversalStrategyList)? RPAREN + : K_WITHSTRATEGIES LPAREN traversalStrategy (COMMA traversalStrategyVarargs)? RPAREN ; traversalSourceSelfMethod_withoutStrategies @@ -94,7 +94,7 @@ traversalSourceSelfMethod_withoutStrategies traversalSourceSelfMethod_with : K_WITH LPAREN stringArgument RPAREN - | K_WITH LPAREN stringArgument COMMA genericLiteralArgument RPAREN + | K_WITH LPAREN stringArgument COMMA genericArgument RPAREN ; traversalSourceSpawnMethod @@ -122,15 +122,15 @@ traversalSourceSpawnMethod_addV ; traversalSourceSpawnMethod_E - : K_E LPAREN genericLiteralVarargs RPAREN + : K_E LPAREN genericArgumentVarargs RPAREN ; traversalSourceSpawnMethod_V - : K_V LPAREN genericLiteralVarargs RPAREN + : K_V LPAREN genericArgumentVarargs RPAREN ; traversalSourceSpawnMethod_inject - : K_INJECT LPAREN genericLiteralVarargs RPAREN + : K_INJECT LPAREN genericArgumentVarargs RPAREN ; traversalSourceSpawnMethod_io @@ -138,21 +138,21 @@ traversalSourceSpawnMethod_io ; traversalSourceSpawnMethod_mergeV - : K_MERGEV LPAREN genericLiteralMapNullableArgument RPAREN #traversalSourceSpawnMethod_mergeV_Map + : K_MERGEV LPAREN genericMapNullableArgument RPAREN #traversalSourceSpawnMethod_mergeV_Map | K_MERGEV LPAREN nestedTraversal RPAREN #traversalSourceSpawnMethod_mergeV_Traversal ; traversalSourceSpawnMethod_mergeE - : K_MERGEE LPAREN genericLiteralMapNullableArgument RPAREN #traversalSourceSpawnMethod_mergeE_Map + : K_MERGEE LPAREN genericMapNullableArgument RPAREN #traversalSourceSpawnMethod_mergeE_Map | K_MERGEE LPAREN nestedTraversal RPAREN #traversalSourceSpawnMethod_mergeE_Traversal ; traversalSourceSpawnMethod_call : K_CALL LPAREN RPAREN #traversalSourceSpawnMethod_call_empty | K_CALL LPAREN stringArgument RPAREN #traversalSourceSpawnMethod_call_string - | K_CALL LPAREN stringArgument COMMA genericLiteralMapArgument RPAREN #traversalSourceSpawnMethod_call_string_map + | K_CALL LPAREN stringArgument COMMA genericMapArgument RPAREN #traversalSourceSpawnMethod_call_string_map | K_CALL LPAREN stringArgument COMMA nestedTraversal RPAREN #traversalSourceSpawnMethod_call_string_traversal - | K_CALL LPAREN stringArgument COMMA genericLiteralMapArgument COMMA nestedTraversal RPAREN #traversalSourceSpawnMethod_call_string_map_traversal + | K_CALL LPAREN stringArgument COMMA genericMapArgument COMMA nestedTraversal RPAREN #traversalSourceSpawnMethod_call_string_map_traversal ; traversalSourceSpawnMethod_union @@ -310,11 +310,11 @@ traversalMethod ; traversalMethod_V - : K_V LPAREN genericLiteralVarargs RPAREN + : K_V LPAREN genericArgumentVarargs RPAREN ; traversalMethod_E - : K_E LPAREN genericLiteralVarargs RPAREN + : K_E LPAREN genericArgumentVarargs RPAREN ; traversalMethod_addE @@ -346,7 +346,7 @@ traversalMethod_any ; traversalMethod_as - : K_AS LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN + : K_AS LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN ; traversalMethod_asDate @@ -365,11 +365,11 @@ traversalMethod_barrier ; traversalMethod_both - : K_BOTH LPAREN stringLiteralVarargsArgument RPAREN + : K_BOTH LPAREN stringNullableArgumentVarargs RPAREN ; traversalMethod_bothE - : K_BOTHE LPAREN stringLiteralVarargsArgument RPAREN + : K_BOTHE LPAREN stringNullableArgumentVarargs RPAREN ; traversalMethod_bothV @@ -395,13 +395,13 @@ traversalMethod_by traversalMethod_call : K_CALL LPAREN stringLiteral RPAREN #traversalMethod_call_string - | K_CALL LPAREN stringLiteral COMMA genericLiteralMapArgument RPAREN #traversalMethod_call_string_map + | K_CALL LPAREN stringLiteral COMMA genericMapArgument RPAREN #traversalMethod_call_string_map | K_CALL LPAREN stringLiteral COMMA nestedTraversal RPAREN #traversalMethod_call_string_traversal - | K_CALL LPAREN stringLiteral COMMA genericLiteralMapArgument COMMA nestedTraversal RPAREN #traversalMethod_call_string_map_traversal + | K_CALL LPAREN stringLiteral COMMA genericMapArgument COMMA nestedTraversal RPAREN #traversalMethod_call_string_map_traversal ; traversalMethod_cap - : K_CAP LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN + : K_CAP LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN ; traversalMethod_choose @@ -422,12 +422,12 @@ traversalMethod_coin ; traversalMethod_combine - : K_COMBINE LPAREN genericLiteralArgument RPAREN #traversalMethod_combine_Object + : K_COMBINE LPAREN genericArgument RPAREN #traversalMethod_combine_Object ; traversalMethod_concat : K_CONCAT LPAREN nestedTraversal (COMMA nestedTraversalList)? RPAREN #traversalMethod_concat_Traversal_Traversal - | K_CONCAT LPAREN stringLiteralVarargs RPAREN #traversalMethod_concat_String + | K_CONCAT LPAREN stringNullableLiteralVarargs RPAREN #traversalMethod_concat_String ; traversalMethod_conjoin @@ -439,7 +439,7 @@ traversalMethod_connectedComponent ; traversalMethod_constant - : K_CONSTANT LPAREN genericLiteralArgument RPAREN + : K_CONSTANT LPAREN genericArgument RPAREN ; traversalMethod_count @@ -461,16 +461,16 @@ traversalMethod_dateDiff ; traversalMethod_dedup - : K_DEDUP LPAREN traversalScope (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_dedup_Scope_String - | K_DEDUP LPAREN stringLiteralVarargs RPAREN #traversalMethod_dedup_String + : K_DEDUP LPAREN traversalScope (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_dedup_Scope_String + | K_DEDUP LPAREN stringNullableLiteralVarargs RPAREN #traversalMethod_dedup_String ; traversalMethod_difference - : K_DIFFERENCE LPAREN genericLiteralArgument RPAREN #traversalMethod_difference_Object + : K_DIFFERENCE LPAREN genericArgument RPAREN #traversalMethod_difference_Object ; traversalMethod_disjunct - : K_DISJUNCT LPAREN genericLiteralArgument RPAREN #traversalMethod_disjunct_Object + : K_DISJUNCT LPAREN genericArgument RPAREN #traversalMethod_disjunct_Object ; traversalMethod_drop @@ -482,7 +482,7 @@ traversalMethod_element ; traversalMethod_elementMap - : K_ELEMENTMAP LPAREN stringLiteralVarargs RPAREN + : K_ELEMENTMAP LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_emit @@ -507,7 +507,7 @@ traversalMethod_flatMap traversalMethod_fold : K_FOLD LPAREN RPAREN #traversalMethod_fold_Empty - | K_FOLD LPAREN genericLiteralArgument COMMA traversalBiFunction RPAREN #traversalMethod_fold_Object_BiFunction + | K_FOLD LPAREN genericArgument COMMA traversalBiFunction RPAREN #traversalMethod_fold_Object_BiFunction ; traversalMethod_format @@ -532,29 +532,29 @@ traversalMethod_groupCount traversalMethod_has : K_HAS LPAREN stringNullableLiteral RPAREN #traversalMethod_has_String - | K_HAS LPAREN stringNullableLiteral COMMA genericLiteralArgument RPAREN #traversalMethod_has_String_Object + | K_HAS LPAREN stringNullableLiteral COMMA genericArgument RPAREN #traversalMethod_has_String_Object | K_HAS LPAREN stringNullableLiteral COMMA traversalPredicate RPAREN #traversalMethod_has_String_P - | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA genericLiteralArgument RPAREN #traversalMethod_has_String_String_Object + | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA genericArgument RPAREN #traversalMethod_has_String_String_Object | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA traversalPredicate RPAREN #traversalMethod_has_String_String_P | K_HAS LPAREN stringNullableLiteral COMMA nestedTraversal RPAREN #traversalMethod_has_String_Traversal - | K_HAS LPAREN traversalT COMMA genericLiteralArgument RPAREN #traversalMethod_has_T_Object + | K_HAS LPAREN traversalT COMMA genericArgument RPAREN #traversalMethod_has_T_Object | K_HAS LPAREN traversalT COMMA traversalPredicate RPAREN #traversalMethod_has_T_P | K_HAS LPAREN traversalT COMMA nestedTraversal RPAREN #traversalMethod_has_T_Traversal ; traversalMethod_hasId - : K_HASID LPAREN genericLiteralArgument (COMMA genericLiteralVarargs)? RPAREN #traversalMethod_hasId_Object_Object + : K_HASID LPAREN genericArgument (COMMA genericArgumentVarargs)? RPAREN #traversalMethod_hasId_Object_Object | K_HASID LPAREN traversalPredicate RPAREN #traversalMethod_hasId_P ; traversalMethod_hasKey : K_HASKEY LPAREN traversalPredicate RPAREN #traversalMethod_hasKey_P - | K_HASKEY LPAREN stringNullableLiteral (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_hasKey_String_String + | K_HASKEY LPAREN stringNullableLiteral (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_hasKey_String_String ; traversalMethod_hasLabel : K_HASLABEL LPAREN traversalPredicate RPAREN #traversalMethod_hasLabel_P - | K_HASLABEL LPAREN stringNullableArgument (COMMA stringLiteralVarargsArgument)? RPAREN #traversalMethod_hasLabel_String_String + | K_HASLABEL LPAREN stringNullableArgument (COMMA stringNullableArgumentVarargs)? RPAREN #traversalMethod_hasLabel_String_String ; traversalMethod_hasNot @@ -562,7 +562,7 @@ traversalMethod_hasNot ; traversalMethod_hasValue - : K_HASVALUE LPAREN genericLiteralArgument (COMMA genericLiteralVarargs)? RPAREN #traversalMethod_hasValue_Object_Object + : K_HASVALUE LPAREN genericArgument (COMMA genericArgumentVarargs)? RPAREN #traversalMethod_hasValue_Object_Object | K_HASVALUE LPAREN traversalPredicate RPAREN #traversalMethod_hasValue_P ; @@ -575,15 +575,15 @@ traversalMethod_identity ; traversalMethod_in - : K_IN LPAREN stringLiteralVarargs RPAREN + : K_IN LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_inE - : K_INE LPAREN stringLiteralVarargs RPAREN + : K_INE LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_intersect - : K_INTERSECT LPAREN genericLiteralArgument RPAREN #traversalMethod_intersect_Object + : K_INTERSECT LPAREN genericArgument RPAREN #traversalMethod_intersect_Object ; traversalMethod_inV @@ -595,11 +595,11 @@ traversalMethod_index ; traversalMethod_inject - : K_INJECT LPAREN genericLiteralVarargs RPAREN + : K_INJECT LPAREN genericArgumentVarargs RPAREN ; traversalMethod_is - : K_IS LPAREN genericLiteralArgument RPAREN #traversalMethod_is_Object + : K_IS LPAREN genericArgument RPAREN #traversalMethod_is_Object | K_IS LPAREN traversalPredicate RPAREN #traversalMethod_is_P ; @@ -658,18 +658,18 @@ traversalMethod_mean ; traversalMethod_merge - : K_MERGE LPAREN genericLiteralArgument RPAREN #traversalMethod_merge_Object + : K_MERGE LPAREN genericArgument RPAREN #traversalMethod_merge_Object ; traversalMethod_mergeV : K_MERGEV LPAREN RPAREN #traversalMethod_mergeV_empty - | K_MERGEV LPAREN genericLiteralMapNullableArgument RPAREN #traversalMethod_mergeV_Map + | K_MERGEV LPAREN genericMapNullableArgument RPAREN #traversalMethod_mergeV_Map | K_MERGEV LPAREN nestedTraversal RPAREN #traversalMethod_mergeV_Traversal ; traversalMethod_mergeE : K_MERGEE LPAREN RPAREN #traversalMethod_mergeE_empty - | K_MERGEE LPAREN genericLiteralMapNullableArgument RPAREN #traversalMethod_mergeE_Map + | K_MERGEE LPAREN genericMapNullableArgument RPAREN #traversalMethod_mergeE_Map | K_MERGEE LPAREN nestedTraversal RPAREN #traversalMethod_mergeE_Traversal ; @@ -688,10 +688,10 @@ traversalMethod_not traversalMethod_option : K_OPTION LPAREN traversalPredicate COMMA nestedTraversal RPAREN #traversalMethod_option_Predicate_Traversal - | K_OPTION LPAREN traversalMerge COMMA genericLiteralMapNullableArgument RPAREN #traversalMethod_option_Merge_Map - | K_OPTION LPAREN traversalMerge COMMA genericLiteralMapNullableArgument COMMA traversalCardinality RPAREN #traversalMethod_option_Merge_Map_Cardinality + | K_OPTION LPAREN traversalMerge COMMA genericMapNullableArgument RPAREN #traversalMethod_option_Merge_Map + | K_OPTION LPAREN traversalMerge COMMA genericMapNullableArgument COMMA traversalCardinality RPAREN #traversalMethod_option_Merge_Map_Cardinality | K_OPTION LPAREN traversalMerge COMMA nestedTraversal RPAREN #traversalMethod_option_Merge_Traversal - | K_OPTION LPAREN genericLiteralArgument COMMA nestedTraversal RPAREN #traversalMethod_option_Object_Traversal + | K_OPTION LPAREN genericArgument COMMA nestedTraversal RPAREN #traversalMethod_option_Object_Traversal | K_OPTION LPAREN nestedTraversal RPAREN #traversalMethod_option_Traversal ; @@ -713,11 +713,11 @@ traversalMethod_otherV ; traversalMethod_out - : K_OUT LPAREN stringLiteralVarargsArgument RPAREN + : K_OUT LPAREN stringNullableArgumentVarargs RPAREN ; traversalMethod_outE - : K_OUTE LPAREN stringLiteralVarargsArgument RPAREN + : K_OUTE LPAREN stringNullableArgumentVarargs RPAREN ; traversalMethod_outV @@ -738,7 +738,7 @@ traversalMethod_peerPressure ; traversalMethod_product - : K_PRODUCT LPAREN genericLiteralArgument RPAREN #traversalMethod_product_Object + : K_PRODUCT LPAREN genericArgument RPAREN #traversalMethod_product_Object ; traversalMethod_profile @@ -747,22 +747,22 @@ traversalMethod_profile ; traversalMethod_project - : K_PROJECT LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN + : K_PROJECT LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN ; traversalMethod_properties - : K_PROPERTIES LPAREN stringLiteralVarargs RPAREN + : K_PROPERTIES LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_property - : K_PROPERTY LPAREN traversalCardinality COMMA genericLiteralArgument COMMA genericLiteralArgument (COMMA genericLiteralVarargs)? RPAREN #traversalMethod_property_Cardinality_Object_Object_Object - | K_PROPERTY LPAREN traversalCardinality COMMA genericLiteralMapNullableArgument RPAREN # traversalMethod_property_Cardinality_Object - | K_PROPERTY LPAREN genericLiteralArgument COMMA genericLiteralArgument (COMMA genericLiteralVarargs)? RPAREN #traversalMethod_property_Object_Object_Object - | K_PROPERTY LPAREN genericLiteralMapNullableArgument RPAREN # traversalMethod_property_Object + : K_PROPERTY LPAREN traversalCardinality COMMA genericArgument COMMA genericArgument (COMMA genericArgumentVarargs)? RPAREN #traversalMethod_property_Cardinality_Object_Object_Object + | K_PROPERTY LPAREN traversalCardinality COMMA genericMapNullableArgument RPAREN # traversalMethod_property_Cardinality_Object + | K_PROPERTY LPAREN genericArgument COMMA genericArgument (COMMA genericArgumentVarargs)? RPAREN #traversalMethod_property_Object_Object_Object + | K_PROPERTY LPAREN genericMapNullableArgument RPAREN # traversalMethod_property_Object ; traversalMethod_propertyMap - : K_PROPERTYMAP LPAREN stringLiteralVarargs RPAREN + : K_PROPERTYMAP LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_range @@ -806,10 +806,10 @@ traversalMethod_sample traversalMethod_select : K_SELECT LPAREN traversalColumn RPAREN #traversalMethod_select_Column | K_SELECT LPAREN traversalPop COMMA stringLiteral RPAREN #traversalMethod_select_Pop_String - | K_SELECT LPAREN traversalPop COMMA stringLiteral COMMA stringLiteral (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_select_Pop_String_String_String + | K_SELECT LPAREN traversalPop COMMA stringLiteral COMMA stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_select_Pop_String_String_String | K_SELECT LPAREN traversalPop COMMA nestedTraversal RPAREN #traversalMethod_select_Pop_Traversal | K_SELECT LPAREN stringLiteral RPAREN #traversalMethod_select_String - | K_SELECT LPAREN stringLiteral COMMA stringLiteral (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_select_String_String_String + | K_SELECT LPAREN stringLiteral COMMA stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_select_String_String_String | K_SELECT LPAREN nestedTraversal RPAREN #traversalMethod_select_Traversal ; @@ -871,14 +871,14 @@ traversalMethod_times ; traversalMethod_to - : K_TO LPAREN traversalDirection (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_to_Direction_String + : K_TO LPAREN traversalDirection (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_to_Direction_String | K_TO LPAREN stringLiteral RPAREN #traversalMethod_to_String | K_TO LPAREN structureVertexArgument RPAREN #traversalMethod_to_Vertex | K_TO LPAREN nestedTraversal RPAREN #traversalMethod_to_Traversal ; traversalMethod_toE - : K_TOE LPAREN traversalDirection (COMMA stringLiteralVarargs)? RPAREN + : K_TOE LPAREN traversalDirection (COMMA stringNullableLiteralVarargs)? RPAREN ; traversalMethod_toLower @@ -923,12 +923,12 @@ traversalMethod_value ; traversalMethod_valueMap - : K_VALUEMAP LPAREN stringLiteralVarargs RPAREN #traversalMethod_valueMap_String - | K_VALUEMAP LPAREN booleanLiteral (COMMA stringLiteralVarargs)? RPAREN #traversalMethod_valueMap_boolean_String + : K_VALUEMAP LPAREN stringNullableLiteralVarargs RPAREN #traversalMethod_valueMap_String + | K_VALUEMAP LPAREN booleanLiteral (COMMA stringNullableLiteralVarargs)? RPAREN #traversalMethod_valueMap_boolean_String ; traversalMethod_values - : K_VALUES LPAREN stringLiteralVarargs RPAREN + : K_VALUES LPAREN stringNullableLiteralVarargs RPAREN ; traversalMethod_where @@ -939,7 +939,7 @@ traversalMethod_where traversalMethod_with : K_WITH LPAREN (withOptionKeys | stringLiteral) RPAREN #traversalMethod_with_String - | K_WITH LPAREN (withOptionKeys | stringLiteral) COMMA (withOptionsValues | ioOptionsValues | genericLiteralArgument) RPAREN #traversalMethod_with_String_Object + | K_WITH LPAREN (withOptionKeys | stringLiteral) COMMA (withOptionsValues | ioOptionsValues | genericArgument) RPAREN #traversalMethod_with_String_Object ; traversalMethod_write @@ -954,8 +954,8 @@ traversalMethod_write // That use case is related to OLAP when the StarGraph does not preserve the label of adjacent vertices or other // fail fast scenarios in that processing model. It is not relevant to the grammar however when a user is creating // the Vertex to be used in a Traversal and therefore both id and label are required. -structureVertex - : K_NEW? (K_VERTEX | K_REFERENCEVERTEX) LPAREN genericLiteralArgument COMMA stringArgument RPAREN +structureVertexLiteral + : K_NEW? (K_VERTEX | K_REFERENCEVERTEX) LPAREN genericArgument COMMA stringArgument RPAREN ; traversalStrategy @@ -963,7 +963,7 @@ traversalStrategy ; configuration - : (keyword | nakedKey) COLON genericLiteralArgument + : (keyword | nakedKey) COLON genericArgument ; traversalScope @@ -1129,49 +1129,49 @@ traversalBiFunction ; traversalPredicate_eq - : (K_P DOT K_EQ | K_EQ) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_EQ | K_EQ) LPAREN genericArgument RPAREN ; traversalPredicate_neq - : (K_P DOT K_NEQ | K_NEQ) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_NEQ | K_NEQ) LPAREN genericArgument RPAREN ; traversalPredicate_lt - : (K_P DOT K_LT | K_LT) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_LT | K_LT) LPAREN genericArgument RPAREN ; traversalPredicate_lte - : (K_P DOT K_LTE | K_LTE) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_LTE | K_LTE) LPAREN genericArgument RPAREN ; traversalPredicate_gt - : (K_P DOT K_GT | K_GT) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_GT | K_GT) LPAREN genericArgument RPAREN ; traversalPredicate_gte - : (K_P DOT K_GTE | K_GTE) LPAREN genericLiteralArgument RPAREN + : (K_P DOT K_GTE | K_GTE) LPAREN genericArgument RPAREN ; traversalPredicate_inside - : (K_P DOT K_INSIDE | K_INSIDE) LPAREN genericLiteralArgument COMMA genericLiteralArgument RPAREN + : (K_P DOT K_INSIDE | K_INSIDE) LPAREN genericArgument COMMA genericArgument RPAREN ; traversalPredicate_outside - : (K_P DOT K_OUTSIDE | K_OUTSIDE) LPAREN genericLiteralArgument COMMA genericLiteralArgument RPAREN + : (K_P DOT K_OUTSIDE | K_OUTSIDE) LPAREN genericArgument COMMA genericArgument RPAREN ; traversalPredicate_between - : (K_P DOT K_BETWEEN | K_BETWEEN) LPAREN genericLiteralArgument COMMA genericLiteralArgument RPAREN + : (K_P DOT K_BETWEEN | K_BETWEEN) LPAREN genericArgument COMMA genericArgument RPAREN ; traversalPredicate_within : (K_P DOT K_WITHIN | K_WITHIN) LPAREN RPAREN - | (K_P DOT K_WITHIN | K_WITHIN) LPAREN genericLiteralListArgument RPAREN + | (K_P DOT K_WITHIN | K_WITHIN) LPAREN genericArgumentVarargs RPAREN ; traversalPredicate_without : (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN RPAREN - | (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN genericLiteralListArgument RPAREN + | (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN genericArgumentVarargs RPAREN ; traversalPredicate_not @@ -1469,43 +1469,40 @@ stringNullableArgument | variable ; +stringNullableArgumentVarargs + : (stringNullableArgument (COMMA stringNullableArgument)*)? + ; + dateArgument : dateLiteral | variable ; -genericLiteralArgument +genericArgument : genericLiteral | variable ; -genericLiteralListArgument - : genericLiteralList - | variable +genericArgumentVarargs + : (genericArgument (COMMA genericArgument)*)? ; -genericLiteralMapArgument - : genericLiteralMap +genericMapArgument + : genericMapLiteral | variable ; -genericLiteralMapNullable - : genericLiteralMap - | nullLiteral - ; - -genericLiteralMapNullableArgument - : genericLiteralMap - | nullLiteral +genericMapNullableArgument + : genericMapNullableLiteral | variable ; structureVertexArgument - : structureVertex + : structureVertexLiteral | variable ; -traversalStrategyList +traversalStrategyVarargs : traversalStrategyExpr? ; @@ -1529,11 +1526,11 @@ nestedTraversalExpr : nestedTraversal (COMMA nestedTraversal)* ; -genericLiteralVarargs - : (genericLiteralArgument (COMMA genericLiteralArgument)*)? +genericCollectionLiteral + : LBRACK (genericLiteral (COMMA genericLiteral)*)? RBRACK ; -genericLiteralList +genericLiteralVarargs : genericLiteralExpr? ; @@ -1541,36 +1538,24 @@ genericLiteralExpr : genericLiteral (COMMA genericLiteral)* ; -genericLiteralRange +genericMapNullableLiteral + : genericMapLiteral + | nullLiteral + ; + +genericRangeLiteral : integerLiteral DOT DOT integerLiteral | stringLiteral DOT DOT stringLiteral ; -genericLiteralSet +genericSetLiteral : LBRACE (genericLiteral (COMMA genericLiteral)*)? RBRACE ; -genericLiteralCollection - : LBRACK (genericLiteral (COMMA genericLiteral)*)? RBRACK - ; - -stringLiteralVarargs +stringNullableLiteralVarargs : (stringNullableLiteral (COMMA stringNullableLiteral)*)? ; -stringLiteralVarargsArgument - : (stringNullableArgument (COMMA stringNullableArgument)*)? - ; - -stringLiteralList - : stringLiteralExpr? - | LBRACK stringLiteralExpr? RBRACK - ; - -stringLiteralExpr - : stringNullableLiteral (COMMA stringNullableLiteral)* - ; - genericLiteral : numericLiteral | booleanLiteral @@ -1584,16 +1569,16 @@ genericLiteral | traversalMerge | traversalPick | traversalDT - | structureVertex - | genericLiteralSet - | genericLiteralCollection - | genericLiteralRange + | structureVertexLiteral + | genericSetLiteral + | genericCollectionLiteral + | genericRangeLiteral | nestedTraversal | terminatedTraversal - | genericLiteralMap + | genericMapLiteral ; -genericLiteralMap +genericMapLiteral : LBRACK COLON RBRACK | LBRACK mapEntry (COMMA mapEntry)* RBRACK ; @@ -1601,9 +1586,9 @@ genericLiteralMap mapKey : (LPAREN traversalT RPAREN | traversalTLong) | (LPAREN traversalDirection RPAREN | traversalDirectionLong) - | (LPAREN genericLiteralSet RPAREN | genericLiteralSet) - | (LPAREN genericLiteralCollection RPAREN | genericLiteralCollection) - | (LPAREN genericLiteralMap RPAREN | genericLiteralMap) + | (LPAREN genericSetLiteral RPAREN | genericSetLiteral) + | (LPAREN genericCollectionLiteral RPAREN | genericCollectionLiteral) + | (LPAREN genericMapLiteral RPAREN | genericMapLiteral) | (LPAREN stringLiteral RPAREN | stringLiteral) | (LPAREN numericLiteral RPAREN | numericLiteral) | (keyword | nakedKey)