Fan

 

class

compiler::BinaryExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::BinaryExpr

BinaryExpr is used for binary expressions with a left hand side and a right hand side including assignment. Note that many common binary operations are actually modeled as ShortcutExpr to enable method based operator overloading.

Slots

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.

lhsSource

Expr lhs

makeSource

new make(Expr lhs, Token opToken, Expr rhs)

makeAssignSource

new makeAssign(Expr lhs, Expr rhs, Bool leave := false)

opTokenSource

Token opToken

rhsSource

Expr rhs

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.

tempVarSource

MethodVar tempVar

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)