diff options
author | Eduardo Julian | 2015-03-01 23:39:58 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-03-01 23:39:58 -0400 |
commit | 4908fef51307348d8469d8e95885fa9a0d8eb821 (patch) | |
tree | 4b958d840e5f80e28bc8f9305cfd12ced971c57f /src/lux/analyser/host.clj | |
parent | ae5c933a5208c51fe30d0b9dc976690ee8bc138a (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.clj | 16 |
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] |