aboutsummaryrefslogtreecommitdiff
path: root/src/lux/analyser/host.clj
diff options
context:
space:
mode:
authorEduardo Julian2015-12-31 23:43:44 -0400
committerEduardo Julian2015-12-31 23:43:44 -0400
commitcdd083f10aea5effaadf690c92d205c0ea9f8349 (patch)
tree5760dcc3f6b426adba150c4ad2e4163db1d0f0e9 /src/lux/analyser/host.clj
parentf0099384d94a6a424e798f9019e3fad691406e83 (diff)
- Added support for wildcards in generic types.
Diffstat (limited to 'src/lux/analyser/host.clj')
-rw-r--r--src/lux/analyser/host.clj9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj
index cf503f188..0ccfc9a5c 100644
--- a/src/lux/analyser/host.clj
+++ b/src/lux/analyser/host.clj
@@ -459,6 +459,9 @@
(|case gclass
(&/$GenericTypeVar var-name)
"java.lang.Object"
+
+ (&/$GenericWildcard)
+ "java.lang.Object"
(&/$GenericClass name params)
name
@@ -496,6 +499,9 @@
(str "[L" name ";")
(&/$GenericTypeVar var-name)
+ "[Ljava.lang.Object;"
+
+ (&/$GenericWildcard)
"[Ljava.lang.Object;")
))
@@ -525,6 +531,9 @@
(&/$GenericArray param)
(|do [=param (generic-class->type env param)]
(return (&type/Data$ &host-type/array-data-tag (&/|list =param))))
+
+ (&/$GenericWildcard)
+ (return (&type/Ex$ (&/|list) (&type/Bound$ 1)))
))
(defn gen-super-env [class-env supers class-decl]