abstract class CrShader::BaseVisitor

Direct Known Subclasses

Defined in:

crshader/transpiler/base.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(io : IO, target : ShaderTarget, symbol_table : SymbolTable) #

Instance Method Detail

def current_function_name : String | Nil #

def current_function_name=(current_function_name : String | Nil) #

def current_return_type : String | Nil #

def current_return_type=(current_return_type : String | Nil) #

def emit_block_body(node : Crystal::ASTNode, is_function_body : Bool = false) #

def emit_indent #

def in_expression : Bool #

def in_expression=(in_expression : Bool) #

def in_function_return : Bool #

def in_function_return=(in_function_return : Bool) #

def in_processor_function : Bool #

def in_processor_function=(in_processor_function : Bool) #

def indent(&) #

def indent_level : Int32 #

def indent_level=(indent_level : Int32) #

def io : IO #

def io=(io : IO) #

def symbol_table : SymbolTable #

def symbol_table=(symbol_table : SymbolTable) #

def target : ShaderTarget #

def target=(target : ShaderTarget) #

def visit(node : Crystal::Expressions) #

def visit(node : Crystal::Assign) #

def visit(node : Crystal::OpAssign) #

def visit(node : Crystal::TypeDeclaration) #

def visit(node : Crystal::If) #

def visit(node : Crystal::ArrayLiteral) #

def visit(node : Crystal::Case) #

def visit(node : Crystal::Unless) #

def visit(node : Crystal::While) #

def visit(node : Crystal::Until) #

def visit(node : Crystal::Return) #

def visit(node : Crystal::Break) #

def visit(node : Crystal::Next) #

def visit(node : Crystal::And) #

def visit(node : Crystal::Or) #

def visit(node : Crystal::Not) #

def visit(node : Crystal::Var) #

def visit(node : Crystal::Path) #

def visit(node : Crystal::NumberLiteral) #

def visit(node : Crystal::BoolLiteral) #

def visit(node : Crystal::StringLiteral) #

def visit(node : Crystal::RangeLiteral) #

def visit(node : Crystal::Call) #

def visit(node : Crystal::ASTNode) #