summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-09-15 22:29:00 +0000
committerRich Hickey <richhickey@gmail.com>2008-09-15 22:29:00 +0000
commitf73bf9542f09528ab913da76b6bff661f3583e04 (patch)
treeb3e346da74af0a07a1c69ac8b018381b3c119a73 /src
parentc72a12488f0a65bc13f9b31fee73dc43ea33a70d (diff)
switched to isSynthetic in getMethods
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/Reflector.java20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/jvm/clojure/lang/Reflector.java b/src/jvm/clojure/lang/Reflector.java
index 13c9125d..100fc226 100644
--- a/src/jvm/clojure/lang/Reflector.java
+++ b/src/jvm/clojure/lang/Reflector.java
@@ -291,21 +291,13 @@ static public List getMethods(Class c, int arity, String name, boolean getStatic
ArrayList methods = new ArrayList();
for(int i = 0; i < allmethods.length; i++)
{
- try
+ final Method method = allmethods[i];
+ if(name.equals(method.getName())
+ && Modifier.isStatic(method.getModifiers()) == getStatics
+ && method.getParameterTypes().length == arity
+ && !method.isSynthetic())
{
- if(name.equals(allmethods[i].getName())
- && Modifier.isStatic(allmethods[i].getModifiers()) == getStatics
- && allmethods[i].getParameterTypes().length == arity
- && (!Modifier.isVolatile(allmethods[i].getModifiers())
- || c.getMethod(allmethods[i].getName(), allmethods[i].getParameterTypes())
- .equals(allmethods[i])))
- {
- methods.add(allmethods[i]);
- }
- }
- catch(NoSuchMethodException e)
- {
- throw new RuntimeException(e);
+ methods.add(method);
}
}
if(!getStatics && c.isInterface())