Cosmo::Interpreter
Inherits Cosmo::AST::Statement::Visitor / Cosmo::AST::Expression::Visitor / Reference / Object
Constructors
Instance methods
add_object_value(token : Token, object : V, key : ValueType, value : ValueType) : V forall V
Sourcecall_meta_method(instance : ClassInstance, operand : ValueType, name : String, op_lexeme : String, op_token : Token, return_type_override : String | Nil = nil) : ValueType
Sourcedeclare_intrinsic(type : String, ident : String, value : ValueType, visibility = Visibility::Public) : Nil
Sourceevaluate(expr : Expression::Base) : ValueType
Sourceexecute(stmt : Statement::Base) : ValueType
Sourcefile_path
Sourceglobals
Sourcemeta
Sourcescope
Sourcestart_recursion(token : Token)
Sourcevisit_access_expr(expr : Expression::Access) : ValueType
Sourcevisit_binary_op_expr(expr : Expression::BinaryOp) : ValueType
Sourcevisit_block_stmt(stmt : Statement::Block) : ValueType
Sourcevisit_break_stmt(stmt : Statement::Break) : Nil
Sourcevisit_case_stmt(stmt : Statement::Case) : ValueType
Sourcevisit_cast_expr(expr : Expression::Cast) : ValueType
Sourcevisit_class_def_stmt(stmt : Statement::ClassDef) : ValueType
abstract def visit_enum_def_stmt(stmt : EnumDef) : R
visit_compound_assignment_expr(expr : Expression::CompoundAssignment) : ValueType
Sourcevisit_every_stmt(stmt : Statement::Every) : Nil
Sourcevisit_fn_call_expr(expr : Expression::FunctionCall) : ValueType
Sourcevisit_fn_def_stmt(stmt : Statement::FunctionDef) : ValueType
Sourcevisit_if_stmt(stmt : Statement::If) : ValueType
Sourcevisit_index_expr(expr : Expression::Index) : ValueType
Sourcevisit_lambda_expr(expr : Expression::Lambda) : ValueType
Sourcevisit_literal_expr(expr : Expression::Literal) : ValueType
Sourcevisit_new_expr(expr : Expression::New) : ClassInstance
Sourcevisit_next_stmt(stmt : Statement::Next) : Nil
Sourcevisit_property_assignment_expr(expr : Expression::PropertyAssignment) : ValueType
Sourcevisit_range_literal_expr(expr : Expression::RangeLiteral) : RangeType
Sourcevisit_return_stmt(stmt : Statement::Return) : Nil
Sourcevisit_single_expr_stmt(stmt : Statement::SingleExpression) : ValueType
Sourcevisit_string_interpolation_expr(expr : Expression::StringInterpolation) : ValueType
Sourcevisit_ternary_op_expr(expr : Expression::TernaryOp) : ValueType
Sourcevisit_this_expr(expr : Expression::This) : ClassInstance
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) : Type
Sourcevisit_unary_op_expr(expr : Expression::UnaryOp) : ValueType
Sourcevisit_unless_stmt(stmt : Statement::Unless) : ValueType
Sourcevisit_until_stmt(stmt : Statement::Until) : Nil
Sourcevisit_use_stmt(stmt : Statement::Use) : Nil
Sourcevisit_var_assignment_expr(expr : Expression::VarAssignment) : ValueType
Sourcevisit_var_declaration_expr(expr : Expression::VarDeclaration) : ValueType
Sourcevisit_var_expr(expr : Expression::Var) : ValueType
Sourcevisit_while_stmt(stmt : Statement::While) : Nil
Sourcewithin_fn
Source