diff options
author | Eduardo Julian | 2016-03-06 23:29:06 -0400 |
---|---|---|
committer | Eduardo Julian | 2016-03-06 23:29:06 -0400 |
commit | d073708c2d6a7f186d42db4263769f818f9df934 (patch) | |
tree | 69bb95c71385bb8f1e8e860c91c8edcba7b06333 /src | |
parent | a97ad4c73cb30176696b3ddf65dc2de62aafb2c6 (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.clj | 2 | ||||
-rw-r--r-- | src/lux/compiler/host.clj | 2 |
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))]))) |