sun::parsing::LoweringPass

sun::parsing::LoweringPass

class · Source (opens in a new tab)

class sun::parsing::LoweringPass

Rewrites higher-level syntax into the simpler forms used by later passes.

Public Functions

run

public · function · Source (opens in a new tab)

void sun::parsing::LoweringPass::run(sun::ast::BlockExprAST &program)

Lower the program in place (recursive, bottom-up).

Related: sun::ast::BlockExprAST

usedInterpolation

public · function · Source (opens in a new tab)

bool sun::parsing::LoweringPass::usedInterpolation() const

True if any string interpolation was desugared by this pass.

Private Functions

lowerSlot

private · function · Source (opens in a new tab)

void sun::parsing::LoweringPass::lowerSlot(std::unique_ptr< sun::ast::ExprAST > &slot)

Recurse into the slot's children, then rewrite the slot itself if it holds a node the core pipeline doesn't understand.

Related: sun::ast::ExprAST

Private Fields

usedInterpolation_

private · variable · Source (opens in a new tab)

bool sun::parsing::LoweringPass::usedInterpolation_ = false

No documentation comment.