class Evaluator extends EvalScope
Recursively walks the Expr trees to convert them into into Val objects that can be materialized to JSON.
Performs import resolution and parsing on-demand when the relevant nodes
in the syntax tree are reached, and caches the evaluated result of each
imported module to be re-used. Parsing is cached separatedly by an external
parseCache
.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Evaluator
- EvalScope
- EvalErrorScope
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val cachedImportedStrings: Map[Path, String]
- val cachedImports: Map[Path, Val]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
val
emptyMaterializeFileScope: FileScope
- Definition Classes
- EvalScope
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit def evalScope: EvalScope
-
val
extVars: Map[String, Value]
- Definition Classes
- Evaluator → EvalErrorScope
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
loadCachedSource(p: Path): Option[String]
- Definition Classes
- Evaluator → EvalErrorScope
- val loadedFileContents: Map[Path, String]
- def materialize(v: Val): Value
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def resolveImport(value: String, offset: Int)(implicit scope: ValScope, fileScope: FileScope): (Path, String)
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def visitAssert(offset: Int, value: Expr, msg: Option[Expr], returned: Expr)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitBinaryOp(offset: Int, lhs: Expr, op: Op, rhs: Expr)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitBindings(bindings: Iterator[Bind], scope: (Option[Obj], Option[Obj]) ⇒ ValScope)(implicit fileScope: FileScope): Iterator[(Int, (Option[Obj], Option[Obj]) ⇒ Lazy)]
- def visitComp(f: List[CompSpec], scopes: Seq[ValScope])(implicit fileScope: FileScope): Seq[ValScope]
- def visitError(offset: Int, value: Expr)(implicit scope: ValScope, fileScope: FileScope): Nothing
- def visitExpr(expr: Expr)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitFieldName(fieldName: FieldName, offset: Int)(implicit scope: ValScope, fileScope: FileScope): Option[String]
- def visitId(offset: Int, value: Int)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitIfElse(offset: Int, cond: Expr, then: Expr, else0: Option[Expr])(implicit scope: ValScope, fileScope: FileScope): Val
- def visitImport(offset: Int, value: String)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitImportStr(offset: Int, value: String)(implicit scope: ValScope, fileScope: FileScope): Str
- def visitLookup(offset: Int, value: Expr, index: Expr)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitMethod(rhs: Expr, params: Params, outerOffset: Int)(implicit scope: ValScope, fileScope: FileScope): Func
- def visitObjBody(b: ObjBody)(implicit scope: ValScope, fileScope: FileScope): Obj
- def visitSelect(offset: Int, value: Expr, name: String)(implicit scope: ValScope, fileScope: FileScope): Val
- def visitUnaryOp(op: Op, value: Expr)(implicit scope: ValScope, fileScope: FileScope): Val
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
val
wd: Path
- Definition Classes
- Evaluator → EvalErrorScope