diff options
author | Eduardo Julian | 2015-10-28 14:09:21 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-10-28 14:09:21 -0400 |
commit | 637c60c384de3299415d1c3fe9633c7c4bc82273 (patch) | |
tree | ac0c8113494948d594ba8c107dfd7b359ee3c6a1 /src/lux/analyser/host.clj | |
parent | 95db55b06d4dc8dbd167ec6f47be4afccb88da92 (diff) |
- Unknown syntax errors now show cursor information.
- Got better generation of types from class-names.
- Fixed a bug when parsing meta-data in cached outputs.
Diffstat (limited to '')
-rw-r--r-- | src/lux/analyser/host.clj | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj index ab3cbf14e..46f4b1f1c 100644 --- a/src/lux/analyser/host.clj +++ b/src/lux/analyser/host.clj @@ -298,7 +298,8 @@ =object (&&/analyse-1+ analyse object) [sub-class sub-params] (ensure-object (&&/expr-type* =object)) (&/$DataT super-class* super-params*) (&host-type/->super-type &type/existential class-loader class sub-class sub-params) - :let [gtype-env (&/fold2 (fn [m g t] (&/Cons$ (&/T g t) m)) + :let [_ (prn '<name> sub-class '-> super-class* (&/|length parent-gvars) (&/|length super-params*)) + gtype-env (&/fold2 (fn [m ^TypeVariable g t] (&/Cons$ (&/T (.getName g) t) m)) (&/|table) parent-gvars super-params*)] @@ -318,7 +319,7 @@ [gret exceptions parent-gvars gvars gargs] (&host/lookup-static-method class-loader class method classes) _ (ensure-catching exceptions) =args (&/map2% (fn [_class _arg] - (&&/analyse-1 analyse (&type/Data$ _class &/Nil$) _arg)) + (&&/analyse-1 analyse (&host-type/class-name->type _class) _arg)) classes args) :let [output-type (&host-type/class->type (cast Class gret))] |