type

ExprPrinter

mixin ExprPrinter : CodePrinter

CodePrinter routing for Expr nodes

methods

andExpr
asExpr
assignExpr
binaryExpr

Write binary expression with optional grouping parens

binaryOperator

Return operator if given method qname maps to binary operator or null

callExpr

Call expression handling

callMethodExpr

Normal call method

closureExpr
coerceExpr
compareExpr
compareNotNullExpr
compareNullExpr
condExpr

Write list of cond with operator with optional grouping parens

cparen

Close paren only if not top expr

ctorExpr

Constructor call expression

decimalLiteral
doExpr
durationLiteral
elvisExpr
expr
falseLiteral
fieldExpr
floatLiteral
intLiteral
isExpr
isTopExpr

Top expr - if false might need to wrap some exprs in parens

isnotExpr
itExpr
listLiteral
localExpr
mapLiteral
notExpr
notSameExpr
nullLiteral
oparen

Open paren only if not top expr

orExpr
postfixLeaveExpr

Handle postfix ++ or --

rangeLiteral
safeCallExpr

Null safe call expression handling

sameExpr
shortcutAssignExpr

Handle special assign+math operators: += -= *= /=

shortcutExpr

Shortcut special handling for comparison, otherwise route to callExpr

slotLiteral
staticTargetExpr
strLiteral
superExpr
ternaryExpr
thisExpr
throwExpr
trapExpr

Trap call expression handling

trueLiteral
typeLiteral
unaryExpr

Write unary expression with optional grouping parens

unaryOperator

Return operator if given method qname maps to unary operator or null

uriLiteral

Slot Details

andExpr

abstract This andExpr(CondExpr x)

asExpr

abstract This asExpr(TypeCheckExpr x)

assignExpr

abstract This assignExpr(BinaryExpr x)

binaryExpr

virtual This binaryExpr(Expr lhs, Str op, Expr rhs)

Write binary expression with optional grouping parens

binaryOperator

virtual Str? binaryOperator(Str qname)

Return operator if given method qname maps to binary operator or null

callExpr

virtual This callExpr(CallExpr x)

Call expression handling

callMethodExpr

abstract This callMethodExpr(CallExpr x)

Normal call method

closureExpr

abstract This closureExpr(ClosureExpr x)

coerceExpr

abstract This coerceExpr(TypeCheckExpr x)

compareExpr

abstract This compareExpr(Expr lhs, Token op, Expr rhs)

compareNotNullExpr

abstract This compareNotNullExpr(UnaryExpr x)

compareNullExpr

abstract This compareNullExpr(UnaryExpr x)

condExpr

virtual This condExpr(Str op, Expr[] operands)

Write list of cond with operator with optional grouping parens

cparen

This cparen()

Close paren only if not top expr

ctorExpr

abstract This ctorExpr(CallExpr x)

Constructor call expression

decimalLiteral

abstract This decimalLiteral(LiteralExpr x)

doExpr

virtual This doExpr(Expr x)

durationLiteral

abstract This durationLiteral(LiteralExpr x)

elvisExpr

abstract This elvisExpr(BinaryExpr x)

expr

virtual This expr(Expr x)

falseLiteral

abstract This falseLiteral(LiteralExpr x)

fieldExpr

abstract This fieldExpr(FieldExpr x)

floatLiteral

abstract This floatLiteral(LiteralExpr x)

intLiteral

abstract This intLiteral(LiteralExpr x)

isExpr

abstract This isExpr(TypeCheckExpr x)

isTopExpr

Bool isTopExpr()

Top expr - if false might need to wrap some exprs in parens

isnotExpr

abstract This isnotExpr(TypeCheckExpr x)

itExpr

abstract This itExpr(LocalVarExpr x)

listLiteral

abstract This listLiteral(ListLiteralExpr x)

localExpr

abstract This localExpr(LocalVarExpr x)

mapLiteral

abstract This mapLiteral(MapLiteralExpr x)

notExpr

abstract This notExpr(UnaryExpr x)

notSameExpr

abstract This notSameExpr(BinaryExpr x)

nullLiteral

abstract This nullLiteral(LiteralExpr x)

oparen

This oparen()

Open paren only if not top expr

orExpr

abstract This orExpr(CondExpr x)

postfixLeaveExpr

abstract This postfixLeaveExpr(ShortcutExpr x)

Handle postfix ++ or --

rangeLiteral

abstract This rangeLiteral(RangeLiteralExpr x)

safeCallExpr

abstract This safeCallExpr(CallExpr x)

Null safe call expression handling

sameExpr

abstract This sameExpr(BinaryExpr x)

shortcutAssignExpr

abstract This shortcutAssignExpr(ShortcutExpr x)

Handle special assign+math operators: += -= *= /=

shortcutExpr

virtual This shortcutExpr(ShortcutExpr x)

Shortcut special handling for comparison, otherwise route to callExpr

slotLiteral

abstract This slotLiteral(SlotLiteralExpr x)

staticTargetExpr

abstract This staticTargetExpr(StaticTargetExpr x)

strLiteral

abstract This strLiteral(LiteralExpr x)

superExpr

abstract This superExpr(LocalVarExpr x)

ternaryExpr

abstract This ternaryExpr(TernaryExpr x)

thisExpr

abstract This thisExpr(LocalVarExpr x)

throwExpr

abstract This throwExpr(ThrowExpr x)

trapExpr

abstract This trapExpr(CallExpr x)

Trap call expression handling

trueLiteral

abstract This trueLiteral(LiteralExpr x)

typeLiteral

abstract This typeLiteral(LiteralExpr x)

unaryExpr

virtual This unaryExpr(Str op, Expr operand)

Write unary expression with optional grouping parens

unaryOperator

virtual Str? unaryOperator(Str qname)

Return operator if given method qname maps to unary operator or null

uriLiteral

abstract This uriLiteral(LiteralExpr x)