class

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)
Source

Instance methods

resolve(statements : Expression::Base | Statement::Base | Array(Statement::Base)) : Nil
Source
start_time
Source
visit_access_expr(expr : Expression::Access) : Nil
Source
visit_binary_op_expr(expr : Expression::BinaryOp) : Nil
Source
visit_block_stmt(stmt : Statement::Block) : Nil
Source
visit_break_stmt(stmt : Statement::Break) : Nil
Source
visit_case_stmt(stmt : Statement::Case) : Nil
Source
visit_cast_expr(expr : Expression::Cast) : Nil
Source
visit_class_def_stmt(stmt : Statement::ClassDef) : Nil

abstract def visit_enum_def_stmt(stmt : EnumDef) : R

Source
visit_compound_assignment_expr(expr : Expression::CompoundAssignment) : Nil
Source
visit_every_stmt(stmt : Statement::Every) : Nil
Source
visit_fn_call_expr(expr : Expression::FunctionCall) : Nil
Source
visit_fn_def_stmt(stmt : Statement::FunctionDef) : Nil
Source
visit_if_stmt(stmt : Statement::If) : Nil
Source
visit_index_expr(expr : Expression::Index) : Nil
Source
visit_is_expr(expr : Expression::Is) : Nil
Source
visit_is_in_expr(expr : Expression::IsIn) : Nil
Source
visit_lambda_expr(expr : Expression::Lambda) : Nil
Source
visit_literal_expr(expr : Expression::Literal) : Nil
Source
visit_multiple_assignment_expr(expr : Expression::MultipleAssignment) : Nil
Source
visit_multiple_declaration_expr(expr : Expression::MultipleDeclaration) : Nil
Source
visit_new_expr(expr : Expression::New) : Nil
Source
visit_next_stmt(stmt : Statement::Next) : Nil
Source
visit_property_assignment_expr(expr : Expression::PropertyAssignment) : Nil
Source
visit_range_literal_expr(expr : Expression::RangeLiteral) : Nil
Source
visit_return_stmt(stmt : Statement::Return) : Nil
Source
visit_single_expr_stmt(stmt : Statement::SingleExpression) : Nil
Source
visit_string_interpolation_expr(expr : Expression::StringInterpolation) : Nil
Source
visit_table_literal_expr(expr : Expression::TableLiteral) : Nil
Source
visit_ternary_op_expr(expr : Expression::TernaryOp) : Nil
Source
visit_this_expr(expr : Expression::This) : Nil
Source
visit_throw_stmt(stmt : Statement::Throw) : Nil
Source
visit_try_catch_stmt(stmt : Statement::TryCatch) : Nil
Source
visit_type_alias_expr(expr : Expression::TypeAlias) : Nil
Source
visit_type_ref_expr(expr : Expression::TypeRef) : Nil
Source
visit_unary_op_expr(expr : Expression::UnaryOp) : Nil
Source
visit_unless_stmt(stmt : Statement::Unless) : Nil
Source
visit_until_stmt(stmt : Statement::Until) : Nil
Source
visit_use_stmt(stmt : Statement::Use) : Nil
Source
visit_var_assignment_expr(expr : Expression::VarAssignment) : Nil
Source
visit_var_declaration_expr(expr : Expression::VarDeclaration) : Nil
Source
visit_var_expr(expr : Expression::Var) : Nil
Source
visit_vector_literal_expr(expr : Expression::VectorLiteral) : Nil
Source
visit_while_stmt(stmt : Statement::While) : Nil
Source

Nested types