CompiledExpr

final case class CompiledExpr(callback: Any => Either[Throwable, Any], retType: Type, evalType: Type, promoteToType: Option[Type]) extends Expr

Compile Expression to reuse functionality implemented in JVM

The callback has a signature: Any => Either[Throwable, Any], inside of the callback there should be a pattern match and depending on the interpreter, Any is interpreted in a particular way, e.g. for InterpretVisitor: it is (InterpretState) => Either[Throwable, InterpretState]

Companion:
object
trait Serializable
trait Product
trait Equals
class Expr
class Stat
class AST
class Object
trait Matchable
class Any

Value members

Concrete methods

override def visit[S, R](s: S, v: TreeVisitor[S, R]): Either[Throwable, R]
Definition Classes
override def withPromoteToType(t: Option[Type]): CompiledExpr
Definition Classes

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product