aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEduardo Julian2016-03-06 23:29:06 -0400
committerEduardo Julian2016-03-06 23:29:06 -0400
commitd073708c2d6a7f186d42db4263769f818f9df934 (patch)
tree69bb95c71385bb8f1e8e860c91c8edcba7b06333 /src
parenta97ad4c73cb30176696b3ddf65dc2de62aafb2c6 (diff)
- Fixed an error when parsing annotations syntax, in which the wrong data-structures were being returned.
- Fixed an error when generating class signatures in annotations in .class files, in which the class-name was being generated instead.
Diffstat (limited to 'src')
-rw-r--r--src/lux/analyser/parser.clj2
-rw-r--r--src/lux/compiler/host.clj2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/lux/analyser/parser.clj b/src/lux/analyser/parser.clj
index dca09bb61..c1b8e2368 100644
--- a/src/lux/analyser/parser.clj
+++ b/src/lux/analyser/parser.clj
@@ -139,7 +139,7 @@
[_ (&/$FormS (&/$Cons [_ (&/$TextS ann-name)] (&/$Cons [_ (&/$RecordS ann-params)] (&/$Nil))))]
(|do [=ann-params (&/map% parse-ann-param ann-params)]
(return {:name ann-name
- :params ann-params}))
+ :params =ann-params}))
_
(fail (str "[Analyser Error] Invalid annotation: " (&/show-ast ast)))))
diff --git a/src/lux/compiler/host.clj b/src/lux/compiler/host.clj
index 67dcfbd5c..88cb1ee6e 100644
--- a/src/lux/compiler/host.clj
+++ b/src/lux/compiler/host.clj
@@ -427,7 +427,7 @@
(return nil)))
(defn ^:private compile-annotation [writer ann]
- (doto ^AnnotationVisitor (.visitAnnotation writer (&host-generics/->bytecode-class-name (:name ann)) true)
+ (doto ^AnnotationVisitor (.visitAnnotation writer (&host-generics/->type-signature (:name ann)) true)
(-> (.visit param-name param-value)
(->> (|let [[param-name param-value] param])
(doseq [param (&/->seq (:params ann))])))