summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-09-01 10:12:33 -0400
committerRich Hickey <richhickey@gmail.com>2009-09-01 10:12:33 -0400
commite45046da8f7fef82157b58af54d1ac6de8e31160 (patch)
treeee0578e51af694fb88458f298c97dde5105c6391
parent946e7af6dfde90eb4392d055be1ebd4bebf07ee8 (diff)
added autohinting to Class in macroexpansion of (.instanceMethodOfClass Classname) calls
-rw-r--r--src/jvm/clojure/lang/Compiler.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index 9d744d70..d6f4b398 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -57,7 +57,7 @@ static final Symbol IMPORT = Symbol.create("clojure.core", "import*");
//static final Symbol INSTANCE = Symbol.create("instance?");
//static final Symbol THISFN = Symbol.create("thisfn");
-//static final Symbol CLASS = Symbol.create("class");
+static final Symbol CLASS = Symbol.create("Class");
static final Symbol NEW = Symbol.create("new");
//static final Symbol UNQUOTE = Symbol.create("unquote");
//static final Symbol UNQUOTE_SPLICING = Symbol.create("unquote-splicing");
@@ -4483,7 +4483,7 @@ public static Object macroexpand1(Object x) throws Exception{
Object target = RT.second(form);
if(HostExpr.maybeClass(target, false) != null)
{
- target = RT.list(IDENTITY, target);
+ target = ((IObj)RT.list(IDENTITY, target)).withMeta(RT.map(RT.TAG_KEY,CLASS));
}
return RT.listStar(DOT, target, meth, form.next().next());
}