You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/08/25 00:49:14 UTC
tinkerpop git commit: found a bug in JavaTranslator around
identifying the correct method during reflection.
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-1278 21865d819 -> f73c93c78
found a bug in JavaTranslator around identifying the correct method during reflection.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f73c93c7
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f73c93c7
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f73c93c7
Branch: refs/heads/TINKERPOP-1278
Commit: f73c93c78eaf2a18b913cc1d207f36294a67194f
Parents: 21865d8
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Aug 24 18:49:07 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Aug 24 18:49:07 2016 -0600
----------------------------------------------------------------------
.../org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f73c93c7/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index 43175f9..c39896c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@ -132,7 +132,12 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
boolean found = true;
for (int i = 0; i < parameters.length; i++) {
if (parameters[i].isVarArgs()) {
- Object[] varArgs = (Object[]) Array.newInstance(parameters[i].getType().getComponentType(), arguments.length - i);
+ final Class<?> parameterClass = parameters[i].getType().getComponentType();
+ if (arguments.length > i && !parameterClass.isAssignableFrom(arguments[i].getClass())) {
+ found = false;
+ break;
+ }
+ Object[] varArgs = (Object[]) Array.newInstance(parameterClass, arguments.length - i);
int counter = 0;
for (int j = i; j < arguments.length; j++) {
varArgs[counter++] = arguments[j];