Cosmo::Resolver
Inherits Cosmo::AST::Statement::Visitor / Cosmo::AST::Expression::Visitor / Reference / Object
This class is responsible for resolving declared/defined variables in the scope. I'm about 70% sure that it doesn't work as intended currently. lol
Constructors
new(interpreter : Interpreter)
SourceInstance methods
start_time
Sourcevisit_access_expr(expr : Expression::Access) : Nil
Sourcevisit_binary_op_expr(expr : Expression::BinaryOp) : Nil
Sourcevisit_block_stmt(stmt : Statement::Block) : Nil
Sourcevisit_break_stmt(stmt : Statement::Break) : Nil
Sourcevisit_case_stmt(stmt : Statement::Case) : Nil
Sourcevisit_cast_expr(expr : Expression::Cast) : Nil
Sourcevisit_class_def_stmt(stmt : Statement::ClassDef) : Nil
abstract def visit_enum_def_stmt(stmt : EnumDef) : R
visit_compound_assignment_expr(expr : Expression::CompoundAssignment) : Nil
Sourcevisit_every_stmt(stmt : Statement::Every) : Nil
Sourcevisit_fn_call_expr(expr : Expression::FunctionCall) : Nil
Sourcevisit_fn_def_stmt(stmt : Statement::FunctionDef) : Nil
Sourcevisit_if_stmt(stmt : Statement::If) : Nil
Sourcevisit_index_expr(expr : Expression::Index) : Nil
Sourcevisit_is_expr(expr : Expression::Is) : Nil
Sourcevisit_is_in_expr(expr : Expression::IsIn) : Nil
Sourcevisit_lambda_expr(expr : Expression::Lambda) : Nil
Sourcevisit_literal_expr(expr : Expression::Literal) : Nil
Sourcevisit_multiple_assignment_expr(expr : Expression::MultipleAssignment) : Nil
Sourcevisit_multiple_declaration_expr(expr : Expression::MultipleDeclaration) : Nil
Sourcevisit_new_expr(expr : Expression::New) : Nil
Sourcevisit_next_stmt(stmt : Statement::Next) : Nil
Sourcevisit_property_assignment_expr(expr : Expression::PropertyAssignment) : Nil
Sourcevisit_range_literal_expr(expr : Expression::RangeLiteral) : Nil
Sourcevisit_return_stmt(stmt : Statement::Return) : Nil
Sourcevisit_single_expr_stmt(stmt : Statement::SingleExpression) : Nil
Sourcevisit_string_interpolation_expr(expr : Expression::StringInterpolation) : Nil
Sourcevisit_table_literal_expr(expr : Expression::TableLiteral) : Nil
Sourcevisit_ternary_op_expr(expr : Expression::TernaryOp) : Nil
Sourcevisit_this_expr(expr : Expression::This) : Nil
Sourcevisit_throw_stmt(stmt : Statement::Throw) : Nil
Sourcevisit_try_catch_stmt(stmt : Statement::TryCatch) : Nil
Sourcevisit_type_alias_expr(expr : Expression::TypeAlias) : Nil
Sourcevisit_type_ref_expr(expr : Expression::TypeRef) : Nil
Sourcevisit_unary_op_expr(expr : Expression::UnaryOp) : Nil
Sourcevisit_unless_stmt(stmt : Statement::Unless) : Nil
Sourcevisit_until_stmt(stmt : Statement::Until) : Nil
Sourcevisit_use_stmt(stmt : Statement::Use) : Nil
Sourcevisit_var_assignment_expr(expr : Expression::VarAssignment) : Nil
Sourcevisit_var_declaration_expr(expr : Expression::VarDeclaration) : Nil
Sourcevisit_var_expr(expr : Expression::Var) : Nil
Sourcevisit_vector_literal_expr(expr : Expression::VectorLiteral) : Nil
Sourcevisit_while_stmt(stmt : Statement::While) : Nil
Source