mixin fanc::ExprPrinter

fanc::ExprPrinter : fanc::CodePrinter

Source

CodePrinter routing for Expr nodes

andExpr

abstract This andExpr(CondExpr x)

Source

asExpr

abstract This asExpr(TypeCheckExpr x)

Source

assignExpr

abstract This assignExpr(BinaryExpr x)

Source

binaryExpr

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

Source

Write binary expression with optional grouping parens

binaryOperator

virtual Str? binaryOperator(Str qname)

Source

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

callExpr

virtual This callExpr(CallExpr x)

Source

Call expression handling

callMethodExpr

abstract This callMethodExpr(CallExpr x)

Source

Normal call method

closureExpr

abstract This closureExpr(ClosureExpr x)

Source

coerceExpr

abstract This coerceExpr(TypeCheckExpr x)

Source

compareExpr

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

Source

compareNotNullExpr

abstract This compareNotNullExpr(UnaryExpr x)

Source

compareNullExpr

abstract This compareNullExpr(UnaryExpr x)

Source

condExpr

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

Source

Write list of cond with operator with optional grouping parens

cparen

This cparen()

Source

Close paren only if not top expr

ctorExpr

abstract This ctorExpr(CallExpr x)

Source

Constructor call expression

decimalLiteral

abstract This decimalLiteral(LiteralExpr x)

Source

doExpr

virtual This doExpr(Expr x)

Source

durationLiteral

abstract This durationLiteral(LiteralExpr x)

Source

elvisExpr

abstract This elvisExpr(BinaryExpr x)

Source

expr

virtual This expr(Expr x)

Source

falseLiteral

abstract This falseLiteral(LiteralExpr x)

Source

fieldExpr

abstract This fieldExpr(FieldExpr x)

Source

floatLiteral

abstract This floatLiteral(LiteralExpr x)

Source

intLiteral

abstract This intLiteral(LiteralExpr x)

Source

isExpr

abstract This isExpr(TypeCheckExpr x)

Source

isTopExpr

Bool isTopExpr()

Source

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

isnotExpr

abstract This isnotExpr(TypeCheckExpr x)

Source

itExpr

abstract This itExpr(LocalVarExpr x)

Source

listLiteral

abstract This listLiteral(ListLiteralExpr x)

Source

localExpr

abstract This localExpr(LocalVarExpr x)

Source

mapLiteral

abstract This mapLiteral(MapLiteralExpr x)

Source

notExpr

abstract This notExpr(UnaryExpr x)

Source

notSameExpr

abstract This notSameExpr(BinaryExpr x)

Source

nullLiteral

abstract This nullLiteral(LiteralExpr x)

Source

oparen

This oparen()

Source

Open paren only if not top expr

orExpr

abstract This orExpr(CondExpr x)

Source

postfixLeaveExpr

abstract This postfixLeaveExpr(ShortcutExpr x)

Source

Handle postfix ++ or --

rangeLiteral

abstract This rangeLiteral(RangeLiteralExpr x)

Source

safeCallExpr

abstract This safeCallExpr(CallExpr x)

Source

Null safe call expression handling

sameExpr

abstract This sameExpr(BinaryExpr x)

Source

shortcutAssignExpr

abstract This shortcutAssignExpr(ShortcutExpr x)

Source

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

shortcutExpr

virtual This shortcutExpr(ShortcutExpr x)

Source

Shortcut special handling for comparison, otherwise route to callExpr

slotLiteral

abstract This slotLiteral(SlotLiteralExpr x)

Source

staticTargetExpr

abstract This staticTargetExpr(StaticTargetExpr x)

Source

strLiteral

abstract This strLiteral(LiteralExpr x)

Source

superExpr

abstract This superExpr(LocalVarExpr x)

Source

ternaryExpr

abstract This ternaryExpr(TernaryExpr x)

Source

thisExpr

abstract This thisExpr(LocalVarExpr x)

Source

throwExpr

abstract This throwExpr(ThrowExpr x)

Source

trapExpr

abstract This trapExpr(CallExpr x)

Source

Trap call expression handling

trueLiteral

abstract This trueLiteral(LiteralExpr x)

Source

typeLiteral

abstract This typeLiteral(LiteralExpr x)

Source

unaryExpr

virtual This unaryExpr(Str op, Expr operand)

Source

Write unary expression with optional grouping parens

unaryOperator

virtual Str? unaryOperator(Str qname)

Source

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

uriLiteral

abstract This uriLiteral(LiteralExpr x)

Source