Class: Carbon::Compiler::Visitor::Generation

Inherits:
Object
  • Object
show all
Includes:
Base, Asserts, Expressions, Function, Statements, Struct
Defined in:
lib/carbon/compiler/visitor/generation.rb,
lib/carbon/compiler/visitor/generation/class.rb,
lib/carbon/compiler/visitor/generation/struct.rb,
lib/carbon/compiler/visitor/generation/asserts.rb,
lib/carbon/compiler/visitor/generation/context.rb,
lib/carbon/compiler/visitor/generation/function.rb,
lib/carbon/compiler/visitor/generation/statements.rb,
lib/carbon/compiler/visitor/generation/expressions.rb,
lib/carbon/compiler/visitor/generation/expressions/calls.rb,
lib/carbon/compiler/visitor/generation/expressions/assignment.rb

Defined Under Namespace

Modules: Asserts, Class, Expressions, Function, Statements, Struct Classes: Context

Instance Method Summary collapse

Methods included from Struct

#visit_struct

Methods included from Statements

#visit_statement_else, #visit_statement_elsif, #visit_statement_for, #visit_statement_if, #visit_statement_let, #visit_statement_return, #visit_statement_while

Methods included from Function

#visit_function, #visit_function_body

Methods included from Expressions

#visit_expression_literal, #visit_expression_operation_and, #visit_expression_operation_neq, #visit_expression_operation_normal, #visit_expression_operation_or, #visit_name

Methods included from Expressions::Calls

#visit_expression_call_access, #visit_expression_call_attribute, #visit_expression_call_enum, #visit_expression_call_module, #visit_expression_call_self, #visit_expression_call_unified

Methods included from Expressions::Assignment

#visit_expression_assignment

Methods included from Asserts

#assert_nolocal, #assert_type_boolean, #assert_type_equal, #assert_type_void

Methods included from Base

included

Constructor Details

#initialize(file, index) ⇒ Generation



24
25
26
27
28
# File 'lib/carbon/compiler/visitor/generation.rb', line 24

def initialize(file, index)
  @index = index
  @file = file
  @name = @file.module
end

Instance Method Details

#call(node) ⇒ Object



30
31
32
# File 'lib/carbon/compiler/visitor/generation.rb', line 30

def call(node)
  accept(node)
end

#visit_directive(node) ⇒ Object



40
41
# File 'lib/carbon/compiler/visitor/generation.rb', line 40

def visit_directive(node)
end

#visit_root(node) ⇒ Object



35
36
37
# File 'lib/carbon/compiler/visitor/generation.rb', line 35

def visit_root(node)
  node.each { |c| accept(c) }
end