aboutsummaryrefslogtreecommitdiff
path: root/src/lux/analyser/host.clj
diff options
context:
space:
mode:
authorEduardo Julian2015-03-01 23:39:58 -0400
committerEduardo Julian2015-03-01 23:39:58 -0400
commit4908fef51307348d8469d8e95885fa9a0d8eb821 (patch)
tree4b958d840e5f80e28bc8f9305cfd12ced971c57f /src/lux/analyser/host.clj
parentae5c933a5208c51fe30d0b9dc976690ee8bc138a (diff)
Simplified the compiler by using arrays to encode tuples & variants instead of using custom classes for that.
Diffstat (limited to 'src/lux/analyser/host.clj')
-rw-r--r--src/lux/analyser/host.clj16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lux/analyser/host.clj b/src/lux/analyser/host.clj
index ddc91d2b9..aa7812421 100644
--- a/src/lux/analyser/host.clj
+++ b/src/lux/analyser/host.clj
@@ -57,9 +57,10 @@
(defn analyse-jvm-getstatic [analyse ?class ?field]
(exec [=class (&host/full-class-name ?class)
- :let [_ (prn 'analyse-jvm-getstatic/=class =class)]
+ ;; :let [_ (prn 'analyse-jvm-getstatic/=class =class)]
=type (&host/lookup-static-field =class ?field)
- :let [_ (prn 'analyse-jvm-getstatic/=type =type)]]
+ ;; :let [_ (prn 'analyse-jvm-getstatic/=type =type)]
+ ]
(return (list [::&&/Expression [::&&/jvm-getstatic =class ?field] =type]))))
(defn analyse-jvm-getfield [analyse ?class ?field ?object]
@@ -77,15 +78,16 @@
(defn analyse-jvm-invokevirtual [analyse ?class ?method ?classes ?object ?args]
(exec [=class (&host/full-class-name ?class)
- :let [_ (prn 'analyse-jvm-invokevirtual/=class =class)]
+ ;; :let [_ (prn 'analyse-jvm-invokevirtual/=class =class)]
=classes (map-m &host/extract-jvm-param ?classes)
- :let [_ (prn 'analyse-jvm-invokevirtual/=classes =classes)]
+ ;; :let [_ (prn 'analyse-jvm-invokevirtual/=classes =classes)]
[=method-args =return] (&host/lookup-virtual-method =class ?method =classes)
- :let [_ (prn 'analyse-jvm-invokevirtual/=return =return)]
+ ;; :let [_ (prn 'analyse-jvm-invokevirtual/=return =return)]
=object (&&/analyse-1 analyse ?object)
- :let [_ (prn 'analyse-jvm-invokevirtual/=object =object)]
+ ;; :let [_ (prn 'analyse-jvm-invokevirtual/=object =object)]
=args (mapcat-m analyse ?args)
- :let [_ (prn 'analyse-jvm-invokevirtual/=args =args)]]
+ ;; :let [_ (prn 'analyse-jvm-invokevirtual/=args =args)]
+ ]
(return (list [::&&/Expression [::&&/jvm-invokevirtual =class ?method =classes =object =args] =return]))))
(defn analyse-jvm-new [analyse ?class ?classes ?args]