summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/ProxyHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/ProxyHandler.java')
-rw-r--r--src/jvm/clojure/lang/ProxyHandler.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/ProxyHandler.java b/src/jvm/clojure/lang/ProxyHandler.java
index 832deefa..f670fae3 100644
--- a/src/jvm/clojure/lang/ProxyHandler.java
+++ b/src/jvm/clojure/lang/ProxyHandler.java
@@ -31,6 +31,18 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl
{
if(rt == Void.TYPE)
return null;
+ else if(method.getName().equals("equals"))
+ {
+ return proxy == args[0];
+ }
+ else if(method.getName().equals("hashCode"))
+ {
+ return System.identityHashCode(proxy);
+ }
+ else if(method.getName().equals("toString"))
+ {
+ return "Proxy: " + System.identityHashCode(proxy);
+ }
throw new UnsupportedOperationException();
}
Object ret = fn.applyTo(ArraySeq.create(args));