http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/42129585/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs index 0a3856e..c9ced7b 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs @@ -45,7 +45,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> V(params object[] vertexIdsOrElements) { - return new GraphTraversal<object, Vertex>().V(vertexIdsOrElements); + return vertexIdsOrElements.Length == 0 + ? new GraphTraversal<object, Vertex>().V() + : new GraphTraversal<object, Vertex>().V(vertexIdsOrElements); } /// <summary> @@ -53,7 +55,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> AddE(Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) { - return new GraphTraversal<object, Edge>().AddE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); + return propertyKeyValues.Length == 0 + ? new GraphTraversal<object, Edge>().AddE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey) + : new GraphTraversal<object, Edge>().AddE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); } /// <summary> @@ -61,7 +65,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> AddE(string edgeLabel) { - return new GraphTraversal<object, Edge>().AddE(edgeLabel); + return new GraphTraversal<object, Edge>().AddE(edgeLabel); } /// <summary> @@ -69,7 +73,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> AddInE(string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) { - return new GraphTraversal<object, Edge>().AddInE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); + return propertyKeyValues.Length == 0 + ? new GraphTraversal<object, Edge>().AddInE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey) + : new GraphTraversal<object, Edge>().AddInE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); } /// <summary> @@ -77,7 +83,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> AddOutE(string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) { - return new GraphTraversal<object, Edge>().AddOutE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); + return propertyKeyValues.Length == 0 + ? new GraphTraversal<object, Edge>().AddOutE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey) + : new GraphTraversal<object, Edge>().AddOutE(firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); } /// <summary> @@ -85,7 +93,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> AddV() { - return new GraphTraversal<object, Vertex>().AddV(); + return new GraphTraversal<object, Vertex>().AddV(); } /// <summary> @@ -93,7 +101,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> AddV(params object[] propertyKeyValues) { - return new GraphTraversal<object, Vertex>().AddV(propertyKeyValues); + return propertyKeyValues.Length == 0 + ? new GraphTraversal<object, Vertex>().AddV() + : new GraphTraversal<object, Vertex>().AddV(propertyKeyValues); } /// <summary> @@ -101,7 +111,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> AddV(string vertexLabel) { - return new GraphTraversal<object, Vertex>().AddV(vertexLabel); + return new GraphTraversal<object, Vertex>().AddV(vertexLabel); } /// <summary> @@ -109,7 +119,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Aggregate(string sideEffectKey) { - return new GraphTraversal<object, object>().Aggregate(sideEffectKey); + return new GraphTraversal<object, object>().Aggregate(sideEffectKey); } /// <summary> @@ -117,7 +127,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> And(params ITraversal[] andTraversals) { - return new GraphTraversal<object, object>().And(andTraversals); + return andTraversals.Length == 0 + ? new GraphTraversal<object, object>().And() + : new GraphTraversal<object, object>().And(andTraversals); } /// <summary> @@ -125,7 +137,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> As(string label, params string[] labels) { - return new GraphTraversal<object, object>().As(label, labels); + return labels.Length == 0 + ? new GraphTraversal<object, object>().As(label) + : new GraphTraversal<object, object>().As(label, labels); } /// <summary> @@ -133,7 +147,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Barrier() { - return new GraphTraversal<object, object>().Barrier(); + return new GraphTraversal<object, object>().Barrier(); } /// <summary> @@ -141,7 +155,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Barrier(object barrierConsumer) { - return new GraphTraversal<object, object>().Barrier(barrierConsumer); + return new GraphTraversal<object, object>().Barrier(barrierConsumer); } /// <summary> @@ -149,7 +163,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Barrier(int maxBarrierSize) { - return new GraphTraversal<object, object>().Barrier(maxBarrierSize); + return new GraphTraversal<object, object>().Barrier(maxBarrierSize); } /// <summary> @@ -157,7 +171,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> Both(params string[] edgeLabels) { - return new GraphTraversal<object, Vertex>().Both(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Vertex>().Both() + : new GraphTraversal<object, Vertex>().Both(edgeLabels); } /// <summary> @@ -165,7 +181,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> BothE(params string[] edgeLabels) { - return new GraphTraversal<object, Edge>().BothE(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Edge>().BothE() + : new GraphTraversal<object, Edge>().BothE(edgeLabels); } /// <summary> @@ -173,7 +191,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> BothV() { - return new GraphTraversal<object, Vertex>().BothV(); + return new GraphTraversal<object, Vertex>().BothV(); } /// <summary> @@ -181,7 +199,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Branch<E2>(object function) { - return new GraphTraversal<object, E2>().Branch<E2>(function); + return new GraphTraversal<object, E2>().Branch<E2>(function); } /// <summary> @@ -189,7 +207,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Branch<E2>(ITraversal traversalFunction) { - return new GraphTraversal<object, E2>().Branch<E2>(traversalFunction); + return new GraphTraversal<object, E2>().Branch<E2>(traversalFunction); } /// <summary> @@ -197,7 +215,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Cap<E2>(string sideEffectKey, params string[] sideEffectKeys) { - return new GraphTraversal<object, E2>().Cap<E2>(sideEffectKey, sideEffectKeys); + return sideEffectKeys.Length == 0 + ? new GraphTraversal<object, E2>().Cap<E2>(sideEffectKey) + : new GraphTraversal<object, E2>().Cap<E2>(sideEffectKey, sideEffectKeys); } /// <summary> @@ -205,7 +225,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(object choiceFunction) { - return new GraphTraversal<object, E2>().Choose<E2>(choiceFunction); + return new GraphTraversal<object, E2>().Choose<E2>(choiceFunction); } /// <summary> @@ -213,7 +233,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice); + return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice); } /// <summary> @@ -221,7 +241,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice, falseChoice); + return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice, falseChoice); } /// <summary> @@ -229,7 +249,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalFunction) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalFunction); + return new GraphTraversal<object, E2>().Choose<E2>(traversalFunction); } /// <summary> @@ -237,7 +257,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice); + return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice); } /// <summary> @@ -245,7 +265,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice, falseChoice); + return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice, falseChoice); } /// <summary> @@ -253,7 +273,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Coalesce<E2>(params ITraversal[] traversals) { - return new GraphTraversal<object, E2>().Coalesce<E2>(traversals); + return traversals.Length == 0 + ? new GraphTraversal<object, E2>().Coalesce<E2>() + : new GraphTraversal<object, E2>().Coalesce<E2>(traversals); } /// <summary> @@ -261,7 +283,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Coin(double probability) { - return new GraphTraversal<object, object>().Coin(probability); + return new GraphTraversal<object, object>().Coin(probability); } /// <summary> @@ -269,7 +291,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Constant<E2>(object a) { - return new GraphTraversal<object, E2>().Constant<E2>(a); + return new GraphTraversal<object, E2>().Constant<E2>(a); } /// <summary> @@ -277,7 +299,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, long> Count() { - return new GraphTraversal<object, long>().Count(); + return new GraphTraversal<object, long>().Count(); } /// <summary> @@ -285,7 +307,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, long> Count(Scope scope) { - return new GraphTraversal<object, long>().Count(scope); + return new GraphTraversal<object, long>().Count(scope); } /// <summary> @@ -293,7 +315,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> CyclicPath() { - return new GraphTraversal<object, object>().CyclicPath(); + return new GraphTraversal<object, object>().CyclicPath(); } /// <summary> @@ -301,7 +323,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Dedup(Scope scope, params string[] dedupLabels) { - return new GraphTraversal<object, object>().Dedup(scope, dedupLabels); + return dedupLabels.Length == 0 + ? new GraphTraversal<object, object>().Dedup(scope) + : new GraphTraversal<object, object>().Dedup(scope, dedupLabels); } /// <summary> @@ -309,7 +333,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Dedup(params string[] dedupLabels) { - return new GraphTraversal<object, object>().Dedup(dedupLabels); + return dedupLabels.Length == 0 + ? new GraphTraversal<object, object>().Dedup() + : new GraphTraversal<object, object>().Dedup(dedupLabels); } /// <summary> @@ -317,7 +343,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Drop() { - return new GraphTraversal<object, object>().Drop(); + return new GraphTraversal<object, object>().Drop(); } /// <summary> @@ -325,7 +351,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Emit() { - return new GraphTraversal<object, object>().Emit(); + return new GraphTraversal<object, object>().Emit(); } /// <summary> @@ -333,7 +359,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Emit(TraversalPredicate emitPredicate) { - return new GraphTraversal<object, object>().Emit(emitPredicate); + return new GraphTraversal<object, object>().Emit(emitPredicate); } /// <summary> @@ -341,7 +367,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Emit(ITraversal emitTraversal) { - return new GraphTraversal<object, object>().Emit(emitTraversal); + return new GraphTraversal<object, object>().Emit(emitTraversal); } /// <summary> @@ -349,7 +375,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Filter(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Filter(predicate); + return new GraphTraversal<object, object>().Filter(predicate); } /// <summary> @@ -357,7 +383,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Filter(ITraversal filterTraversal) { - return new GraphTraversal<object, object>().Filter(filterTraversal); + return new GraphTraversal<object, object>().Filter(filterTraversal); } /// <summary> @@ -365,7 +391,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> FlatMap<E2>(object function) { - return new GraphTraversal<object, E2>().FlatMap<E2>(function); + return new GraphTraversal<object, E2>().FlatMap<E2>(function); } /// <summary> @@ -373,7 +399,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> FlatMap<E2>(ITraversal flatMapTraversal) { - return new GraphTraversal<object, E2>().FlatMap<E2>(flatMapTraversal); + return new GraphTraversal<object, E2>().FlatMap<E2>(flatMapTraversal); } /// <summary> @@ -381,7 +407,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IList<E2>> Fold<E2>() { - return new GraphTraversal<object, E2>().Fold(); + return new GraphTraversal<object, E2>().Fold(); } /// <summary> @@ -389,7 +415,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Fold<E2>(object seed, object foldFunction) { - return new GraphTraversal<object, E2>().Fold<E2>(seed, foldFunction); + return new GraphTraversal<object, E2>().Fold<E2>(seed, foldFunction); } /// <summary> @@ -397,7 +423,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<K, V>> Group<K, V>() { - return new GraphTraversal<object, IDictionary<K, V>>().Group<K, V>(); + return new GraphTraversal<object, IDictionary<K, V>>().Group<K, V>(); } /// <summary> @@ -405,7 +431,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Group(string sideEffectKey) { - return new GraphTraversal<object, object>().Group(sideEffectKey); + return new GraphTraversal<object, object>().Group(sideEffectKey); } /// <summary> @@ -413,7 +439,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<K, long>> GroupCount<K>() { - return new GraphTraversal<object, IDictionary<K, long>>().GroupCount<K>(); + return new GraphTraversal<object, IDictionary<K, long>>().GroupCount<K>(); } /// <summary> @@ -421,7 +447,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> GroupCount(string sideEffectKey) { - return new GraphTraversal<object, object>().GroupCount(sideEffectKey); + return new GraphTraversal<object, object>().GroupCount(sideEffectKey); } /// <summary> @@ -429,7 +455,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<K, V>> GroupV3d0<K, V>() { - return new GraphTraversal<object, IDictionary<K, V>>().GroupV3d0<K, V>(); + return new GraphTraversal<object, IDictionary<K, V>>().GroupV3d0<K, V>(); } /// <summary> @@ -437,7 +463,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> GroupV3d0(string sideEffectKey) { - return new GraphTraversal<object, object>().GroupV3d0(sideEffectKey); + return new GraphTraversal<object, object>().GroupV3d0(sideEffectKey); } /// <summary> @@ -445,7 +471,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string propertyKey) { - return new GraphTraversal<object, object>().Has(propertyKey); + return new GraphTraversal<object, object>().Has(propertyKey); } /// <summary> @@ -453,7 +479,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string propertyKey, object value) { - return new GraphTraversal<object, object>().Has(propertyKey, value); + return new GraphTraversal<object, object>().Has(propertyKey, value); } /// <summary> @@ -461,7 +487,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(propertyKey, predicate); + return new GraphTraversal<object, object>().Has(propertyKey, predicate); } /// <summary> @@ -469,7 +495,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string label, string propertyKey, object value) { - return new GraphTraversal<object, object>().Has(label, propertyKey, value); + return new GraphTraversal<object, object>().Has(label, propertyKey, value); } /// <summary> @@ -477,7 +503,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string label, string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(label, propertyKey, predicate); + return new GraphTraversal<object, object>().Has(label, propertyKey, predicate); } /// <summary> @@ -485,7 +511,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(string propertyKey, ITraversal propertyTraversal) { - return new GraphTraversal<object, object>().Has(propertyKey, propertyTraversal); + return new GraphTraversal<object, object>().Has(propertyKey, propertyTraversal); } /// <summary> @@ -493,7 +519,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(T accessor, object value) { - return new GraphTraversal<object, object>().Has(accessor, value); + return new GraphTraversal<object, object>().Has(accessor, value); } /// <summary> @@ -501,7 +527,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(T accessor, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(accessor, predicate); + return new GraphTraversal<object, object>().Has(accessor, predicate); } /// <summary> @@ -509,7 +535,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Has(T accessor, ITraversal propertyTraversal) { - return new GraphTraversal<object, object>().Has(accessor, propertyTraversal); + return new GraphTraversal<object, object>().Has(accessor, propertyTraversal); } /// <summary> @@ -517,7 +543,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasId(object id, params object[] otherIds) { - return new GraphTraversal<object, object>().HasId(id, otherIds); + return otherIds.Length == 0 + ? new GraphTraversal<object, object>().HasId(id) + : new GraphTraversal<object, object>().HasId(id, otherIds); } /// <summary> @@ -525,7 +553,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasId(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasId(predicate); + return new GraphTraversal<object, object>().HasId(predicate); } /// <summary> @@ -533,7 +561,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasKey(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasKey(predicate); + return new GraphTraversal<object, object>().HasKey(predicate); } /// <summary> @@ -541,7 +569,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasKey(string label, params string[] otherLabels) { - return new GraphTraversal<object, object>().HasKey(label, otherLabels); + return otherLabels.Length == 0 + ? new GraphTraversal<object, object>().HasKey(label) + : new GraphTraversal<object, object>().HasKey(label, otherLabels); } /// <summary> @@ -549,7 +579,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasLabel(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasLabel(predicate); + return new GraphTraversal<object, object>().HasLabel(predicate); } /// <summary> @@ -557,7 +587,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasLabel(string label, params string[] otherLabels) { - return new GraphTraversal<object, object>().HasLabel(label, otherLabels); + return otherLabels.Length == 0 + ? new GraphTraversal<object, object>().HasLabel(label) + : new GraphTraversal<object, object>().HasLabel(label, otherLabels); } /// <summary> @@ -565,7 +597,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasNot(string propertyKey) { - return new GraphTraversal<object, object>().HasNot(propertyKey); + return new GraphTraversal<object, object>().HasNot(propertyKey); } /// <summary> @@ -573,7 +605,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasValue(object value, params object[] values) { - return new GraphTraversal<object, object>().HasValue(value, values); + return values.Length == 0 + ? new GraphTraversal<object, object>().HasValue(value) + : new GraphTraversal<object, object>().HasValue(value, values); } /// <summary> @@ -581,7 +615,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> HasValue(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasValue(predicate); + return new GraphTraversal<object, object>().HasValue(predicate); } /// <summary> @@ -589,7 +623,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Id() { - return new GraphTraversal<object, object>().Id(); + return new GraphTraversal<object, object>().Id(); } /// <summary> @@ -597,7 +631,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Identity() { - return new GraphTraversal<object, object>().Identity(); + return new GraphTraversal<object, object>().Identity(); } /// <summary> @@ -605,7 +639,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> In(params string[] edgeLabels) { - return new GraphTraversal<object, Vertex>().In(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Vertex>().In() + : new GraphTraversal<object, Vertex>().In(edgeLabels); } /// <summary> @@ -613,7 +649,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> InE(params string[] edgeLabels) { - return new GraphTraversal<object, Edge>().InE(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Edge>().InE() + : new GraphTraversal<object, Edge>().InE(edgeLabels); } /// <summary> @@ -621,7 +659,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> InV() { - return new GraphTraversal<object, Vertex>().InV(); + return new GraphTraversal<object, Vertex>().InV(); } /// <summary> @@ -629,7 +667,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Inject(params object[] injections) { - return new GraphTraversal<object, object>().Inject(injections); + return injections.Length == 0 + ? new GraphTraversal<object, object>().Inject() + : new GraphTraversal<object, object>().Inject(injections); } /// <summary> @@ -637,7 +677,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Is(object value) { - return new GraphTraversal<object, object>().Is(value); + return new GraphTraversal<object, object>().Is(value); } /// <summary> @@ -645,7 +685,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Is(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Is(predicate); + return new GraphTraversal<object, object>().Is(predicate); } /// <summary> @@ -653,7 +693,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, string> Key() { - return new GraphTraversal<object, string>().Key(); + return new GraphTraversal<object, string>().Key(); } /// <summary> @@ -661,7 +701,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, string> Label() { - return new GraphTraversal<object, string>().Label(); + return new GraphTraversal<object, string>().Label(); } /// <summary> @@ -669,7 +709,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Limit<E2>(Scope scope, long limit) { - return new GraphTraversal<object, E2>().Limit<E2>(scope, limit); + return new GraphTraversal<object, E2>().Limit<E2>(scope, limit); } /// <summary> @@ -677,7 +717,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Limit<E2>(long limit) { - return new GraphTraversal<object, E2>().Limit(limit); + return new GraphTraversal<object, E2>().Limit(limit); } /// <summary> @@ -685,7 +725,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Local<E2>(ITraversal localTraversal) { - return new GraphTraversal<object, E2>().Local<E2>(localTraversal); + return new GraphTraversal<object, E2>().Local<E2>(localTraversal); } /// <summary> @@ -693,7 +733,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, int> Loops() { - return new GraphTraversal<object, int>().Loops(); + return new GraphTraversal<object, int>().Loops(); } /// <summary> @@ -701,7 +741,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Map<E2>(object function) { - return new GraphTraversal<object, E2>().Map<E2>(function); + return new GraphTraversal<object, E2>().Map<E2>(function); } /// <summary> @@ -709,7 +749,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Map<E2>(ITraversal mapTraversal) { - return new GraphTraversal<object, E2>().Map<E2>(mapTraversal); + return new GraphTraversal<object, E2>().Map<E2>(mapTraversal); } /// <summary> @@ -717,7 +757,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> MapKeys<E2>() { - return new GraphTraversal<object, E2>().MapKeys<E2>(); + return new GraphTraversal<object, E2>().MapKeys<E2>(); } /// <summary> @@ -725,7 +765,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> MapValues<E2>() { - return new GraphTraversal<object, E2>().MapValues<E2>(); + return new GraphTraversal<object, E2>().MapValues<E2>(); } /// <summary> @@ -733,7 +773,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> Match<E2>(params ITraversal[] matchTraversals) { - return new GraphTraversal<object, IDictionary<string, E2>>().Match<E2>(matchTraversals); + return matchTraversals.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().Match<E2>() + : new GraphTraversal<object, IDictionary<string, E2>>().Match<E2>(matchTraversals); } /// <summary> @@ -741,7 +783,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Max<E2>() { - return new GraphTraversal<object, E2>().Max<E2>(); + return new GraphTraversal<object, E2>().Max<E2>(); } /// <summary> @@ -749,7 +791,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Max<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Max<E2>(scope); + return new GraphTraversal<object, E2>().Max<E2>(scope); } /// <summary> @@ -757,7 +799,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Mean<E2>() { - return new GraphTraversal<object, E2>().Mean<E2>(); + return new GraphTraversal<object, E2>().Mean<E2>(); } /// <summary> @@ -765,7 +807,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Mean<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Mean<E2>(scope); + return new GraphTraversal<object, E2>().Mean<E2>(scope); } /// <summary> @@ -773,7 +815,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Min<E2>() { - return new GraphTraversal<object, E2>().Min<E2>(); + return new GraphTraversal<object, E2>().Min<E2>(); } /// <summary> @@ -781,7 +823,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Min<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Min<E2>(scope); + return new GraphTraversal<object, E2>().Min<E2>(scope); } /// <summary> @@ -789,7 +831,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Not(ITraversal notTraversal) { - return new GraphTraversal<object, object>().Not(notTraversal); + return new GraphTraversal<object, object>().Not(notTraversal); } /// <summary> @@ -797,7 +839,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Optional<E2>(ITraversal optionalTraversal) { - return new GraphTraversal<object, E2>().Optional<E2>(optionalTraversal); + return new GraphTraversal<object, E2>().Optional<E2>(optionalTraversal); } /// <summary> @@ -805,7 +847,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Or(params ITraversal[] orTraversals) { - return new GraphTraversal<object, object>().Or(orTraversals); + return orTraversals.Length == 0 + ? new GraphTraversal<object, object>().Or() + : new GraphTraversal<object, object>().Or(orTraversals); } /// <summary> @@ -813,7 +857,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Order() { - return new GraphTraversal<object, object>().Order(); + return new GraphTraversal<object, object>().Order(); } /// <summary> @@ -821,7 +865,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Order(Scope scope) { - return new GraphTraversal<object, object>().Order(scope); + return new GraphTraversal<object, object>().Order(scope); } /// <summary> @@ -829,7 +873,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> OtherV() { - return new GraphTraversal<object, Vertex>().OtherV(); + return new GraphTraversal<object, Vertex>().OtherV(); } /// <summary> @@ -837,7 +881,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> Out(params string[] edgeLabels) { - return new GraphTraversal<object, Vertex>().Out(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Vertex>().Out() + : new GraphTraversal<object, Vertex>().Out(edgeLabels); } /// <summary> @@ -845,7 +891,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> OutE(params string[] edgeLabels) { - return new GraphTraversal<object, Edge>().OutE(edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Edge>().OutE() + : new GraphTraversal<object, Edge>().OutE(edgeLabels); } /// <summary> @@ -853,7 +901,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> OutV() { - return new GraphTraversal<object, Vertex>().OutV(); + return new GraphTraversal<object, Vertex>().OutV(); } /// <summary> @@ -861,7 +909,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Path> Path() { - return new GraphTraversal<object, Path>().Path(); + return new GraphTraversal<object, Path>().Path(); } /// <summary> @@ -869,7 +917,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> Project<E2>(string projectKey, params string[] projectKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().Project<E2>(projectKey, projectKeys); + return projectKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().Project<E2>(projectKey) + : new GraphTraversal<object, IDictionary<string, E2>>().Project<E2>(projectKey, projectKeys); } /// <summary> @@ -877,7 +927,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Properties<E2>(params string[] propertyKeys) { - return new GraphTraversal<object, E2>().Properties<E2>(propertyKeys); + return propertyKeys.Length == 0 + ? new GraphTraversal<object, E2>().Properties<E2>() + : new GraphTraversal<object, E2>().Properties<E2>(propertyKeys); } /// <summary> @@ -885,7 +937,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Property(Cardinality cardinality, object key, object value, params object[] keyValues) { - return new GraphTraversal<object, object>().Property(cardinality, key, value, keyValues); + return keyValues.Length == 0 + ? new GraphTraversal<object, object>().Property(cardinality, key, value) + : new GraphTraversal<object, object>().Property(cardinality, key, value, keyValues); } /// <summary> @@ -893,7 +947,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Property(object key, object value, params object[] keyValues) { - return new GraphTraversal<object, object>().Property(key, value, keyValues); + return keyValues.Length == 0 + ? new GraphTraversal<object, object>().Property(key, value) + : new GraphTraversal<object, object>().Property(key, value, keyValues); } /// <summary> @@ -901,7 +957,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> PropertyMap<E2>(params string[] propertyKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().PropertyMap<E2>(propertyKeys); + return propertyKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().PropertyMap<E2>() + : new GraphTraversal<object, IDictionary<string, E2>>().PropertyMap<E2>(propertyKeys); } /// <summary> @@ -909,7 +967,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Range<E2>(Scope scope, long low, long high) { - return new GraphTraversal<object, E2>().Range<E2>(scope, low, high); + return new GraphTraversal<object, E2>().Range<E2>(scope, low, high); } /// <summary> @@ -917,7 +975,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Range<E2>(long low, long high) { - return new GraphTraversal<object, E2>().Range(low, high); + return new GraphTraversal<object, E2>().Range(low, high); } /// <summary> @@ -925,7 +983,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Repeat(ITraversal traversal) { - return new GraphTraversal<object, object>().Repeat(traversal); + return new GraphTraversal<object, object>().Repeat(traversal); } /// <summary> @@ -933,7 +991,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Sack<E2>() { - return new GraphTraversal<object, E2>().Sack<E2>(); + return new GraphTraversal<object, E2>().Sack<E2>(); } /// <summary> @@ -941,7 +999,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Sack(object sackOperator) { - return new GraphTraversal<object, object>().Sack(sackOperator); + return new GraphTraversal<object, object>().Sack(sackOperator); } /// <summary> @@ -949,7 +1007,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Sack(object sackOperator, string elementPropertyKey) { - return new GraphTraversal<object, object>().Sack(sackOperator, elementPropertyKey); + return new GraphTraversal<object, object>().Sack(sackOperator, elementPropertyKey); } /// <summary> @@ -957,7 +1015,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Sample(Scope scope, int amountToSample) { - return new GraphTraversal<object, object>().Sample(scope, amountToSample); + return new GraphTraversal<object, object>().Sample(scope, amountToSample); } /// <summary> @@ -965,7 +1023,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Sample(int amountToSample) { - return new GraphTraversal<object, object>().Sample(amountToSample); + return new GraphTraversal<object, object>().Sample(amountToSample); } /// <summary> @@ -973,7 +1031,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, ICollection<E2>> Select<E2>(Column column) { - return new GraphTraversal<object, ICollection<E2>>().Select<E2>(column); + return new GraphTraversal<object, ICollection<E2>>().Select<E2>(column); } /// <summary> @@ -981,7 +1039,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Select<E2>(Pop pop, string selectKey) { - return new GraphTraversal<object, E2>().Select<E2>(pop, selectKey); + return new GraphTraversal<object, E2>().Select<E2>(pop, selectKey); } /// <summary> @@ -989,7 +1047,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> Select<E2>(Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(pop, selectKey1, selectKey2, otherSelectKeys); + return otherSelectKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(pop, selectKey1, selectKey2) + : new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(pop, selectKey1, selectKey2, otherSelectKeys); } /// <summary> @@ -997,7 +1057,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Select<E2>(string selectKey) { - return new GraphTraversal<object, E2>().Select<E2>(selectKey); + return new GraphTraversal<object, E2>().Select<E2>(selectKey); } /// <summary> @@ -1005,7 +1065,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> Select<E2>(string selectKey1, string selectKey2, params string[] otherSelectKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(selectKey1, selectKey2, otherSelectKeys); + return otherSelectKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(selectKey1, selectKey2) + : new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(selectKey1, selectKey2, otherSelectKeys); } /// <summary> @@ -1013,7 +1075,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> SideEffect(object consumer) { - return new GraphTraversal<object, object>().SideEffect(consumer); + return new GraphTraversal<object, object>().SideEffect(consumer); } /// <summary> @@ -1021,7 +1083,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> SideEffect(ITraversal sideEffectTraversal) { - return new GraphTraversal<object, object>().SideEffect(sideEffectTraversal); + return new GraphTraversal<object, object>().SideEffect(sideEffectTraversal); } /// <summary> @@ -1029,7 +1091,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> SimplePath() { - return new GraphTraversal<object, object>().SimplePath(); + return new GraphTraversal<object, object>().SimplePath(); } /// <summary> @@ -1037,7 +1099,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Store(string sideEffectKey) { - return new GraphTraversal<object, object>().Store(sideEffectKey); + return new GraphTraversal<object, object>().Store(sideEffectKey); } /// <summary> @@ -1045,7 +1107,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> Subgraph(string sideEffectKey) { - return new GraphTraversal<object, Edge>().Subgraph(sideEffectKey); + return new GraphTraversal<object, Edge>().Subgraph(sideEffectKey); } /// <summary> @@ -1053,7 +1115,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Sum<E2>() { - return new GraphTraversal<object, E2>().Sum<E2>(); + return new GraphTraversal<object, E2>().Sum<E2>(); } /// <summary> @@ -1061,7 +1123,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Sum<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Sum<E2>(scope); + return new GraphTraversal<object, E2>().Sum<E2>(scope); } /// <summary> @@ -1069,7 +1131,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Tail<E2>() { - return new GraphTraversal<object, E2>().Tail(); + return new GraphTraversal<object, E2>().Tail(); } /// <summary> @@ -1077,7 +1139,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Tail<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Tail<E2>(scope); + return new GraphTraversal<object, E2>().Tail<E2>(scope); } /// <summary> @@ -1085,7 +1147,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Tail<E2>(Scope scope, long limit) { - return new GraphTraversal<object, E2>().Tail<E2>(scope, limit); + return new GraphTraversal<object, E2>().Tail<E2>(scope, limit); } /// <summary> @@ -1093,7 +1155,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Tail<E2>(long limit) { - return new GraphTraversal<object, E2>().Tail(limit); + return new GraphTraversal<object, E2>().Tail(limit); } /// <summary> @@ -1101,7 +1163,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> TimeLimit(long timeLimit) { - return new GraphTraversal<object, object>().TimeLimit(timeLimit); + return new GraphTraversal<object, object>().TimeLimit(timeLimit); } /// <summary> @@ -1109,7 +1171,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Times(int maxLoops) { - return new GraphTraversal<object, object>().Times(maxLoops); + return new GraphTraversal<object, object>().Times(maxLoops); } /// <summary> @@ -1117,7 +1179,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> To(Direction direction, params string[] edgeLabels) { - return new GraphTraversal<object, Vertex>().To(direction, edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Vertex>().To(direction) + : new GraphTraversal<object, Vertex>().To(direction, edgeLabels); } /// <summary> @@ -1125,7 +1189,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Edge> ToE(Direction direction, params string[] edgeLabels) { - return new GraphTraversal<object, Edge>().ToE(direction, edgeLabels); + return edgeLabels.Length == 0 + ? new GraphTraversal<object, Edge>().ToE(direction) + : new GraphTraversal<object, Edge>().ToE(direction, edgeLabels); } /// <summary> @@ -1133,7 +1199,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, Vertex> ToV(Direction direction) { - return new GraphTraversal<object, Vertex>().ToV(direction); + return new GraphTraversal<object, Vertex>().ToV(direction); } /// <summary> @@ -1141,7 +1207,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Tree<E2>() { - return new GraphTraversal<object, E2>().Tree<E2>(); + return new GraphTraversal<object, E2>().Tree<E2>(); } /// <summary> @@ -1149,7 +1215,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Tree(string sideEffectKey) { - return new GraphTraversal<object, object>().Tree(sideEffectKey); + return new GraphTraversal<object, object>().Tree(sideEffectKey); } /// <summary> @@ -1157,7 +1223,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Unfold<E2>() { - return new GraphTraversal<object, E2>().Unfold<E2>(); + return new GraphTraversal<object, E2>().Unfold<E2>(); } /// <summary> @@ -1165,7 +1231,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Union<E2>(params ITraversal[] traversals) { - return new GraphTraversal<object, E2>().Union<E2>(traversals); + return traversals.Length == 0 + ? new GraphTraversal<object, E2>().Union<E2>() + : new GraphTraversal<object, E2>().Union<E2>(traversals); } /// <summary> @@ -1173,7 +1241,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Until(TraversalPredicate untilPredicate) { - return new GraphTraversal<object, object>().Until(untilPredicate); + return new GraphTraversal<object, object>().Until(untilPredicate); } /// <summary> @@ -1181,7 +1249,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Until(ITraversal untilTraversal) { - return new GraphTraversal<object, object>().Until(untilTraversal); + return new GraphTraversal<object, object>().Until(untilTraversal); } /// <summary> @@ -1189,7 +1257,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Value<E2>() { - return new GraphTraversal<object, E2>().Value<E2>(); + return new GraphTraversal<object, E2>().Value<E2>(); } /// <summary> @@ -1197,7 +1265,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> ValueMap<E2>(params string[] propertyKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>(propertyKeys); + return propertyKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>() + : new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>(propertyKeys); } /// <summary> @@ -1205,7 +1275,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> ValueMap<E2>(bool includeTokens, params string[] propertyKeys) { - return new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>(includeTokens, propertyKeys); + return propertyKeys.Length == 0 + ? new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>(includeTokens) + : new GraphTraversal<object, IDictionary<string, E2>>().ValueMap<E2>(includeTokens, propertyKeys); } /// <summary> @@ -1213,7 +1285,9 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, E2> Values<E2>(params string[] propertyKeys) { - return new GraphTraversal<object, E2>().Values<E2>(propertyKeys); + return propertyKeys.Length == 0 + ? new GraphTraversal<object, E2>().Values<E2>() + : new GraphTraversal<object, E2>().Values<E2>(propertyKeys); } /// <summary> @@ -1221,7 +1295,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Where(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Where(predicate); + return new GraphTraversal<object, object>().Where(predicate); } /// <summary> @@ -1229,7 +1303,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Where(string startKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Where(startKey, predicate); + return new GraphTraversal<object, object>().Where(startKey, predicate); } /// <summary> @@ -1237,7 +1311,7 @@ namespace Gremlin.Net.Process.Traversal /// </summary> public static GraphTraversal<object, object> Where(ITraversal whereTraversal) { - return new GraphTraversal<object, object>().Where(whereTraversal); + return new GraphTraversal<object, object>().Where(whereTraversal); } }
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/42129585/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs index 30d2209..266e3c6 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs @@ -30,6 +30,18 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration public class BytecodeGenerationTests { [Fact] + public void GraphTraversalStepsShouldUnrollParamsParameters() + { + var g = new Graph().Traversal(); + + var bytecode = g.V().HasLabel("firstLabel", "secondLabel", "thirdLabel").Bytecode; + + Assert.Equal(0, bytecode.SourceInstructions.Count); + Assert.Equal(2, bytecode.StepInstructions.Count); + Assert.Equal(3, bytecode.StepInstructions[1].Arguments.Length); + } + + [Fact] public void g_V_OutXcreatedX() { var g = new Graph().Traversal();
