summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-10-25 21:43:54 +0000
committerRich Hickey <richhickey@gmail.com>2008-10-25 21:43:54 +0000
commit890ec0869e09143587e94d842b423c1d9a58670e (patch)
tree9d55ea4c33b4d1cbab6aeb30b56d030fc0c8bf16 /src
parentb1932d764cbd536c1f6aaeef1277cf862f79395c (diff)
don't count identical param types as problem tie in getMatchingParams, use any
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/Compiler.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index 54846e05..32522079 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -31,6 +31,7 @@ import java.io.*;
import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
+import java.util.Arrays;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
@@ -2017,7 +2018,8 @@ static int getMatchingParams(String methodName, ArrayList<Class[]> paramlists, I
matchIdx = i;
tied = false;
}
- else if(!subsumes(paramlists.get(matchIdx), paramlists.get(i)))
+ else if(!(subsumes(paramlists.get(matchIdx), paramlists.get(i))
+ || Arrays.equals(paramlists.get(matchIdx), paramlists.get(i))))
tied = true;
}
}