pub struct Gs2Emitter { /* private fields */ }
Expand description
An emitter for the AST.
This emitter now builds up and returns a String
for every AST node rather
than writing to a shared output buffer.
Implementations§
Source§impl Gs2Emitter
impl Gs2Emitter
Sourcepub fn new(context: EmitContext) -> Self
pub fn new(context: EmitContext) -> Self
Creates a new Gs2Emitter
with the given context
.
Trait Implementations§
Source§impl AstVisitor for Gs2Emitter
impl AstVisitor for Gs2Emitter
Source§fn visit_node(&mut self, node: &AstKind) -> AstOutput
fn visit_node(&mut self, node: &AstKind) -> AstOutput
Visits an AST node.
Source§fn visit_statement(&mut self, node: &StatementKind) -> AstOutput
fn visit_statement(&mut self, node: &StatementKind) -> AstOutput
Visits a statement node.
Source§fn visit_assignment(&mut self, stmt_node: &P<AssignmentNode>) -> AstOutput
fn visit_assignment(&mut self, stmt_node: &P<AssignmentNode>) -> AstOutput
Visits an assignment node.
Source§fn visit_virtual_branch(&mut self, node: &P<VirtualBranchNode>) -> Self::Output
fn visit_virtual_branch(&mut self, node: &P<VirtualBranchNode>) -> Self::Output
Visits a virtual branch node.
Source§fn visit_expr(&mut self, node: &ExprKind) -> AstOutput
fn visit_expr(&mut self, node: &ExprKind) -> AstOutput
Visits an expression node.
Source§fn visit_array(&mut self, node: &ArrayKind) -> AstOutput
fn visit_array(&mut self, node: &ArrayKind) -> AstOutput
Visits an array node.
Source§fn visit_phi_array(&mut self, node: &P<PhiArrayNode>) -> AstOutput
fn visit_phi_array(&mut self, node: &P<PhiArrayNode>) -> AstOutput
Visits a phi array node.
Source§fn visit_array_access(&mut self, node: &P<ArrayAccessNode>) -> AstOutput
fn visit_array_access(&mut self, node: &P<ArrayAccessNode>) -> AstOutput
Visits an array access node.
Source§fn visit_bin_op(&mut self, node: &P<BinaryOperationNode>) -> AstOutput
fn visit_bin_op(&mut self, node: &P<BinaryOperationNode>) -> AstOutput
Visits a binary operation node.
Source§fn visit_unary_op(&mut self, node: &P<UnaryOperationNode>) -> AstOutput
fn visit_unary_op(&mut self, node: &P<UnaryOperationNode>) -> AstOutput
Visits a unary operation node.
Source§fn visit_identifier(&mut self, node: &P<IdentifierNode>) -> AstOutput
fn visit_identifier(&mut self, node: &P<IdentifierNode>) -> AstOutput
Visits an identifier node.
Source§fn visit_literal(&mut self, node: &P<LiteralNode>) -> AstOutput
fn visit_literal(&mut self, node: &P<LiteralNode>) -> AstOutput
Visits a literal node.
Source§fn visit_member_access(&mut self, node: &P<MemberAccessNode>) -> AstOutput
fn visit_member_access(&mut self, node: &P<MemberAccessNode>) -> AstOutput
Visits a member access node.
Source§fn visit_function_call(&mut self, node: &P<FunctionCallNode>) -> AstOutput
fn visit_function_call(&mut self, node: &P<FunctionCallNode>) -> AstOutput
Visits a function call node.
Source§fn visit_function(&mut self, node: &P<FunctionNode>) -> AstOutput
fn visit_function(&mut self, node: &P<FunctionNode>) -> AstOutput
Visits a function node.
Source§fn visit_return(&mut self, node: &P<ReturnNode>) -> AstOutput
fn visit_return(&mut self, node: &P<ReturnNode>) -> AstOutput
Visits a return node.
Source§fn visit_control_flow(&mut self, node: &P<ControlFlowNode>) -> AstOutput
fn visit_control_flow(&mut self, node: &P<ControlFlowNode>) -> AstOutput
Visits a control flow node.
Source§fn visit_new_array(&mut self, node: &P<NewArrayNode>) -> AstOutput
fn visit_new_array(&mut self, node: &P<NewArrayNode>) -> AstOutput
Visits a new array node
Auto Trait Implementations§
impl Freeze for Gs2Emitter
impl RefUnwindSafe for Gs2Emitter
impl Send for Gs2Emitter
impl Sync for Gs2Emitter
impl Unpin for Gs2Emitter
impl UnwindSafe for Gs2Emitter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more