class compiler::ShortcutExpr
sys::Obj compiler::Node compiler::Expr compiler::NameExpr compiler::CallExpr compiler::ShortcutExpr
ShortcutExpr is used for operator expressions which are a shortcut to a method call:
a + b => a.plus(b) a - b => a.minus(b) a * b => a.mult(b) a / b => a.div(b) a % b => a.mod(b) a[b] => a.get(b) a[b] = c => a.set(b, c) -a => a.negate() ++a, a++ => a.increment() --a, a-- => a.decrement() a == b => a.equals(b) a != b => ! a.equals(b) a <=> => a.compare(b) a > b => a.compare(b) > 0 a >= b => a.compare(b) >= 0 a < b => a.compare(b) < 0 a <= b => a.compare(b) <= 0
- assignRequiresTempVar
-
virtual override Bool assignRequiresTempVar()
- assignTarget
-
virtual override Obj? assignTarget()
- isAssign
-
Bool isAssign()
- isAssignable
-
virtual override Bool isAssignable()
- isCompare
-
virtual override Bool isCompare()
- isPostfixLeave
-
Bool isPostfixLeave := false
- isStmt
-
virtual override Bool isStmt()
- isStrConcat
-
Bool isStrConcat()
- makeBinary
- makeFrom
-
new makeFrom(ShortcutExpr from)
- makeGet
- makeUnary
- op
-
ShortcutOp op
- opToken
-
Token opToken
- tempVar
-
MethodVar? tempVar
- toStr
-
virtual override Str toStr()