Fan

 

class

compiler::TypeCheckExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::TypeCheckExpr

TypeCheckExpr is an expression which is composed of an arbitrary expression and a type - is, as, coerce

Slots

checkSource

CType check

coerceSource

new coerce(Expr target, CType to)

fromSource

CType? from

From type if coerce

isStmtSource

override Bool isStmt()

Overrides compiler::Expr.isStmt

Doc inherited from compiler::Expr.isStmt

Does this expression make up a complete statement. If you override this to true, then you must make sure the expr is popped in CodeAsm.

makeSource

new make(Location location, ExprId id, Expr target, CType check)

opStrSource

Str opStr()

serializeSource

override Str serialize()

Overrides compiler::Expr.serialize

Doc inherited from compiler::Expr.serialize

Return this expression as serialization text or throw exception if not serializable.

syntheticSource

Bool synthetic := false

targetSource

Expr target

toStrSource

override Str toStr()

Overrides compiler::Expr.toStr

Doc inherited from sys::Obj.toStr

Return a string representation of this object.

walkChildrenSource

override Void walkChildren(Visitor v)

Overrides compiler::Expr.walkChildren