Ich folge this series um zu erfahren, wie clojure Compiler funktioniert.Wie StaticMethodExpr.eval aufgerufen wird?
Ich versuchte eval
Methode von StaticMethodExpr
mit folgenden Codes
(ns clojure.lang
(:use clojure.core)
(:import [clojure.lang Compiler Compiler$C]))
(def form (read-string "(+ 1 1)"))
(def expr (Compiler/analyze Compiler$C/EXPRESSION form))
(.eval expr)
aber kein Glück und IllegalArgumentException
werfen aufzurufen:
Unhandled java.lang.IllegalArgumentException
Can't call public method of non-public class: public
java.lang.Object clojure.lang.Compiler$StaticMethodExpr.eval()
Gibt es etwas, oder diese a bug in jdk ist?