mixin fanc::ExprPrinter
fanc::ExprPrinter : fanc::CodePrinter
CodePrinter routing for Expr nodes
- andExpr
- 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
- compareNotNullExpr
- compareNullExpr
- 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
- durationLiteral
-
abstract This durationLiteral(LiteralExpr x) - elvisExpr
-
abstract This elvisExpr(BinaryExpr x) - expr
- falseLiteral
-
abstract This falseLiteral(LiteralExpr x) - fieldExpr
- 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
- notSameExpr
-
abstract This notSameExpr(BinaryExpr x) - nullLiteral
-
abstract This nullLiteral(LiteralExpr x) - oparen
-
This oparen()Open paren only if not top expr
- orExpr
- 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
- 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)